我知道它一点也不难,只是我实在太菜鸟。。。好吧,紧急求助~~

kuaileliuyuan 2011-01-19 11:09:05
我从一本书上学着写了一个简单的画图软件,本来画的功能实现了的,但是想要实现编辑和调色之类的,结果不仅不行,而且原有的一些菜单项也变成灰的了。。。我都弄了一天了,疯了,实在不知道怎么弄了,很快就要交作业了,劳烦各位大虾帮帮忙吧,小女子感激不尽~~~~~
在邮箱software_csdn@163.com 密码software 收件箱中~~~
...全文
227 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
每件事 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 kuaileliuyuan 的回复:]
我把代码弄出来了啊,大侠们啊,帮帮忙吧。。。
[/Quote]

忘了上了,解决了?
kuaileliuyuan 2011-01-24
  • 打赏
  • 举报
回复
我把代码弄出来了啊,大侠们啊,帮帮忙吧。。。
kuaileliuyuan 2011-01-24
  • 打赏
  • 举报
回复
为,为,为什么啊?!我身体状况挺正常的啊,米有胡子啊,女生一个啊,虽然C++学的烂了点。。。[Quote=引用 11 楼 lisunlin0 的回复:]
引用楼主 kuaileliuyuan 的回复:
小女子感激不尽~~~~~

上当了,楼主是长胡子的~~
[/Quote]
kuaileliuyuan 2011-01-24
  • 打赏
  • 举报
回复
...我是这么做的,那些原有的标准项确实可以出来了,但是我自己添加的那几个键还是出不来啊,我自己添的那几个都放在ON_COMMAND ON_UPDATE_COMMAND 里了的。。。。。。[Quote=引用 12 楼 hxyzby 的回复:]
引用 8 楼 kuaileliuyuan 的回复:
辛苦大虾~~~~~那些标准项确实是可以出来了,但是我后加的几个button还是出不来额,还有toolbar也出不来啊。。。放在ON_COMMAND ON_UPDATE_COMMAND 里了阿。。。引用 7 楼 hxyzby 的回复:
附上原理:

When this data member is enabled (which is the……
[/Quote]
sunlin7 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 kuaileliuyuan 的回复:]
小女子感激不尽~~~~~
[/Quote]
上当了,楼主是长胡子的~~
每件事 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kuaileliuyuan 的回复:]
辛苦大虾~~~~~那些标准项确实是可以出来了,但是我后加的几个button还是出不来额,还有toolbar也出不来啊。。。放在ON_COMMAND ON_UPDATE_COMMAND 里了阿。。。引用 7 楼 hxyzby 的回复:
附上原理:

When this data member is enabled (which is the default), menu items that ……
[/Quote]


我无语了。。。那个是为什么这么添加这句代码的解释。不是让你那么做。。。。。那句话,大致意思是,MFC对菜单改动的自动调整。

你做的是这个,添加m_bAutoMenuEnable=FALSE;


CMainFrame 里的

OnCreate(LPCREATESTRUCT lpCreateStruct)函数 里添加

m_bAutoMenuEnable=FALSE;

kuaileliuyuan 2011-01-21
  • 打赏
  • 举报
回复
VCadView.CPP里是这样
ON_COMMAND_RANGE(ID_MOVE,ID_MIRROR,CVCadView::OnModifyEntity)
ON_UPDATE_COMMAND_UI_RANGE(ID_MOVE,ID_MIRROR,CVCadView::OnUpdateModifyCommand)

void CVCadView::OnModifyEntity(int m_nID)
{
CVCadDoc* pDoc=GetDocument();
ASSERT(pDoc);

if(m_pCmd)
{
m_pCmd->Cancel();
delete m_pCmd;
m_pCmd=NULL;
}

if(pDoc->m_selectArray.GetSize()==0)
{
CString strError = _T("请首先选取图元");
AfxMessageBox(strError);
return;
}
switch(m_nID)
{
case ID_MOVE: // 平移
{
m_pCmd=new CMove();
break;
}
case ID_ROTATE: // 旋转
{
m_pCmd=new CRotate();
break;
}
case ID_MIRROR: // 镜像
{
m_pCmd=new CMirror();
break;
}
default:
break;
}
}
void CVCadView::OnUpdateModifyCommand(CCmdUI* pCmdUI)
{
CVCadDoc* pDoc=GetDocument();
ASSERT(pDoc);

if(pDoc->m_selectArray.GetSize ()==0)
{
pCmdUI->Enable (false);
return;
}

int flag=0 ;
switch(pCmdUI->m_nID)
{
case ID_MOVE:
{
if((m_pCmd!=NULL && m_pCmd->GetType ()==ctMove))
flag=1;
break;
}
case ID_ROTATE:
{
if((m_pCmd!=NULL && m_pCmd->GetType ()==ctRotate))
flag=1;
break;
}
case ID_MIRROR:
{
if((m_pCmd!=NULL && m_pCmd->GetType ()==ctMirror))
flag=1;
break;
}
default:
break;
}
pCmdUI->SetCheck (flag);
}

VCadView.h
protected:
//{{AFX_MSG(CVCadView)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnCancelMode();
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnCaptureChanged(CWnd *pWnd);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnPick();
afx_msg void OnUpdatePick(CCmdUI* pCmdUI);
//}}AFX_MSG
afx_msg void OnCreateEntity(int m_nID);
afx_msg void OnUpdateCreateCommand(CCmdUI *pCmdUI);
afx_msg void OnModifyEntity(int m_nID);
afx_msg void OnUpdateModifyCommand(CCmdUI* pCmdUI);
DECLARE_MESSAGE_MAP()
[Quote=引用 2 楼 wltg2001 的回复:]
这个说得也太笼统了。
[/Quote]
kuaileliuyuan 2011-01-21
  • 打赏
  • 举报
回复
几位大神,我有点不知道该贴哪些代码,把相关的都弄上来么?
[Quote=引用 1 楼 lazy_2010 的回复:]
你还是先上代码吧
[/Quote]
kuaileliuyuan 2011-01-21
  • 打赏
  • 举报
回复
辛苦大虾~~~~~那些标准项确实是可以出来了,但是我后加的几个button还是出不来额,还有toolbar也出不来啊。。。放在ON_COMMAND ON_UPDATE_COMMAND 里了阿。。。[Quote=引用 7 楼 hxyzby 的回复:]
附上原理:

When this data member is enabled (which is the default), menu items that do not have ON_UPDATE_COMMAND_UI or ON_COMMAND handlers will be automatically disabled when the user pulls down a menu……
[/Quote]
每件事 2011-01-20
  • 打赏
  • 举报
回复
我居然是第一个下载附件的,无语了。我先看下。
每件事 2011-01-20
  • 打赏
  • 举报
回复
附上原理:

When this data member is enabled (which is the default), menu items that do not have ON_UPDATE_COMMAND_UI or ON_COMMAND handlers will be automatically disabled when the user pulls down a menu.


熬夜帮你解决问题,分分分。。。。。。。。。。。。。。
每件事 2011-01-20
  • 打赏
  • 举报
回复
在你的




CMainFrame 里的

OnCreate(LPCREATESTRUCT lpCreateStruct)函数 里添加

m_bAutoMenuEnable=FALSE;


这样,编辑框里下来菜单就可以用了。
bdshr 2011-01-19
  • 打赏
  • 举报
回复
子曰:唯小(人)女子难养也!
哈哈
heng691 2011-01-19
  • 打赏
  • 举报
回复
贴贴代码出来,大家帮你看一下下
wltg2001 2011-01-19
  • 打赏
  • 举报
回复
这个说得也太笼统了。
lazy_2010 2011-01-19
  • 打赏
  • 举报
回复
你还是先上代码吧

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧