1

ウィンドウ内で ReBar を使用して、いくつかのコントロールを含むツールバーを作成しました。誰か教えてください

  1. ボタン/コンボボックス/その他(ウィンドウ内の通常のボタンではない)のIDを(のみ)知っている場合、そのHWNDを取得するにはどうすればよいですか?
  2. リソースの ID がわかっている場合に HBITMAP を取得するにはどうすればよいですか?
  3. コントローラにビットマップを設定するには?

    SendDlgItemMessageW(hWnd, nId, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap);

これはツールバーでは機能しませんね。私はそれを行う方法を見つけることができませんでした、私を助けてください。ありがとうございました...

よろしく

編集:誰かお願いしますか?:(

編集:わかりました。最近はみんな忙しいようです。:(ところで、それは間違った質問ですか?

4

2 に答える 2

1

ControlSpyをダウンロードして、そこで試してみることもできます。
Rebar を確認したところ、 RB_SETBANDINFO ( Messagesの下) が探しているものである可能性があることがわかりました。

于 2010-04-16T16:35:01.710 に答える
0

GetDlgItemは、Dialog の場合と同様に Rebar でも機能します。

GetDlgItem 関数は、ダイアログ ボックスだけでなく、任意の親子ウィンドウ ペアで使用できます。hDlg パラメーターが親ウィンドウを指定し、子ウィンドウに (子ウィンドウを作成した CreateWindow または CreateWindowEx 関数の hMenu パラメーターで指定された) 一意の識別子がある限り、GetDlgItem は子ウィンドウに有効なハンドルを返します。

LoadImage を使用して、リソースからビットマップを読み込み、HBITMAP を返すことができます。

ついに、SendMessage(hWndButton, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM) hBitmap);

于 2010-04-16T16:05:07.643 に答える