VC++孙鑫视频笔记(九)

  1.  如何修改MFC AppWizard向导生成的框架程序的外观和大小,在CMainFrame的PreCreateWindow里修改其参数CREATESTRUCT & cs ;在窗口创建之后,用SetWindowLong(),可以在onCreate函数之后调用。

      修改图标、光标、背景的三种方法,

      动态图标:用定时器 + SetClassLong();

      三种自定义图标加载方式: m_hIcons[0]=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1)); m_hIcons[1]=LoadIcon(theApp.m_hInstance,MAKEINTRESOURCE(IDI_ICON2)); m_hIcons[2]=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON3));

  2. 如何增加和删除工具栏按钮(可以直接在资源视图里用鼠标即可完成);

    如何给应用程序增加工具栏:

       a.在ResourceView中增加一个新的工具栏,编辑工具栏;

       b.CToolBar  newName;

       c.OnCreate中模仿系统自定义toolBar的过程,主要代码如下:

if (!m_newToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_RIGHT | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_newToolBar.LoadToolBar(IDR_TOOLBAR1)) { TRACE0("Failed to create toolbar/n"); return -1; // fail to create } m_newToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_newToolBar);

 

     如何显示和隐藏工具栏:

方法一:if(m_newToolBar.IsWindowVisible()) { m_newToolBar.ShowWindow(SW_HIDE); } else { m_newToolBar.ShowWindow(SW_SHOW); } RecalcLayout(); DockControlBar(&m_newToolBar); 方法二: ShowControlBar(&m_newToolBar,!m_newToolBar.IsWindowVisible(),FALSE);

 

    3.状态栏CStatusBar,由提示行(显示菜单栏与工具栏的信息)与状态指示器。如果要想修改指示器,只需要在indicator[]数组中修改。

      在状态栏中添加时钟显示,CTime类及其用法

     CTime t = CTime::GetCurrentTime();

     CString str = t.Format("%H : %M :%S");

     在状态栏中添加进度条(主窗口产生后立即产生进度条的巧妙思想,不能在OnCreate函数中直接处理,要用到自定义消息的方法)

     自定义消息的添加过程:#define UM_YOURMESSAGENAME  WM_USER+1;消息响应函数的原型的声明;消息映射;消息响应函数的实现。

      SendMessage():直接把消息发到消息响应函数;

      PostMessage():将消息放到消息队列中。

      在状态栏上显示坐标:(四种方法)

     ((CMainFrame*)GetParent())->m_wndStatusBar.SetWindowText(str); ((CMainFrame*)GetParent())->SetMessageText(str); ((CMainFrame*)GetParent())->GetMessageBar()->SetWindowText(str); GetParent()->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWindowText(str);

    4.增加启动画面

     Project->AddToProject->Component 中选择启动画面组建,这会增加一个类,启动画面是位图。

你可能感兴趣的:(框架,user,mfc,vc++,工具)