1.
CWnd*pWnd=GetDlgItem(IDC_STATIC);
IDC_STATIC这个ID号比较特殊
你可以改成其他的ID
CWnd*pWnd=GetDlgItem(IDC_STATIC);
IDC_STATIC这个ID号比较特殊
你可以改成其他的ID
解决方案 »
- MFC showwindow 返回值问题
- 定时器回调函数传递参数的难题
- 多线程为何突然中断。
- 用拆分条拆分窗口后,如何控制其上的滚动条?
- 如何给static控件添加单击右键的消息处理。
- CString怎么老是出异常呢?
- 急求ClistCtrl用法.在线等待,分不够可以再加,但要快!
- 如何通过SDK得到上网连接的IP地址?
- LoadAccelerators(...)的两个参数都是什么,最好是汉语解答,因为MSDN我没看懂。
- 谁能告诉我:在窗口中捕捉鼠标的位置,得到的坐标和显示器的分辨率之间的关系,和显示器尺寸间的关系,如何转换?
- 编译的时候遇到恶心的link error 怎么办?
- How to get the function you given?
理由如wistaria
2.那就不要在OnDraw中画图了,你可以在任何地方得到DC,然后对他进行画图,但是这样一旦图像被遮住,图像就丢了,因为没有重画!
没有试过这样做,问题的关键是能不能在OnPaint()中画控件呢?一般画控件是在OnCtrlColor()函数中的,换个思路吧!
//画你的图
pWnd->Invalidate();
pWnd->UpdateWindow();
pWnd->ReleaseDC(pControlDC);
不要放到OnPaint(),在你需要处理的地方处理就可以了,观念放开些。
2.数据改变时用GetDC随时重画,OnDraw中根据最新数据重画