我有一个用以下代码在Win32应用程序的WM_CREATE函数中创建的按钮:
hChangeWorldButton = CreateWindowEx(NULL,
"BUTTON",
"OK",
WS_CHILD | WS_VISIBLE | BS_FLAT | BS_BITMAP,
2,
2,
25,
25,
hWnd,
(HMENU)CHANGEWORLD_BUTTON,
GetModuleHandle(NULL),
NULL);
SendMessage(hChangeWorldButton, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)worldBmp);
我希望按钮仅显示图像。没有背景和边框。
我怎样才能做到这一点?我尝试了MSDN中的许多不同按钮样式,但是似乎没有什么适合我的需求。我当时在考虑使用BS_OWNERDRAW,但似乎有些过分了。还是唯一的解决方案?
最后,如何将光标悬停在按钮上时将其更改为手形?
没有可用的按钮样式会导致您所追求的视觉表现。您将不得不在BS_OWNERDRAW
这里。
另外,您也可以使用带有样式的静态控件SS_NOTIFY
。静态控件使您能够获取所需的视觉表示,SS_NOTIFY
样式使您能够响应鼠标输入。但是,您将无法实现键盘界面。
虽然我自己还没有尝试过,但也可以通过使用Command Link(BS_COMMANDLINK
)并将标题设置为空字符串来获得所需的效果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句