void CDeskDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default m_origin = point; CDialog::OnLButtonDown(nFlags, point);
}void CDeskDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default CWnd * pDC = GetDesktopWindow();
CWindowDC dc(pDC);
dc.MoveTo(m_origin);
dc.LineTo(point); CDialog::OnLButtonUp(nFlags, point);
}这是一个简单的桌面画图,m_origin是自定义的一个变量,我的问题是为什么我只能在对话框的范围内画图时才能在桌面的左上角显示,这是怎么回事?我怎么才能在程序运行后直接在桌面的任何位置画图?就像整个桌面蒙上了一层花板一样,多谢大家了。我是初学者。
另一个问题:
在对话框的初始函数中添加:
CClientDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.FillSolidRect(&rect,RGB(255,0,0));
无法让对话框出来就红色背景,是不是因为初始的时候还没有对话框的信息说以无法实现,那么怎么能实现呢?多谢大家了
{
// TODO: Add your message handler code here and/or call default m_origin = point; CDialog::OnLButtonDown(nFlags, point);
}void CDeskDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default CWnd * pDC = GetDesktopWindow();
CWindowDC dc(pDC);
dc.MoveTo(m_origin);
dc.LineTo(point); CDialog::OnLButtonUp(nFlags, point);
}这是一个简单的桌面画图,m_origin是自定义的一个变量,我的问题是为什么我只能在对话框的范围内画图时才能在桌面的左上角显示,这是怎么回事?我怎么才能在程序运行后直接在桌面的任何位置画图?就像整个桌面蒙上了一层花板一样,多谢大家了。我是初学者。
另一个问题:
在对话框的初始函数中添加:
CClientDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.FillSolidRect(&rect,RGB(255,0,0));
无法让对话框出来就红色背景,是不是因为初始的时候还没有对话框的信息说以无法实现,那么怎么能实现呢?多谢大家了
解决方案 »
- 透明窗体最难的一种实现:玻璃窗体???
- 邮件通知程序如何判断新邮件
- 如何获得2个CTime之间的时间差,需要达到毫秒!
- 求《Visual C++/Turbo C串口通信编程实践》源代码
- 怎样对combo Box控件编程?
- 如何使鼠標停留在控件上時使控件高亮顯示, 鼠標離開後恢復正常?
- 为什么在PRETRANSLATEMESSAGE中拦不到WM_SETFOCUS和WM_KILLFOCUS
- 如何将一个internet上的文件(如http://xxx.xxx.xxx/temp.dat)保存到c:\temp.dat?
- 关于dialog
- IsWindow 判断窗口句柄是否有效,已经销毁的窗口仍然返回TRUE
- 创建线形渐变画刷失败 返回3 outofmemory 是怎么回事??
- 有没有好用的类库,可以读BMP,JPG,GIF
2、不要在对话框初始化函数画,在对话框的OnPaint里面画