在mfc中,如何通过对话框中的控件调用OnDraw()函数?

我建立了一个多文档视图框架,我想通过点击一个对话框类中的控件调用ondraw()函数,要求而在点击控件之前,视图中不可以绘制图形,请问怎么实现?谢谢各位。我要是在一个控件... 我建立了一个多文档视图框架,我想通过点击一个对话框类中的控件调用ondraw()函数,要求而在点击控件之前,视图中不可以绘制图形,请问怎么实现?
谢谢各位。
我要是在一个控件函数里面写进在 ondraw()函数,怎么写呢?请个举个例子?
CMyFiledlg:;OnOk()
{
//这里怎么写?怎么写入 ondraw()函数?

CDialog::OnOk()
}
谢谢了
展开
 我来答
hwliu11
2012-09-21 · TA获得超过438个赞
知道小有建树答主
回答量:665
采纳率:0%
帮助的人:590万
展开全部
ondraw有很多的消息都可以触发,你可以自定义一个函数,函数让ondraw调用,给一个变量来标识是否允许自定义函数执行,比如

void Fun
{
if(flag)

{

//do something

}

}
你自己控制flag来实现你的要求
小刺猬001
2012-09-24 · TA获得超过729个赞
知道小有建树答主
回答量:1087
采纳率:73%
帮助的人:282万
展开全部
这个你看看多文档程序的执行过程,对你理解程序函数执行过程很有帮助~~

一般你不写代码,默认的话,就是在点击控件之前,视图中不可以绘制图形。
例子:
void CBMP24View::OnDraw(CDC* pDC)
{
CBMP24Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc) //你看看~应该是第一次打开不绘制
return;

// TODO:

CRect rect;
GetClientRect(&rect);
if (!pDoc->bData) 你看看~应该是第一次打开不绘制
return;

long biWidth=pDoc->bInfo->bmiHeader.biWidth;
long biHeight=pDoc->bInfo->bmiHeader.biHeight;
//使图像显示在客户区的正中央
int ox,oy;
if((unsigned long)(rect.Width()) > biWidth)
ox = (rect.Width() - biWidth) / 2;
else ox=0;
if((unsigned long)(rect.Height()) > biHeight)
oy = (rect.Height() - biHeight)>>1;
else oy=0;
//将整个图像或部分显示在客户区
SetDIBitsToDevice(pDC->m_hDC, ox, oy, biWidth, biHeight, 0, 0, 0, -biHeight,
pDoc->bData,pDoc->bInfo,DIB_RGB_COLORS);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
薄雾浓云612
2012-09-21
知道答主
回答量:10
采纳率:0%
帮助的人:6.2万
展开全部
添加控件按钮后,点击按钮不是有添加类向导吗,在里面定义ondraw()函数,定义成功后,双击该按钮,会在程序中进入ondrow()函数体,将你原来ondrow()函数中的语句添加进去就行了,试试吧。
追问
这个控件和ondrow()不是一个类,请问在类导向里怎么添加ondraw()函数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫色魔尊GP
2012-09-21
知道答主
回答量:37
采纳率:0%
帮助的人:21.4万
展开全部
可以给控件添加一个 bool 变量,初始化的时候false,在绘图之前先检测那个变量的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左_后卫
2012-09-21 · TA获得超过118个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:168万
展开全部
加一个变量,监视控件是否点击.点击的时候,调用Invalidate
更多追问追答
追问
那ondraw()函数是在创建窗口时就被执行了吗?
追答
恩.创建的时候,就被调用.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式