Frage

Ich habe eine Symbolleiste mit einigen Steuerelementen erstellt, die in einem Fenster überrandet. Kann mir bitte jemand sagen,

  1. Wie man den HWND von a bekommt Knöpfe/Combobox/etc. (Keine normalen Tasten in einem Fenster) Wenn ich nur die ID davon kenne?
  2. Wie erhalte ich die Hbitmap, wenn ich die ID der Ressource kenne?
  3. Wie setze ich die Bitmap auf den Controller?

    SendDlgItemMessagew (hwnd, nid, bm_setimage, Image_bitmap, (lparam) hbitmap);

Das funktioniert nicht für Symbolleisten, nicht wahr? Ich konnte keinen Weg finden, es zu tun, bitte helfen Sie mir. Vielen Dank...

Grüße

EDIT: Bitte bitte jemand? :(

EDIT: OK. Es scheint, dass heutzutage jeder beschäftigt ist. :( Übrigens, ist es eine falsche Frage?

War es hilfreich?

Lösung

Sie könnten herunterladen Kontrollespy Und versuchen Sie es dort, um ein Gefühl dafür zu bekommen.
Ich habe die Bewehrung überprüft und gesehen, dass RB_SetbandInfo (unter Mitteilungen) könnte das sein, wonach Sie suchen.

Andere Tipps

Getdlgitem funktioniert genauso gut mit einer Bewehrung wie mit einem Dialog.

Sie können die Funktion getDlgItem mit jedem übergeordneten Fensterkindpaar verwenden, nicht nur mit Dialogfeldern. Solange der HDLG -Parameter ein übergeordnetes Fenster angibt und das untergeordnete Fenster eine eindeutige Kennung (wie vom HMENU -Parameter in der Funktion createWindow oder createewindowex angegeben, die das untergeordnete Fenster erstellt haben), gibt getDlgitem ein gültiges Handle an das untergeordnete Fenster zurück.

Sie können LoadImage verwenden, um eine Bitmap aus einer Ressource zu laden und die Hbitmap zurückzugeben.

Endlich, SendMessage(hWndButton, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM) hBitmap);

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top