Win32でツールバーボタンのビットマップを変更するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2647999

質問

ウィンドウ内でRebarを使用して、いくつかのコントロールを備えたツールバーを作成しました。誰でも教えてもらえますか、

  1. aのhwndを取得する方法 ボタン/コンボボックス/など (ウィンドウ内の通常のボタンではありません)(そのみ)そのIDを知っている場合は?
  2. リソースのIDを知っている場合、HBITMAPを取得する方法は?
  3. ビットマップをコントローラーに設定する方法は?

    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);

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top