ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[原创](https://blog.csdn.net/crocodile__/article/details/10237943) [VC++](https://blog.csdn.net/geniusdot/article/details/1520058) [自绘按钮](https://blog.csdn.net/fishion/article/details/8985414) 两种方法, 一种是用系统提供的那种,只需按钮有BS_ICON样式,然后发BM_SETIMAGE消息 这种比较简单,但按钮是不会有XP样式的 SendMessage(hWnd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hicon); 控件ID:IDC_BUTTON 图片:IDB_BITMAP (.bmp图片) 控件句柄:hwnd 实现: HBITMAP bmp1 = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP)); 按钮要有BS_BITMAP样式 SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) + BS_BITMAP); SendMessage(hwnd, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)bmp1); 另一种就是自绘了,在父对话框中的WM_DRAWITEM画比较好实现,按钮要有BS_OWNERDRAW样式; 在按钮的WM_PAINT里画也可以,不过还得处理其他消息,比owner-drawn button的方式麻烦