我想使用invalidaterect更新控件区域,所以我需要先获取控件所在的区域,可是在OnTimer中我写了以下函数,却没有效果:
CRect rect;
GetDlgItem(IDC_STATIC1)->GetClientRect(rect);
InvalidateRect(rect);
写完之后发现invalidaterect兵没有起到效果。。
为什么会这样呢,我应该如何解决呢
GetDlgItem(IDC__STATIC1)->GetClientRect(&rect);
加&代表取得变量rect的指针(地址),这样变量rect才有值。
CRect Rect;
GetDlgItem(IDC_STATIC1)->GetClientRect(&Rect);
ScreenToClient(Rect);
InvalidateRect(Rect,TRUE);
RedrawWindow();
你写在哪个方法里,是不是构造函数了?要写在InitDialog里。
具体看我上次给你的代码,可以获取的。
GetDlgItem(IDC_STATIC1)->GetClientRect(&rect); 这里是取地址,也许是你笔误。