1. 程式人生 > >修改應用程序窗口的外觀

修改應用程序窗口的外觀

urn cnblogs 重寫 window mfc del 應用程序 max pcre

1、在窗口創建之前修改

  須在程序的框架類CMainFrame類的PreCreateWindow虛函數中進行:    

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
    if( !CFrameWnd::PreCreateWindow(cs) )
        return FALSE;
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs

    cs.cx=300;  //程序窗口的寬度設為300
    cs.cy=200;  //程序窗口的高度設為200
    
    //程序框架類的默認窗口樣式為:WS_OVERLAPPEDWINDOW和FWS_ADDTOTITLE
    //FWS_ADDTOTITLE樣式是MFC特定的一種樣式,用於指示框架將文檔標題添加到窗口標題上
    //須重寫窗口標題的樣式以改變標題內容
    cs.style=WS_OVERLAPPEDWINDOW;
    cs.lpszName="程序窗口標題";  //設置程序的窗口的標題

    return TRUE;
}

2、在窗口創建之後修改

  可在程序的框架類CMainFrame類的OnCreate函數中實現:    

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    ......
    // TODO: Delete these three lines if you don‘t want the toolbar to
    //  be dockable
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndToolBar);
    
    //GetWindowLong(m_hWnd,GWL_STYLE)--獲取指定窗口的類型
    //SetWindowLong(m_hWnd,GWL_STYLE,新的窗口類型)--設置窗口的樣式
    SetWindowLong(m_hWnd,GWL_STYLE,GetWindowLong(m_hWnd,GWL_STYLE)&~WS_MAXIMIZEBOX);

    return 0;
}

修改應用程序窗口的外觀