MFC窗口最大化后不能重绘

神奇的小码农 2012-05-02 07:12:13

我只是在MFC的窗口的指定矩形区域中改变了一下光标,最大化窗口后窗口内容没有重回,标题栏还在原来的地方,怎么刷新啊
void CMouseView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rect(100,100,800,500);
if(rect.PtInRect(point))
{
::SetCursor(m_hcursor);
}
else
::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_NO));
//Invalidate(); //刷新窗口,以便其重绘,如果不刷新窗口会导致跟随过程会有移动的轨迹出现
CView::OnMouseMove(nFlags, point);
}

BOOL CMouseView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: Add your message handler code here and/or call default
CClientDC *pDC = new CClientDC(this);
m_hcursor=AfxGetApp()->LoadCursor(IDC_GREEN);
//SetCursor(cur);

return CView::OnSetCursor(pWnd, nHitTest, message);
}
...全文
575 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
蚯蚓哥 2014-07-25
  • 打赏
  • 举报
回复
12年的还没结贴,顶起
呆神 2012-05-04
  • 打赏
  • 举报
回复
在OnInitDialog()里初始化窗口最大
int FullWidth=GetSystemMetrics(SM_CXSCREEN);
int FullHeight=GetSystemMetrics(SM_CYSCREEN);
SetWindowPos(NULL,0,0,FullWidth,FullHeight,0);
窗口里面的控件动态创建
神奇的小码农 2012-05-04
  • 打赏
  • 举报
回复
就是窗口还没有重绘啊,原来标题栏的地方还有标题栏的图片,窗口里面的内容很乱
怎么在OnDraw里重绘啊???
Impr 2012-05-04
  • 打赏
  • 举报
回复
#3楼 得分:0回复于:2012-05-03 23:53:38




“标题栏还在原来地方”是什么意思呀?最大化后应该调用OnDraw函数重绘吧
sasaon 2012-05-03
  • 打赏
  • 举报
回复
“标题栏还在原来地方”是什么意思呀?最大化后应该调用OnDraw函数重绘吧
神奇的小码农 2012-05-03
  • 打赏
  • 举报
回复
void CMouseView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
Invalidate(); //刷新窗口,以便其重绘,
}
我在这刷新窗口了,可是没用啊
yht7905907 2012-05-02
  • 打赏
  • 举报
回复
响应最大化的消息是WM_SIZE吧

15,977

社区成员

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

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