急~!在vc picture控件内怎样自己绘图啊?请各位大侠帮忙~

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:02:54
我想在对话框中绘图,看网上好多帖子说能在picture中画,但是给的代码不是很全,特此求教!
最好给出详细的代码,谢谢!和做的过程!
能稍微讲解下么2楼?谢谢了 都是做什么用的
试过了,楼下的代码不能显示出来不知道为什么。

以单文档为例:

事实上,你在哪儿画都是可以的:

要是在View类中写下代码:

在当前对象中画,(就是你代码在哪里写的就在哪儿画)
CClient dc(this)

CPen pen.....
...

在框架上画(它是View的父类)。(也就是可以画到工具条上面)
CClient dc(GetParent(xxx))
CPen pen(...)
...

在桌面上画
CClient dc(桌面的指针,可用MSDN查取它的函数我忘了GetDesktopWindow??)
CPen pen(...)
...

以上代码可放到同一个地方。要是在picture中画,就把dc()里的指针改成picture的指针就行了。找它的方法请查MSDN不复杂。

IDC_ST_PIC 你对话框的picture
CAboutDlg 你的对话框

void CAboutDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting

CWnd *pWnd = GetDlgItem( IDC_ST_PIC );
if( NULL == pWnd || !IsWindow( pWnd->m_hWnd ) )
return;

CRect rt;
pWnd->GetWindowRect(&rt);
ScreenToClient(&rt);

dc.Ellipse( rt );

}Top

要在屏幕上画东西,就要把画图的东西的设备环境相关联.CCli