调用onsize ,感觉闪眼? 大家有没有觉得在onsize()中调用SetWindowPos或者MoveWindow来实现对话框大小改变,控件得大小响应变化时,发现改变对话框大小时控件闪得很厉害,指的是那种很晃眼的感觉? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在OnSize里又调用SetWindowPos或者MoveWindow,会导致再次触发OnSize,严重的可能导致死循环能在OnSize里调用SetWindowPos或者MoveWindow,说明你本身的设计就不合理 void COutputBar::OnSize(UINT nType, int cx, int cy) { CBCGPDockingControlBar::OnSize(nType, cx, cy); m_wndList.SetWindowPos (NULL, nBorderSize, nBorderSize, cx - 2 * nBorderSize, cy - 2 * nBorderSize, SWP_NOACTIVATE | SWP_NOZORDER);}在OnSize里面有SetWindowPos 是正常的。没有出现闪烁。你看是不是其他的问题。 重载EraseBackground,擦除背景的时候什么也不做,再加上双缓冲,就不会闪了。 在OnSize()里取得窗口大小,更新画面时根据这个大小来画控件,不知可否《Windows程序设计》里TextOut是这样,不过好象也有点闪去搜了下,N多人问过http://topic.csdn.net/t/20050405/11/3909781.html 重载OnEraseBackground,直接return true;另外在绘制窗口的时候使用双环村 BOOL CSoundDlg::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default //return CDialog::OnEraseBkgnd(pDC); return true;}这样重载OnEraseBackground时,显示不太正常?双缓冲该如何实现? 重载OnEraseBackground,直接return true; ,在OnPain中,重绘你的整个窗口界面(先将背景重绘到内存DC上,然后一次bitblt到物理DC),那就一点也不会闪 在OnPain中,重绘你的整个窗口界面(先将背景重绘到内存DC上,然后一次bitblt到物理DC),那就一点也不会闪?能否据个例子? CPaintDC dc(this);CreateCompatibleDC(dc);CreateCompatibleBitmap(....);dc.SelectObject(..); // 选进位图BitBlt()贴图 MFC 的MDI 中(不支持文档视图结构)怎么把CDialog作为子窗体呢? listctrl排序问题 在深圳某公司三年一些心得 汉字显示问题 vc++的安装问题,紧急!! 有杭州的吗?进来看看,有个项目 菜鸟疑问:unsigned short与字符串的转换。 如何求非均匀有理b样条曲面的控制点 学vc必须学windows核心编程吗? 一个win2000局域网的问题,来看看吧. VC可以嵌入php代码,而对网站上的数据进行操作吗? 拖动图片闪烁问题
{
CBCGPDockingControlBar::OnSize(nType, cx, cy); m_wndList.SetWindowPos (NULL, nBorderSize, nBorderSize,
cx - 2 * nBorderSize, cy - 2 * nBorderSize,
SWP_NOACTIVATE | SWP_NOZORDER);
}在OnSize里面有SetWindowPos 是正常的。没有出现闪烁。你看是不是其他的问题。
《Windows程序设计》里TextOut是这样,不过好象也有点闪
去搜了下,N多人问过
http://topic.csdn.net/t/20050405/11/3909781.html
另外在绘制窗口的时候使用双环村
{
// TODO: Add your message handler code here and/or call default
//return CDialog::OnEraseBkgnd(pDC);
return true;
}
这样重载OnEraseBackground时,显示不太正常?
双缓冲该如何实现?
,在OnPain中,重绘你的整个窗口界面(先将背景重绘到内存DC上,然后一次bitblt到物理DC),那就一点也不会闪
能否据个例子?
CreateCompatibleDC(dc);
CreateCompatibleBitmap(....);
dc.SelectObject(..); // 选进位图
BitBlt()贴图