How to change the toolbar button's Bitmap in win32?
I have created a toolbar with some controls on it using ReBar within a window. Can anyone please tell me,
- How to get the HWND of a buttons/combobox/etc (not normal buttons in a window) if I know (only) the Id of it ?
- How to obtain the HBITMAP if I know the id of the resource ?
How to set the bitmap 开发者_Python百科to the controller ?
SendDlgItemMessageW(hWnd, nId, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap);
This isn't working for toolbars, isn't it ? I couldn't find a way to do it, please help me. Thank you...
Regards
EDIT: Anyone please ? :(
EDIT: Ok. it seems everyone is busy these days. :( Btw, is it a wrong question ?
You could download ControlSpy and try it in there to get a feel for it.
I checked the Rebar and saw that RB_SETBANDINFO (under Messages) could be what you are looking for.
GetDlgItem will work just as well with a Rebar as it does with a Dialog.
You can use the GetDlgItem function with any parent-child window pair, not just with dialog boxes. As long as the hDlg parameter specifies a parent window and the child window has a unique identifier (as specified by the hMenu parameter in the CreateWindow or CreateWindowEx function that created the child window), GetDlgItem returns a valid handle to the child window.
You can use LoadImage to load a bitmap from a resource and return the HBITMAP.
Finally, SendMessage(hWndButton, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM) hBitmap);
精彩评论