急~!在vc picture控件内怎样自己绘图啊?请各位大侠帮忙~
我想在对话框中绘图,看网上好多帖子说能在picture中画,但是给的代码不是很全,特此求教!最好给出详细的代码,谢谢!和做的过程!能稍微讲解下么2楼?谢谢了都是做什么用的...
我想在对话框中绘图,看网上好多帖子说能在picture中画,但是给的代码不是很全,特此求教!
最好给出详细的代码,谢谢!和做的过程!
能稍微讲解下么2楼?谢谢了 都是做什么用的
试过了,楼下的代码不能显示出来不知道为什么。 展开
最好给出详细的代码,谢谢!和做的过程!
能稍微讲解下么2楼?谢谢了 都是做什么用的
试过了,楼下的代码不能显示出来不知道为什么。 展开
3个回答
2008-05-08
展开全部
以单文档为例:
事实上,你在哪儿画都是可以的:
要是在View类中写下代码:
在当前对象中画,(就是你代码在哪里写的就在哪儿画)
CClient dc(this)
CPen pen.....
...
在框架上画(它是View的父类)。(也就是可以画到工具条上面)
CClient dc(GetParent(xxx))
CPen pen(...)
...
在桌面上画
CClient dc(桌面的指针,可用MSDN查取它的函数我忘了GetDesktopWindow??)
CPen pen(...)
...
以上代码可放到同一个地方。要是在picture中画,就把dc()里的指针改成picture的指针就行了。找它的方法请查MSDN不复杂。
事实上,你在哪儿画都是可以的:
要是在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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要在屏幕上画东西,就要把画图的东西的设备环境相关联.CClientDC dc(this);//dc现在就是你的程序的客户区,this就是当前的类.
CClientDC 是CDC类的子类.有各种绘图函数.
自己看一下吧
CClientDC 是CDC类的子类.有各种绘图函数.
自己看一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询