ComboBox
-
Lord_Senna schrieb:
und wo kann ich das nachlesen??
ich hab erst gerade mit MFC angefangen...Am besten ist, du lässt den Assistenten das machen und guckst dann, was der gemacht hat. Danach guckst du in der MSDN, was die Befehle machen. Das ist der einfachste Weg.

Wenn du das in der MSDN raussuchen willst, noch dazu, wenn du gerade erst anfängst... da verzweifeln Leute dran, die sich schon jahrelang mit der MFC rumschlagen.
kann ich nicht einfach mit mesagemap bestimmen, welches item ausgewählt wurde??
mfg
L0rD_S3nn4Nein, mit der MessageMap geht das nicht. In der Messagemap hast du nur das Ereignis "es wurde was anderes gewählt" - in der Funktion dazu kannst du mit GetCurSel gucken, welcher Eintrag gewählt wurde.
-
beim nachlesen meinte ich eigentlich, das casten...
mfg
L0rD_s3nn4
-
Das ist in C++ Büchern oft erklärt, ich hab mal bei Google geguckt:
http://www.cl.uni-heidelberg.de/kurs/ws02/prog2/html/page012.html
Aber so mal eben ist da irgendwie nichts schönes zu finden.
Im Prinzip ist das eine Typumwandlung.
In deinem Fall würde die (einfachste aber nicht fehlersicherste Version) so aussehen:CComboBox* pCbx = (CComboBox*)GetDlgItem(IDC_iregndwas);Es gibt dann noch dynamic_cast, static_cast usw, aber die solltest du wirklich besser nachlesen. Wenn du magst, gucke ich mal, in welchem Buch die schöne Erklärung war.

-
danke...

wenn du mir ein gutes buch empfehlen kanst (wenn möglich auf deutsch) wäre das eine grose hilfe..

mfg
L0rD_s3nn4EDIT
habs gefunden: http://www.willemer.de/informatik/windows/mfccombo.htmich frage mich jetzt nur noch, warum man das in der .rc nicht definieren muss???
/EDIT
-
OOP mit C++ | ISBN: 3898423328S.483 ff
Das ist die beste Erklärung, die ich kenne.
Das Buch ist ein super Nachschlagewerk.
Ansonsten kommt es immer darauf an, was du lernen willst. Je nach Thema ist oft ein anderes Buch besser.
Ich habe nach und nach immer wieder bei Angeboten zugeschlagen, und jedes Buch hat andere Glanzseiten.
-
danke...

mfg
L0rD_S3nn4
-
Lord_Senna schrieb:
EDIT
habs gefunden: http://www.willemer.de/informatik/windows/mfccombo.htmich frage mich jetzt nur noch, warum man das in der .rc nicht definieren muss???
/EDITDeswegen:
if (!m_StatusBox.Create(WS_CHILD|CBS_DROPDOWNLIST|WS_VISIBLE |CBS_AUTOHSCROLL|WS_VSCROLL|CBS_HASSTRINGS, rect, this, IDC_STATUSBOX)) return false;PS: Nette Seite hast du da gefunden.

-
estartu schrieb:
Naja, aus deiner Frage ging nicht hervor, was du haben willst.
GetDlgItem gibt dir einen Zeiger auf die ComboBox, aber als CWnd. Den musst du noch in CComboBox casten und dann kannst du z.B. AddString oder GetCurSel aufrufen.Ich habe an dieser Stelle genau das gleiche Problem. Ich bräuchte einen Zeiger auf meine ComboBox. Ich weiß jetzt aber nicht genau, wie der zu übergebende zweite Parameter HWND *phWnd der Funktion GetDlgItem() aussehen muß.
Könntest Du mir vielleicht ein Beispiel zeigen.Danke, ein schon ziemlich ComboBox-geschädigter Verzweifelter yul97.
-
Ich habe an dieser Stelle genau das gleiche Problem. Ich bräuchte einen Zeiger auf meine ComboBox. Ich weiß jetzt aber nicht genau, wie der zu übergebende zweite Parameter HWND *phWnd der Funktion GetDlgItem() aussehen muß.
Könntest Du mir vielleicht ein Beispiel zeigen.Danke, ein schon ziemlich ComboBox-geschädigter Verzweifelter yul97.
-
Wenn du in einem Dialog bist, hat GetDlgItem nur einen Parameter, nämlich die ID.