修改应用程序窗口的外观

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;
}
原文地址:https://www.cnblogs.com/zhouwanqiu/p/6920809.html