关闭

关于使用MFC绘图过程中的坐标问题~~~~送分贴~~送分贴

68人阅读 评论(0) 收藏 举报
本人在做mobile应用的时候,希望将上面的任务栏取消掉,并重新绘制任务栏。绘制过程如下:
(1),初始化的时候查找到任务栏窗口句柄CWnd * pTaskBar,隐藏该窗口
(2),在OnPaint函数中做了如下工作
         CDC  memDC;
CDC *pDC = GetDC();

CBitmap bmp;
BITMAP bmpInfo;
bmp.LoadBitmap(IDB_TITLE);
bmp.GetBitmap(&bmpInfo);

memDC.CreateCompatibleDC(pDC);
memDC.SelectObject(&bmp);

CRect rcTaskBar,rcCloseBtn;
CWnd * pTaskBar = CWnd::FindWindow(_T("HHTaskBar"), NULL);
pTaskBar->GetWindowRect(&rcTaskBar);
pDC->DPtoLP(&rcTaskBar);
pDC->BitBlt(rcTaskBar.left,rcTaskBar.top,bmpInfo.bmWidth,bmpInfo.bmHeight,&memDC,0,0,SRCCOPY);
ReleaseDC(&memDC);
结果却出现了如下状况,每次图片总是以客户区坐标的左上角开始绘制。本人对于MFC的坐标系统理解不深,不知道问题究竟出在哪里?调试的时候rcTaskBar的值为(0,0,240,26),是不是CDC类的默认视口起点是在客户区左上角?窝该如何才能解决这个问题呢?
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5390次
    • 积分:581
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章存档