基于对话框的程序:
void CTestDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
AfxMessageBox("dd"); //写在这儿不弹出
}
else
{
CDialog::OnPaint();
//AfxMessageBox("dd"); //写在这儿将不停的弹出,说明在不停的调用
if (NULL==GetDC())
{
AfxMessageBox("a");
}
else
{
AfxMessageBox("b");
}
}
}
新建一个对话框,添加WM_PAINT消息
void CMyDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
}
可以在里面通过dc画图
void CMyDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
dc.MoveTo(0,0);
dc.LineTo(10,10);
dc.Arc(50,50,80,80,100,100,200,200);
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
}
对于单文档程序,在View类中,会自动生成OnDraw函数
void CTestAView::OnDraw(CDC* pDC)
{
CTestADoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
可以利用pDC来进行绘图:
void CTestAView::OnDraw(CDC* pDC)
{
CTestADoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->MoveTo(0,0);
pDC->LineTo(100,100);
}
!!顺便说一下,在OnDraw函数中,自动加了一句:CTestADoc* pDoc = GetDocument();
通过pDoc,可以获得与这个视图相关联的文档的指针。这使你能够调用文档的成员函数。
如下 :
void CTestAView::OnDraw(CDC* pDC)
{
CTestADoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->MoveTo(0,0);
pDC->LineTo(100,100);
pDC->Arc(100.,100,200,200,300,300,400,400);
pDC->TextOut(100,100,"ABC");
//设置文档的名称
LPCTSTR lpctstr;
lpctstr="我的文档";
pDoc->SetTitle(lpctstr);
CString str=pDoc->GetTitle();
AfxMessageBox(str);
}
转载声明:本文转自http://wmnmtm.blog.163.com/blog/static/3824571420096319566302/
===============================================================
相关推荐
在VC++6.0中给对话框设置背景色或者背景图片
图解VC++6.0中使用mscomm串口控件,可以实现单片机和计算机之间进行通讯
图析VC++6.0中使用mscomm串口控件
使用VC++6.0,编写的MFC程序,实现正弦曲线的绘制,包括横纵坐标轴的绘制。
可以在win7上使用的VC++6.0,包含英文版
VC++6.0简体中文版本,支持win7提示兼容问题忽略就行。 此前装过别的版本,但win7大多装不上,有的能装上但过程太繁琐。 别的版本有几百兆,而这只有30来兆,而且可直接安装运行,对于专业人士来说此版本功能过于简单...
VC++6.0中文简体版下载,支持win7。此前装过别的版本,但win7大多装不上,有的能装上但过程太繁琐,此外别的版本有几百兆,下载费时费力,而这只有30几兆,而且可直接安装运行,对于专业人士来说此版本功能可能过于...
编者 求是科技 王正军 《VC++6.0从入门到精通》源码,
VC++ 6.0 音乐播放器VC++ 6.0 音乐播放器VC++ 6.0 音乐播放器VC++ 6.0 音乐播放器VC++ 6.0 音乐播放器
此为VC++6.0的中英文版,Win10可用。使用解压软件解压后,运行SETUP.EXE后会安装,再选择语言。若Win10用户安装后无法使用,就将软件安装文件夹下的MSDEV.EXE使用下载文件夹中的MSDEV.EXE替换掉,就可以正常使用了。
VC++6.0写ActiveX控件,和WEB通信的一些心得
免费vc++6.0安装包程序(majin)免费vc++6.0安装包程序(majin)免费vc++6.0安装包程序(majin)免费vc++6.0安装包程序(majin)免费vc++6.0安装包程序(majin)免费vc++6.0安装包程序(majin)免费vc++6.0安装包...
VC++6.0常用控件使用方法简单介绍
VC++6.0 开发宝典 VC++6.0 开发宝典 VC++6.0 开发宝典
vc++6.0下开发的仓库管理系统,采用ADO操作数据库,使用数据库为ACCE-vc 6.0's warehouse management system using ADO operational database, using the database to ACCE
VC++6.0快捷键大全 为VC++6.0快捷键大全.txt 方便参阅
MSChart是VC++6.0中自带的一个特殊控件类,用于绘制坐标曲线图。
在学习过程中用VC++制作的一款游戏,可以和手机游戏媲美,有很高的参考价值
精简版VC++6.0精简版VC++6.0精简版VC++6.0精简版VC++6.0精简版VC++6.0
c++课程设计vc++6.0c++课程设计vc++6.0c++课程设计vc++6.0c++课程设计vc++6.0c++课程设计vc++6.0c++课程设计vc++6.0