Elemente in Groupbox



  • Hallo zusammen,

    ich habe folgendes Problem:

    In einer Groupbox habe ich Comboboxen eingebunden.

    -----------------------------
    hAgr1 = CreateWindow("button", "Groupbox", WS_CHILD | WS_VISIBLE | ES_LEFT | BS_GROUPBOX, 215, 330, 200, 85, hWnd, (HMENU)800, 0, NULL) ;

    hAJvon = CreateWindow ("COMBOBOX", "", WS_CHILD | WS_VISIBLE| CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL, 10, 20, 50, 130, hAgr1, (HMENU)801, 0, NULL);
    ...
    -----------------------------

    Wenn ich nun eine Auswahl treffe, bekomme ich keine Nachricht an WM_COMMAND gesendet.

    (Ich möchte gerne eine andere Combobox aktivieren, wenn bei der Aktiven eine Auswahl gemacht wird)

    Gibt es eine Möglichkeit für das ChildFenster - hAgr1 - eine eigene Callback-Funktion zu zuweisen, oder irgend einen anderen Weg der mich aus dem Schlamassel bringt.

    Bin für jeden Hinweis dankbar ...

    Ciao
    Mix



  • Die GroupBox und die ComboBox sollten Geschwister sein. Du kannst beim Erzeugen der ComboBox einfach das gleiche Parent-Window angeben wie bei der GroupBox.



  • Hallo King,

    danke für Deine Antwort.

    Dürfte ich vielleicht nochmals kurz nachhacken?

    Wenn ich mir die Nachrichten unter Spy++ ansehe, dann erkennt man, das die Nachrichten aus der Groupbox gesendet werden, aber wohin - an WndProc nicht, oder?

    Es währe schön, wenn ich die Groupbox zusammen lassen könnte, damit bei einer späteren Layoutverschiebung nur die Koordinaten der Groupbox angepasst werden müssten.

    @X@



  • Wird immer an das Parent geschickt. In dem Fall wäre es dann die Groupbox und nicht der Dialog. Stichwort Subclassing wird dir hoffentlich weiterhelfen. Mehr dazu auf meiner Seite http://www.winapi.net



  • Wozu Subclassing? Wie -King- schon sagte, kann man die ComboBox einfach auf das Parent der GroupBox hauen.



  • @X@ wollte das aber nicht so. 😡



  • Hast recht. Seh ich auch gerade. Ist aber kein Grund, gleich rumzubrüllen. 😉



  • Hey, hey

    besten Dank erstmal - ich werde es mal subclassing versuchen!

    GRüße
    @X@


Anmelden zum Antworten