导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

SDI中,添加了画图菜单,但是OnDraw为什么不响应?

wcc_627 2010-07-17 04:41:41
在OnDraw函数中添加了如下代码:
if(temp==1)
pDC->TextOut(50,250,"Hello,World!");
if(temp==2)
pDC->Pie(220,200,400,380,380,270,240,220);


添加的菜单响应函数
void CTest2_1_3View::OnText()
{
temp=1;
}

void CTest2_1_3View::OnDrawPicture()
{
temp=2;

}
目的就是为了实现按 Text菜单时显示一行文本,按Draw菜单时画个扇形,编译没出错,可是运行后不管点那个菜单都没有反应,不显示文本也不画扇形,请教大家这是为什么?(temp在头文件中定义为int型)
...全文
111 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dahaiI0 2010-07-17
要用EnableMenuItem就添加下面一行:
CMainFrm::CMainFrm
{
m_bAutoMenuEnable=FALSE;
}
回复
向立天 2010-07-17
你这菜单是弹出菜单么?
如果不是应该在相应菜单项的ON_UPDATE_COMMAND_UI消息里设置
回复
wcc_627 2010-07-17
还想再问一句,我想在点了Text菜单后,该菜单变成灰色不可用,可是用下面的语句总是出现异常,请教大家这是为什么
CMenu menu;
menu.EnableMenuItem(ID_TEXT,MF_GRAYED);
回复
wcc_627 2010-07-17
可以了,谢谢谢谢!呵呵
回复
jyz395139875 2010-07-17
void CTest2_1_3View::OnText()
{
temp=1;
}

void CTest2_1_3View::OnDrawPicture()
{
temp=2;

}

换成
void CTest2_1_3View::OnText()
{
temp=1;
Invalidate(TRUE);
}

void CTest2_1_3View::OnDrawPicture()
{
temp=2;
Invalidate(TRUE);
}
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……