ID zur Laufzeit erzeugter Steuerelemente
-
Wenn ich mit dem Dialogeditor einen Dialog erstelle und einige Steuerelemente darauf setze, dann bekommen diese eine nette ID, über die man auf sie zugreifen kann. Wenn ich sie Steuerelmente aber erst zur Laufzeit mit CreateWindow(...) anlege, dann bekommen sie wohl keine ID? Jedenfalls liefert GetDlgCtrlID(...) den Wert 0 zurück. Gibt es überhaupt eine Möglichkeit eine ID festzulegen? Oder muss ich die Steuerelemente alle mit dem Dialogeditor anlegen und bei Bedarf sichtbar machen.
Gruß Flo
-
Die ID musst du bei hMenu angeben (nach HMENU gecastet)
-
Wenn du sie zur Laufzeit anlegst bekommst du doch ein HWND von CreateWindow().
Für welche Funktion brauchst du den die ID?
-
@flenders: Danke werde ich mal testen.
@newbie: Ein Handle bekommen nützt mir nichts, ich möchte die ID angeben können, da ich im Programm bei einem Klick auf ein Steuerelement auf dessen ID bsp. drei draufrechne und dann das Steuerelement mit dieser ID ausblende usw.
Gruß Flo
-
@flenders: Noch ne Frage. Ich frage bei den mit dem Dialogeditor erstellten Steuerelementen bei WM_COMMAND LOWORD(wParam) ab, um die ID des gewählten Steuerelements zu bekommen. Wie bekomme ich denn den über hMenu angegebenen Wert?
-
Bin mir gerade nicht ganz sicher, aber sollte das nicht genauso funktionieren
-
Tatsächlich! Nach langem Suchen habe ich festgestellt, dass es an einem Denkfehler in meinem Code und nicht an Deinem Tipp lag.
Danke für die Hilfe!Gruß Flo