救我!有关控件的外观

zhengyu_chen 2001-09-06 08:37:49
我正在做一个ATL的控件准备插入到powerpoint中,本想如calender control在edit状态和非edit状态都可见到其外观。但是我的控件是一个window,如鼠标点到外面,即非edit状态时,我的控件收到WM_DESTROY,所以我准备重载OnDraw(),即向自己用位图来画控件的外观。我的代码是这样
HRESULT CMyObj::OnDraw(ATL_DRAWINFO& di)
{
RECT rc = *(RECT*)di.prcBounds;
HDC hdc = di.hdcDraw;
HBRUSH br = CreateSolidBrush(RGB(0xff, 0xc0, 0xc0));
FillRect(hdc, &rc, br);
DeleteObject(br);

HDC memDC = CreateCompatibleDC ( hdc );
HBITMAP hBmp = LoadBitmap(_Module.m_hInstResource, MAKEINTRESOURCE(IDB_BITMAP));
HBITMAP hOldBmp = (HBITMAP)SelectObject ( memDC, hBmp );
StretchBlt(hdc,rc.left,rc.top, rc.right, rc.bottom,memDC,0,0,48,48,SRCCOPY);

if(hOldBmp)
SelectObject(memDC, hOldBmp);
DeleteObject(hBmp);
DeleteDC(memDC);
return S_OK;
}但是在非edit状态时不能显示位图,各位高人请救救我!!
...全文
43 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
feijunjun 2001-09-09
  • 打赏
  • 举报
回复
HDC memDC = CreateCompatibleDC ( hdc );
我想啊,最好把这个 memDC 在另一个地方存起来,如在 edit 状态时存起来,再在非edit状态时显示
zhengyu_chen 2001-09-07
  • 打赏
  • 举报
回复
有人知道吗??
Soft21 2001-09-06
  • 打赏
  • 举报
回复
大家好啊,我在等待大家的答案,呵呵!

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧