Win32でツールバーボタンのビットマップを変更するにはどうすればよいですか?
質問
ウィンドウ内でRebarを使用して、いくつかのコントロールを備えたツールバーを作成しました。誰でも教えてもらえますか、
- aのhwndを取得する方法 ボタン/コンボボックス/など (ウィンドウ内の通常のボタンではありません)(そのみ)そのIDを知っている場合は?
- リソースのIDを知っている場合、HBITMAPを取得する方法は?
ビットマップをコントローラーに設定する方法は?
senddlgitemmessagew(hwnd、nid、bm_setimage、image_bitmap、(lparam)hbitmap);
これはツールバーでは機能していませんね。私はそれをする方法を見つけることができませんでした、私を助けてください。ありがとうございました...
よろしく
編集:誰かをお願いしますか? :(
編集:わかりました。最近は誰もが忙しいようです。 :(ところで、それは間違った質問ですか?
解決
ダウンロードできます controlspy そして、そこでそれを試して、それを感じてください。
私は鉄筋をチェックして、そのrb_setbandinfoを見ました(under メッセージ)あなたが探しているものかもしれません。
他のヒント
getDlGitem ダイアログと同様に、鉄筋と同じように機能します。
ダイアログボックスだけでなく、親子ウィンドウペアでgetDlGitem関数を使用できます。 HDLGパラメーターが親ウィンドウを指定し、チャイルドウィンドウに一意の識別子がある限り(CreateWindowまたはCreateWindoWex関数のHmenuパラメーターで指定されているように)、GetDlGitemは有効なハンドルをCild Windowに戻します。
LoadImageを使用して、リソースからビットマップを読み込み、HBITMAPを返すことができます。
ついに、 SendMessage(hWndButton, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM) hBitmap);