void CMyDaybookView::OnAct()
{
// TODO: Add your command handler code here
CDiaCode dlg;
dlg.DoModal();
if(dlg.m_bLogin =IDOK)
GetDlgItem(IDM_SAVE)->EnableWindow();
}其中的m_bLogin 是CDiaCode中的一个变量。为什么出现
”???“内存指令的”0x00000020"为Read,该内存不能为Read.请回答的具体点啊
{
// TODO: Add your command handler code here
CDiaCode dlg;
dlg.DoModal();
if(dlg.m_bLogin =IDOK)
GetDlgItem(IDM_SAVE)->EnableWindow();
}其中的m_bLogin 是CDiaCode中的一个变量。为什么出现
”???“内存指令的”0x00000020"为Read,该内存不能为Read.请回答的具体点啊
解决方案 »
- ocx控件自定义事件,怎么写代码,在哪里写
- 两个CString相加(+)的莫名其妙的问题
- 新人求助,创建内存位图大小限制问题
- XP中VS2003 + DDK中的plotui Sample编译问题,大侠救命
- 在VC环境下网络编程,用CAsynSocket、CSocket是首选吗?
- <<<<<<<<<<<<<<<<超级难题--1个超难度的dll制作>>>>>>>>>>>>>>>>
- 我在对话框的ListCtrl中用SHGetFileInfo插入系统图标,为什么第二次打开就没有图标了?
- 请问大虾如何除去由boundChecker查出的资源泄漏。
- 老是看到 GPL、LGPL协议到底指什么协议呀?他们全称是什么!
- 求助!求助!有关图形绘制
- 如何在控件上画虚线框?
- 小菜提问illegal use of this type as an expression
GetDlgItem(IDM_SAVE)->EnableWindow();
这个地方应该是 == 吧,你确认一下另外你要确认一下 GetDlgItem(IDM_SAVE) 是否返回了有效值
看来毛病就在这 GetDlgItem(IDM_SAVE) 是否返回了有效值怎么看啊
{
CWnd *pWnd = GetDlgItem(IDM_SAVE);
pWnd ->EnableWindow();
}
你打一个断点,看一下 pWnd 的值
我这里是个单文档窗体,毛病是不是在这啊?
请问如何获得单文档上菜单控件的指针?
是菜单的ID?
{
CMenu *pMenu=GetMenu(IDM_SAVE);
pMenu ->EnableWindow();
}
报错EnableWindow() is not a mumber of "CMenu"
{
CMenu *pMenu=GetMenu(IDM_SAVE);
pMenu ->EnableMenuItem();
} error C2660: 'GetMenu' : function does not take 1 parameters
error C2660: 'EnableMenuItem' : function does not take 0 parameters
Error executing cl.exe.
需要先映射IDM_SAVE 的 Update_command_UI 消息函数
在响应函数里面
PCmdUI->Enable(FALSE)大致是这样的
不管是起用还是禁用
都不能用你现在的方法
因为GetDlgItem得到的是对话框元素的窗口句柄
菜单不是对话框元素
而且菜单句柄和窗口句柄是两回事
影射Update_command消息的位置和影射菜单消息的位置在一起
这个消息是系统自动调用的
不过如果你做的是基于对话框的程序
想成功映射这个消息还需要一些特殊处理
你可以参考这个帖子
http://topic.csdn.net/u/20100118/13/e8c50e12-0b78-4979-be04-e9c11a714c4f.html