主题:困惑我很久的一类问题(关于mfc)
各位大虾好,小弟琢磨这个问题已经一个星期了,实在没有办法了,才上来发帖子求救的,请大虾们不吝赐教。
为了实现对话框中按钮的透明和去边框功能,我用了名为CHyperlink的类,但是之后用了两种方法A,B,均不能给做好的对话框加背景颜色,请问为什么?
方法A
给对话框添加成员变量 CBrush m_Brush; (在workspace中找到对话框类,点右键,添加变量)
在对话框的构造函数中添加
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1); // IDB_BITMAP1为BITMAP资源ID,可以指定bitmap图片的路径
m_Brush.CreatePatternBrush(&bm);
添加 WM_CTLCOLOR 消息处理函数,
把 return hbr; 改为 return m_Brush;
方法B
http://www.qqgb.com/Program/VC/VCJQ/Program_150223.html
方法b出现的调试信息
d:\program files\microsoft visual studio\vc98\atl\include\atlwin.h(65) : error C2065: '_Module' : undeclared identifier
d:\program files\microsoft visual studio\vc98\atl\include\atlwin.h(2912) : error C2228: left of '.GetModuleInstance' must have class/struct/union type
d:\program files\microsoft visual studio\vc98\atl\include\atlwin.h(2974) : error C2228: left of '.GetModuleInstance' must have class/struct/union type
为了实现对话框中按钮的透明和去边框功能,我用了名为CHyperlink的类,但是之后用了两种方法A,B,均不能给做好的对话框加背景颜色,请问为什么?
方法A
给对话框添加成员变量 CBrush m_Brush; (在workspace中找到对话框类,点右键,添加变量)
在对话框的构造函数中添加
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1); // IDB_BITMAP1为BITMAP资源ID,可以指定bitmap图片的路径
m_Brush.CreatePatternBrush(&bm);
添加 WM_CTLCOLOR 消息处理函数,
把 return hbr; 改为 return m_Brush;
方法B
http://www.qqgb.com/Program/VC/VCJQ/Program_150223.html
方法b出现的调试信息
d:\program files\microsoft visual studio\vc98\atl\include\atlwin.h(65) : error C2065: '_Module' : undeclared identifier
d:\program files\microsoft visual studio\vc98\atl\include\atlwin.h(2912) : error C2228: left of '.GetModuleInstance' must have class/struct/union type
d:\program files\microsoft visual studio\vc98\atl\include\atlwin.h(2974) : error C2228: left of '.GetModuleInstance' must have class/struct/union type