问关于重绘的一个问题。。。。。。。。。

philistine_x 2011-08-18 10:01:55
当其他应用程序覆盖 我的程序后。。

界面只能重绘覆盖的部分。。其他部分控件都不见了。。切换一下 又可以显示。。

我的对话框加了背景图片 不知道有关系没。。


如何在Onpaint()函数 解决这个问题。。
...全文
68 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
philistine_x 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hnzlk 的回复:]

上代码
[/Quote]


// ONpaint()
/*背景*/
/**/
CDC *pDrawDC = GetDC();
CRect rect;
GetClientRect(&rect);
Draw_Picture(pDrawDC,rect, MAKEINTRESOURCE(IDB_BK) );
/**/

//"./default.jpg";

HWND hWnd1 = GetDlgItem(IDC_STATIC1)-> GetSafeHwnd();
HDC dc1 = ::GetDC(hWnd1);
DisplayImage(dc1,photopath1);
::ReleaseDC(hWnd1,dc1);


philistine_x 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hnzlk 的回复:]

上代码
[/Quote]


// ONpaint()
/*背景*/
/**/
CDC *pDrawDC = GetDC();
CRect rect;
GetClientRect(&rect);
Draw_Picture(pDrawDC,rect, MAKEINTRESOURCE(IDB_BK) );
/**/

//"./default.jpg";

HWND hWnd1 = GetDlgItem(IDC_STATIC1)-> GetSafeHwnd();
HDC dc1 = ::GetDC(hWnd1);
DisplayImage(dc1,photopath1);
::ReleaseDC(hWnd1,dc1);


philistine_x 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hnzlk 的回复:]

上代码
[/Quote]

//Onpaint()里面

/*背景*/
/**/
CDC *pDrawDC = GetDC();
CRect rect;
GetClientRect(&rect);
Draw_Picture(pDrawDC,rect, MAKEINTRESOURCE(IDB_BK) );
/**/

//"./default.jpg";

HWND hWnd1 = GetDlgItem(IDC_STATIC1)-> GetSafeHwnd();
HDC dc1 = ::GetDC(hWnd1);
DisplayImage(dc1,photopath1);
::ReleaseDC(hWnd1,dc1);


代码很乱。。

mtj520 2011-08-18
  • 打赏
  • 举报
回复
onpaint
向立天 2011-08-18
  • 打赏
  • 举报
回复
你这问题问得
我只能说把所有的绘图操作都整理到OnPaint中
philistine_x 2011-08-18
  • 打赏
  • 举报
回复
嗯。。有没有 使整个窗口重绘 或者使其他控件显示出来。。
hnzlk 2011-08-18
  • 打赏
  • 举报
回复
上代码
philistine_x 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ndy_w 的回复:]

不明白...没遮挡的部分反而会消失?
[/Quote]

嗯。。现在就是要把其他控件显示出来。。我切换一下界面 又可以了。。
ndy_w 2011-08-18
  • 打赏
  • 举报
回复
不明白...没遮挡的部分反而会消失?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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