关于工具条显示的问题 我把另外一个工程B的工具条拖到我自己的工程A中,发现打开图象时候,和工程B不一样了。在B中,打开图象,放大的工具图标由灰色变成明亮的。我的A没有变化。查看B,发现放大工具图标,也没有对应的初始化函数,实在不明白了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要是这样的话,可以通过SetState来进行设置就可以了~!~~ 具体的可以参考MSDN:BOOL SetState(int nID,UINT nState ); 我看了所有的地方,初始化都是pCmdUI->Enable(0);后来怎么让他变亮的呢,没有pCmdUI->Enable(1);啊 在下面函数中如果什么都没有写,结果导致放大工具条也能变亮,郁闷void CDemoDoc::OnUpdateViewZoomout(CCmdUI* pCmdUI) { if (stretchMode) pCmdUI->Enable(0); if (m_ZoomFactor<=0.125) pCmdUI->Enable(0);} 如果实在不行请把代码压成*.rar当附件发在我的论坛上. 同时在www.csdn.net上发帖,并给出在我的论坛的链接.压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps. ViewZoomout是不是此按钮的ID如果是,OnUpdateViewZoomout函数就是控制此按钮的啊 D:\cximage599c_full\demo\demoDoc.cpp(63): ON_COMMAND(ID_VIEW_ZOOMIN, OnViewZoomin)D:\cximage599c_full\demo\demoDoc.cpp(65): ON_UPDATE_COMMAND_UI(ID_VIEW_ZOOMIN, OnUpdateViewZoomin)D:\cximage599c_full\demo\demoView.cpp(403): if (!pDoc->GetWaitingClick()) PostMessage(WM_COMMAND,ID_VIEW_ZOOMIN);D:\cximage599c_full\demo\resource.h(117):#define ID_VIEW_ZOOMIN 32786就这些,郁闷啊 ON_UPDATE_COMMAND_UI(ID_VIEW_ZOOMIN, OnUpdateViewZoomin)的意思是在OnUpdateViewZoomin中可以控制此按钮。pCmdUI->Enable(0);表示禁用此按钮。请查看stretchMode m_ZoomFactor 这两个变量的量是否正确 非常感谢您,he_zhidan(何志丹:www.dzlishi.net,www.vcshare.net),我把整个过程说一下,1、打开工程,处于无文件打开状态(filenothing)。这时只显示了框架类的菜单。显示的工具条大部分都是灰色的(除了新建和打开文件显亮可用)2、打开一个图像文件(这时子框架菜单被载入),下面就是关键问题:放大工具图标显亮变为可用,但查找其初始化函数OnUpdateViewZoomin)没有pCmdUI->Enable(1);,初始化函数如下:void CDemoDoc::OnUpdateViewZoomout(CCmdUI* pCmdUI) { if (stretchMode) pCmdUI->Enable(0); if (m_ZoomFactor<=0.125) pCmdUI->Enable(0);}依照函数中语句,应该不管如何都会保持不可用的吧,前辈您说是吗?我按照您的要求,查找放大工具图标Id,有如下结果,D:\cximage599c_full\demo\demoDoc.cpp(63): ON_COMMAND(ID_VIEW_ZOOMIN, OnViewZoomin)D:\cximage599c_full\demo\demoDoc.cpp(65): ON_UPDATE_COMMAND_UI(ID_VIEW_ZOOMIN, OnUpdateViewZoomin)D:\cximage599c_full\demo\demoView.cpp(403): if (!pDoc->GetWaitingClick()) PostMessage(WM_COMMAND,ID_VIEW_ZOOMIN);D:\cximage599c_full\demo\resource.h(117):#define ID_VIEW_ZOOMIN 32786也就是当打开文件时候,也就初始化函数对其操作了,请问还会有什么情况会导致它显亮可用吗? 非常感谢您,he_zhidan(何志丹:www.dzlishi.net,www.vcshare.net),我把整个过程说一下,1、打开工程,处于无文件打开状态(filenothing)。这时只显示了框架类的菜单。显示的工具条大部分都是灰色的(除了新建和打开文件显亮可用)2、打开一个图像文件(这时子框架菜单被载入),下面就是关键问题:放大工具图标显亮变为可用,但查找其初始化函数OnUpdateViewZoomin)没有pCmdUI->Enable(1);,初始化函数如下:void CDemoDoc::OnUpdateViewZoomout(CCmdUI* pCmdUI) {if (stretchMode) pCmdUI->Enable(0);if (m_ZoomFactor<=0.125) pCmdUI->Enable(0);}依照函数中语句,应该不管如何都会保持不可用的吧,前辈您说是吗?我按照您的要求,查找放大工具图标Id,有如下结果,D:\cximage599c_full\demo\demoDoc.cpp(63):ON_COMMAND(ID_VIEW_ZOOMIN, OnViewZoomin)D:\cximage599c_full\demo\demoDoc.cpp(65):ON_UPDATE_COMMAND_UI(ID_VIEW_ZOOMIN, OnUpdateViewZoomin)D:\cximage599c_full\demo\demoView.cpp(403):if (!pDoc->GetWaitingClick()) PostMessage(WM_COMMAND,ID_VIEW_ZOOMIN);D:\cximage599c_full\demo\resource.h(117):#define ID_VIEW_ZOOMIN 32786也就是当打开文件时候,也就初始化函数对其操作了,请问还会有什么情况会导致它显亮可用吗? he_zhidan(何志丹:www.dzlishi.net,www.vcshare.net)在吗? he_zhidan(何志丹:www.dzlishi.net,www.vcshare.net)在吗? EDIT控件显示问题? 图中的问题如何解决 BCG库中CBCGPTabView 怎样设置STYLE_3D_ONENOTE风格 TransmitFile() 返回10055错误?? 有朋友知道关于vc中的mfc odbc数据库编程方面的视频教程吗?能给个连接地址也行,非常感谢! BHO中如何远程连接SQL2000,请高手给出代码参考 初学者宏的问题,大家帮忙啊 2个版本的AfxBeginThread()之辨析 求助拆分窗口的问题之2! 我的程序在运行后,经过一段时间的操作,会变得很慢很慢...... 关于字符串转换问题,大家帮忙 这个注册表位置是干什么用的
SetState来进行设置就可以了~!~~
BOOL SetState(
int nID,
UINT nState );
void CDemoDoc::OnUpdateViewZoomout(CCmdUI* pCmdUI)
{
if (stretchMode) pCmdUI->Enable(0);
if (m_ZoomFactor<=0.125) pCmdUI->Enable(0);
}
同时在www.csdn.net上发帖,并给出在我的论坛的链接.压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps.
如果是,
OnUpdateViewZoomout函数就是控制此按钮的啊
D:\cximage599c_full\demo\demoDoc.cpp(65): ON_UPDATE_COMMAND_UI(ID_VIEW_ZOOMIN, OnUpdateViewZoomin)
D:\cximage599c_full\demo\demoView.cpp(403): if (!pDoc->GetWaitingClick()) PostMessage(WM_COMMAND,ID_VIEW_ZOOMIN);
D:\cximage599c_full\demo\resource.h(117):#define ID_VIEW_ZOOMIN 32786就这些,郁闷啊
的意思是在OnUpdateViewZoomin中可以控制此按钮。
pCmdUI->Enable(0);表示禁用此按钮。请查看
stretchMode m_ZoomFactor 这两个变量的量是否正确
1、打开工程,处于无文件打开状态(filenothing)。这时只显示了框架类的菜单。显示的工具条大部分都是灰色的(除了新建和打开文件显亮可用)
2、打开一个图像文件(这时子框架菜单被载入),下面就是关键问题:
放大工具图标显亮变为可用,但查找其初始化函数OnUpdateViewZoomin)没有pCmdUI->Enable(1);,初始化函数如下:
void CDemoDoc::OnUpdateViewZoomout(CCmdUI* pCmdUI)
{
if (stretchMode) pCmdUI->Enable(0);
if (m_ZoomFactor<=0.125) pCmdUI->Enable(0);
}
依照函数中语句,应该不管如何都会保持不可用的吧,前辈您说是吗?
我按照您的要求,查找放大工具图标Id,有如下结果,
D:\cximage599c_full\demo\demoDoc.cpp(63): ON_COMMAND(ID_VIEW_ZOOMIN, OnViewZoomin)
D:\cximage599c_full\demo\demoDoc.cpp(65): ON_UPDATE_COMMAND_UI(ID_VIEW_ZOOMIN, OnUpdateViewZoomin)
D:\cximage599c_full\demo\demoView.cpp(403): if (!pDoc->GetWaitingClick()) PostMessage(WM_COMMAND,ID_VIEW_ZOOMIN);
D:\cximage599c_full\demo\resource.h(117):#define ID_VIEW_ZOOMIN 32786
也就是当打开文件时候,也就初始化函数对其操作了,请问还会有什么情况会导致它显亮可用吗?
1、打开工程,处于无文件打开状态(filenothing)。这时只显示了框架类的菜单。显示的工具条大部分都是灰色的(除了新建和打开文件显亮可用)
2、打开一个图像文件(这时子框架菜单被载入),下面就是关键问题:
放大工具图标显亮变为可用,但查找其初始化函数OnUpdateViewZoomin)没有pCmdUI->Enable(1);,初始化函数如下:
void CDemoDoc::OnUpdateViewZoomout(CCmdUI* pCmdUI)
{
if (stretchMode) pCmdUI->Enable(0);
if (m_ZoomFactor<=0.125) pCmdUI->Enable(0);
}
依照函数中语句,应该不管如何都会保持不可用的吧,前辈您说是吗?
我按照您的要求,查找放大工具图标Id,有如下结果,
D:\cximage599c_full\demo\demoDoc.cpp(63):ON_COMMAND(ID_VIEW_ZOOMIN, OnViewZoomin)
D:\cximage599c_full\demo\demoDoc.cpp(65):ON_UPDATE_COMMAND_UI(ID_VIEW_ZOOMIN, OnUpdateViewZoomin)
D:\cximage599c_full\demo\demoView.cpp(403):if (!pDoc->GetWaitingClick()) PostMessage(WM_COMMAND,ID_VIEW_ZOOMIN);
D:\cximage599c_full\demo\resource.h(117):#define ID_VIEW_ZOOMIN 32786
也就是当打开文件时候,也就初始化函数对其操作了,请问还会有什么情况会导致它显亮可用吗?