如何删除控件picture控件背景!
我在picture控件上画了opengl图像!可是当我旋转图像就会有闪的效果!我是不是应该把此背景删除为空就没有问题了?
哪位大侠帮忙看看!谢谢!
我在picture控件上画了opengl图像!可是当我旋转图像就会有闪的效果!我是不是应该把此背景删除为空就没有问题了?
哪位大侠帮忙看看!谢谢!
解决方案 »
- 登录窗口,主窗口是,当前窗口,这样写代码后,关了win_p1窗口后,当前窗口不会自动关掉,怎么才可以关win_p1关的时候,当前窗口也关掉啊?
- VC中怎么实现将unicode转换为汉字,再写入某个txt文件中?
- 急用!在界面上选择路径后,这样把路径下的所有文件显示出来
- 关于odbc的一些问题
- 为什么会出现重复定义错误??
- 一CreateInstance后Com就自动执行的事件是什么?
- 请教高手:输入框失去焦点,焦点进入另一输入框时,如果弹出了对话框,焦点进入的输入框将无法马上输入。
- 高手请进(本人认为很难的一个问题)~~~~~~~~~~~~~~~~~~~~~~~
- 中国有没有专业的Microsoft Agent编程站点?没有的话我想做一个。
- 关于改变鼠标光标的问题
- 关于焦点设置
- mfc中如何调用defwindowpro
我在这里加的函数!
void COpenGlDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
m_ocdn.SpecialKeys(nChar, m_mouse.x, m_mouse.y);
CWnd* hwnd = GetDlgItem(IDC_STA_OPENGL);
RECT rect;
hwnd->GetClientRect(&rect);
hwnd->ClientToScreen(&rect);
InvalidateRect(&rect,true); CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
每次旋转的时候他都会闪!说明是背景重绘造成的!所以我想把背景弄成透明的!就像用OnEraseBkgnd()函数一样,
删掉默认的return CWnd::OnEraseBkgnd(pDC);
可以吗?
HBRUSH COpenGlDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (pWnd->GetDlgCtrlID() == IDC_STATIC)
{
pDC->SetBkMode(TRANSPARENT); //透明 return (HBRUSH)::GetStockObject(NULL_BRUSH); //返回的是m_brush的颜色
}
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);;
}