图片按钮 mfc要设计很多个图片按钮,一个一个将图片导入资源很麻烦。想是否能直接用loadmap之类的函数输入图片的路径就能直接将图片输出在按钮上。看了CBitmapButton,CButton类都没有看到输入路径的函数。请问要怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 loadimage中可以从文件导入位图,但是不可以直接输出在按钮上,你可以自己写一个这样的函数来实现它,不是很难的,应该。 你可以先LoadImage,然后再给按钮SetBitmap(HBITMAP). HBITMAP m_pBitamp=(HBITMAP)LoadImage(::AfxGetApp()->m_hInstance,"f:\\b2.bmp",IMAGE_BITMAP,551,26,LR_LOADFROMFILE); BOOL BitmapButton1::LoadBitmaps(LPCTSTR lpszBitmapResource, LPCTSTR lpszBitmapResourceSel , LPCTSTR lpszBitmapResourceFocus , LPCTSTR lpszBitmapResourceDisabled){ if(lpszBitmapResource==NULL) return FALSE; HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResource, IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE); if(hbitmap==NULL)return FALSE; if (m_bitmap.m_hObject) m_bitmap.Detach(); m_bitmap.Attach(hbitmap); hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResourceSel, IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE); if(hbitmap!=NULL) { if (m_bitmapSel.m_hObject) m_bitmapSel.Detach(); m_bitmapSel.Attach(hbitmap); } hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResourceFocus, IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE); if(hbitmap!=NULL) { if (m_bitmapFocus.m_hObject) m_bitmapFocus.Detach(); m_bitmapFocus.Attach(hbitmap); } hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResourceDisabled, IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE); if(hbitmap!=NULL) { if (m_bitmapDisabled.m_hObject) m_bitmapDisabled.Detach(); m_bitmapDisabled.Attach(hbitmap); } return TRUE;} 消息机制和MessageBox求助 网络低层编写 国庆快乐!!!!国庆快乐!!!!国庆快乐!!!!散20分!!!! ~~~~新手提问~~~~关于DC ioctlsocket设置成非阻塞后为什么还要等30秒!!! 如何在程序中设置共享目录 ODBC使用mysql数据库莫名奇妙的程序就没有相应了 读过《利用IE的命令直接操作WebBrowser控件》之小小疑问 111222(原作) 如何设置ActiveX方法的参数,急急急,十万火急,在线等待,马上给分。 请问如何实现这种切分窗口 时间段查询的问题。 如何获得线程的上下文切换次数
LPCTSTR lpszBitmapResourceSel ,
LPCTSTR lpszBitmapResourceFocus ,
LPCTSTR lpszBitmapResourceDisabled)
{
if(lpszBitmapResource==NULL)
return FALSE;
HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResource,
IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
if(hbitmap==NULL)return FALSE;
if (m_bitmap.m_hObject)
m_bitmap.Detach();
m_bitmap.Attach(hbitmap); hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResourceSel,
IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
if(hbitmap!=NULL)
{
if (m_bitmapSel.m_hObject)
m_bitmapSel.Detach();
m_bitmapSel.Attach(hbitmap);
} hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResourceFocus,
IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
if(hbitmap!=NULL)
{
if (m_bitmapFocus.m_hObject)
m_bitmapFocus.Detach();
m_bitmapFocus.Attach(hbitmap);
} hbitmap=(HBITMAP)LoadImage(NULL,lpszBitmapResourceDisabled,
IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
if(hbitmap!=NULL)
{
if (m_bitmapDisabled.m_hObject)
m_bitmapDisabled.Detach();
m_bitmapDisabled.Attach(hbitmap);
}
return TRUE;
}