永发信息网

WTL自绘Button,为什么进不去DrawItem函数

答案:2  悬赏:30  手机版
解决时间 2021-02-12 07:00
class CButtonImpl:public CWindowImpl, public COwnerDraw
{
public:
BEGIN_MSG_MAP_EX(CButtonImpl)
MSG_WM_SETCURSOR(OnSetCursor)
MSG_WM_LBUTTONDOWN(OnLButtonDown)
CHAIN_MSG_MAP_ALT(COwnerDraw, 1)
DEFAULT_REFLECTION_HANDLER()

END_MSG_MAP()

void DrawItem(LPDRAWITEMSTRUCT lpdis)
{
CDCHandle dc = lpdis->hDC;
CDC dcMem;
dcMem.CreateCompatibleDC(dc);
dc.SaveDC();
if(lpdis->itemState & ODS_FOCUS)
dc.FillSolidRect(&lpdis->rcItem, RGB(255,0,0));
else
dc.FillSolidRect(&lpdis->rcItem, RGB(0, 0,255));
dcMem.SelectBitmap(img.m_hBitmap);
if(lpdis->itemState & ODS_SELECTED)
dc.BitBlt(1, 1, 80, 80, dcMem, 0, 0, SRCCOPY);
else
dc.BitBlt(0, 0, 80, 80, dcMem, 0, 0, SRCCOPY);
dcMem.RestoreDC(-1);
dcMem.RestoreDC(-1);
}
最佳答案
按钮的Style上有 BS_OWNERDRAW 吗?
全部回答
搜一下:WTL自绘Button,为什么进不去DrawItem函数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
DNA的复制发生在A. 前期B. 后期C. 间期D. 中
糖果快捷酒店我想知道这个在什么地方
绝处逢生是啥的绝是什么意思
女孩子不要随便跟男性吵架,这会显得自己很没
中航证券资金帐号申请后,不冲资金的话,多长
平时买菜说“多少钱一斤”的“斤”到底是“市
1987年2月14日的生日虚岁2015年是多少
不做有损人格的事,才能维护自己的人格尊严,
方正居间事务所地址在哪,我要去那里办事
steam中的使命召唤哪一代联机的人多
请问各位亲 你们会不会有时候感觉腿痒 但想挠
杜勉地址在哪,我要去那里办事
合肥水费多少号出来
新手机按什么键才能查出保修卡上的号
为什么说封闭式基金是信托基金,谢谢
推荐资讯
【我的寒假生活手抄报】关于寒假生活的手抄报
西安大明宫法治广场这个地址在什么地方,我要
隔热返光漆是什么材料
加里宁格勒是俄罗斯领土,但为什么是块飞地?
为什么我有没有到家,想问我回家的人不问,还
在成龙的电影《奇迹》中 那个假冒记者的中情
汕头坐车到深圳,要晚上12点以后到凌晨1点这段
1:3.6米比( )米多1/3 2 : ( )吨比0.8吨
悬赏,MATLAB绘图语句总是报错,求找出原因并
圆柱的侧面积表面积和圆柱的体积怎么求
我和我亲姐夫的表妹交往可以吗?我姐的孩子应
河南省昊杰食品有限公司东门在哪里啊,我有事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?