mfc修改應用程序外觀
1、在窗口創建前修改窗體外觀 在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函數中修改,其中CREATESTRUCT結構中有諸如窗口大小和標題等的修改,這里注意的是如果要修改標題的話,需要修改CREATESTRUCT style &= ~FWS_ADDTOTITLE,不讓默認的文檔標題添加到窗口標題上。
在窗口創建后修改窗體外觀 就在OnCreate函數里修改,SetWindowLong(m_hWnd, GWL_STYLE, GetWindowLong(m_hWnd, GWL_STYLE) & ~WS_MAXIMIZEBOX );其中GetWindowLong是獲得已有的樣式,SetWindowLong是設置現在的樣式。
2、在窗口創建前修改光標、背景等 方法1,在CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函數中重新注冊一個窗口類(注:若要修改背景的話,則要在視類的PreCreateWindow中修改,方法是使CREATESTRUCT的lpszClass = 新注冊的窗口類的名字)方法2、調用AfxRegisterWndClass函數修改窗口的類型、光標、背景等
在窗口創建后修改光標、背景等 方法1、就在OnCreate函數里調用SetClassLong(m_hWnd, GCL_HICON, (LONG)m_hIcon[index]);函數
3、獲得應用程序當前實例句柄 方法1、調用AfxGetInstanceHandle()方法2 AfxGetApp()(獲得當前應用程序對象)->m_hInstance
4、m_wndToolBar.EnableDockingCBRS_ALIGN_ANY) 讓工具欄對象可以停靠,EnableDocking(CBRS_ALIGN_ANY)讓主框架窗口可以停靠
5、ShowControlBar(&m_newToolBar, !m_newToolBar.IsVisible(), false)用來控制顯示或隱藏控制條,如工具欄等
6、如果要在程序中設置某個菜單項的狀態,如是否顯示復選標記、該菜單項是否有效等,利用UPDATE_COMMAND_UI消息,顯示復選標記(pCmdUI->SetCheck),菜單項是否有效(pCmdUI->SetCheck->Enable())
7、自己添加消息三步走 1、在頭文件中定義 #define UM_PROGRESS WM_USER + 1設置消息號,只要大于WM_USER就可以了 2、添加afx_msg LRESULT OnProgress(WPARAM wParam, LPARAM lParam)函數 3、在BEGIN_MESSAGE_MAP下添加ON_MESSAGE(UM_PROGRESS, OnProgress) 最后實現OnProgress這個函數
8、SendMessage 直接把消息發送給響應函數并且等到響應函數執行好以后才返回到下一條語句執行
PostMessage 將消息發送到消息隊列中,然后立即返回,就執行下一條語句。不管消息有沒有送達