修改VC程序标准主框架

      通过ClassWizard创建一个MFC(exe)工程,运行后出现的界面为标准化的界面,而往往一些应用需要我们构建一个非标准化的界面比如修改程序名称、不要缩小或放大按钮、窗口创建位置、以及窗口长度和宽度等等.所以研究构建非标准界面是有市场价值的。那我们该怎样修改了,其实很简单,请继续往下看!

      系统使用这个BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 函数负责对界面属性构件,我们先看看CREATESTRUCT这个结构体,里面封装了对WINDOW窗体设置的参数.

typedef struct tagCREATESTRUCT { // cs
    LPVOID    lpCreateParams;
    HINSTANCE hInstance;
    HMENU     hMenu;
    HWND      hwndParent;
    int       cy;
    int       cx;
    int       y;
    int       x;
    LONG      style;
    LPCTSTR   lpszName;
    LPCTSTR   lpszClass;
    DWORD     dwExStyle;
} CREATESTRUCT;

既然搞清楚了这点了,这下就好办了,设置其值,并调用CFrameWnd::PreCreateWindow(cs).
 int cxScreen=::GetSystemMetrics(SM_CXSCREEN);  //获得当前显示器屏幕的宽度
 int cyScreen=::GetSystemMetrics(SM_CYSCREEN);  //获得当前显示器屏幕的高度
 cs.cx=cxScreen/4;                 //设置窗口长度为屏幕的1/4
 cs.cy=cyScreen/4;                 //设置窗口高度为屏幕的1/4
 cs.style=WS_TILEDWINDOW;            //设置窗口样式
 cs.lpszName="xinwen";              //设置标题


 return CFrameWnd::PreCreateWindow(cs);

 

posted @ 2008-11-13 17:54  熊剑  阅读(393)  评论(0)    收藏  举报