2010-04-15 3 views
1

ReBar를 사용하여 창 안에 일부 컨트롤이있는 도구 모음을 만들었습니다. 사람이win32에서 도구 모음 단추의 비트 맵을 변경하는 방법은 무엇입니까?

  1. 어떻게 버튼/콤보 상자의 HWND를 얻을 수 말해 줄래/등 (창에서하지 일반 버튼) 나는 그것의 (전용) ID를 알고 있다면?
  2. 리소스의 ID를 알고있는 경우 HBITMAP을 얻는 방법은 무엇입니까?
  3. 어떻게 비트 맵을 컨트롤러에 설정합니까?

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

이것은 툴바에서 작동하지 않습니까? 아닙니다. 나는 그것을 할 수있는 방법을 찾지 못했습니다. 저를 도와주세요. 누구나하십시오 : 당신은 ...

감사

EDIT 감사? :(

편집 :..?. 좋아 모든 사람이 요즘 바쁜 것 같다 :(, BTW가 잘못된 질문이다 그것은 대화와 마찬가지로

+0

컨트롤러 란 무엇을 의미합니까? 철근 밴드? –

+0

안녕하세요! Button, Combobox 등과 같은 보강 철근에있는 것 (다른 설명이 없습니다). 감사. – Morpheus

+0

철근 컨트롤에 하나 이상의 철근 밴드가 포함되어 있고 철근 밴드에 하나의 컨트롤 만 포함될 수 있다고 생각했습니다. http://msdn.microsoft.com/ko-kr/library/bb774373(VS.85).aspx를 참조하십시오. 이 MSDN 기사의 범위에서 무엇을 의미하는지 자세히 설명해 주시겠습니까? –

답변

1

당신은 ControlSpy을 다운로드에 대한 느낌을 얻을 거기에 그것을 시도 할 수 있습니다.
보강 철근을 확인한 결과 RB_SETBANDINFO (메시지)가 원하는 것을 찾을 수있었습니다.

+0

안녕하세요! 그것은 매우 유용합니다. 고맙습니다.... . – Morpheus

0

GetDlgItem는 철근과 마찬가지로 잘 작동합니다

대화 상자뿐만 아니라 부모 - 자식 창 쌍과 함께 GetDlgItem 함수를 사용할 수 있습니다 .hDlg 매개 변수가 부모 창을 지정하고 자식 창에 고유 식별자가있는 경우 (hMenu 매개 변수로 지정된대로) 자식 창을 만든 CreateWindow 또는 CreateWindowEx 함수에서) GetDlgItem은 자식 창에 유효한 핸들을 반환합니다.

LoadImage를 사용하여 리소스에서 비트 맵을로드하고 HBITMAP을 반환 할 수 있습니다. 마지막으로

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

+0

안녕하세요! 정말 고맙습니다. 시도해 볼게. – Morpheus