自个琢磨着

来源:互联网 发布:mac创建电脑账户 编辑:程序博客网 时间:2024/06/10 09:06

 

一、修改程序的标题:(摘)

CMainFramePreCreateWindow函数中修改窗口风格:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
          cs.style &= ~(LONG) FWS_ADDTOTITLE;
          return CFrameWnd::PreCreateWindow(cs);
}
使用此方法,窗口的标题只显示IDR_MAINFRAME字符串中第一个/n之前的部分。

运行结果如下:  

 

二、在CView的OnCreate中不能修改菜单项状态的原因

     换句话来讲,在CMainFrame的OnCreate中可以修改。主要是因CView的创建早于菜单的创建而造成修改一个不存在对象而出现错误。

      这个错误花了我很长时间才找出来,主要是因为VC不像JAVA一样,会详细显示出“异常”的错误原因:

可以看到

 

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CFrameWnd::OnCreate(lpCreateStruct) == -1)  //这里创建了CView了菜单,而且CView早于菜单的创建

return -1;

......

//所以在这里修改菜单的状态比较合适

}

 

 

三、像java一样在界面上进行调试

     在调试菜单的on_command_update_ui时,若在Menu Item的update handler上设置断点,则调试到此后再往下主程序不会显示出来。

      我发现只要按住F5不动就可以使程序界面定格,再用鼠标右键激活出此对话框的右键菜单就可以完全定格此窗口了

 

原创粉丝点击