• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            VC++6.0禁止改變單文檔窗口大小,修改標題的實現

            剛才又有人在我QQ里問到如何禁止用戶該表自己單文檔窗體的大小,修改標題等等問題,其實這些問題不難,那么我現在來講一下這個東西的實現。

            首先找到單文檔程序中的PreCreateWindow(CREATESTRUCT& cs)這個函數,這個函數是用來設置我們窗體的一些特征的,現在,我們來仔細看一下這個函數,如下:

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

            return TRUE;
            }

            首先來看這個參數CREATESTRUCT& cs,是一個CREATESTRUCT結構的引用,那好,我們再來查詢下MSDN,看一下這個結構,如下:

            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;

            我們來一個一個的看這些參數:

            LPVOID    lpCreateParams:這個參數用來指向將被用于創建窗口的數據的指針。

            HINSTANCE hInstance: 這個參數標識了擁有新窗口的模塊的模塊實例的句柄。

            HMENU     hMenu:這個參數標識了要被用于新窗口的菜單。如果是子窗口,則包含整數ID。

            HWND      hwndParent:這個參數標識了擁有新窗口的窗口。如果新窗口是一個頂層窗口,這個參數可以為NULL。

            int       cy:這個參數指定了新窗口的高。

            int       cx:這個參數指定了新窗口的寬。

            int       y:這個參數這個參數指定了新窗口的左上角的Y軸坐標。如果新窗口是一個子窗口,則坐標是相對于父窗口的;否則坐標是相對于屏幕原點的。

            int       x:這個參數定了新窗口的左上角的X軸坐標。如果新窗口是一個子窗口,則坐標是相對于父窗口的;否則坐標是相對于屏幕原點的。

            LONG      style:這個參數指定了新窗口的風格。

            LPCTSTR   lpszName:這個參數指向一個以null結尾的字符串,指定了新窗口的名字。

            LPCTSTR   lpszClass:這個參數指向一個以null結尾的字符串,指定了新窗口的Windows類名(一個WNDCLASS結構;更多的信息參見Win32 SDK文檔)。

            DWORD     dwExStyle:這個參數指定了新窗口的擴展風格。

            在這些參數里面我們一般經常用到的是cy、cx、y、x、style、lpszName這幾個,需要特別注意。

            好了,現在開始在PreCreateWindow(CREATESTRUCT& cs)
            加上代碼,實現禁止改變單文檔窗口大小:

            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.hMenu = NULL;//去掉菜單
            cs.style&=~WS_MAXIMIZEBOX; //禁用按動最大化按鈕
            cs.style&=~WS_THICKFRAME;//禁止用戶改變窗口大小
            cs.cx = 700;//窗口寬度
            cs.cy = 500;//窗口高度

            cs.style&=~FWS_ADDTOTITLE;//將FWS_ADDTOTITLE去掉

            cs. lpszName = "標題"http://改變標題,替換自己的標題
            return TRUE;
            }

            這里我們要注意,給這些參數賦值的時候我們需要用&符號還有一個~符號,我來解釋一個:

            cs.style&=~WS_MAXIMIZEBOX; //禁用按動最大化按鈕

            這句的意思是將WS_MAXIMIZEBOX從style里去掉,是個反與的操作,其他的類同。

            posted on 2010-08-03 12:39 wrh 閱讀(1611) 評論(2)  編輯 收藏 引用

            評論

            # re: VC++6.0禁止改變單文檔窗口大小,修改標題的實現 2010-08-03 13:43 戰魂小筑

            珍惜生命,遠離VC6  回復  更多評論   

            # shi 2010-12-30 12:01 uk dress

            good post...I like this......  回復  更多評論   

            導航

            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            統計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久久国产精品亚洲一区| 久久夜色精品国产www| 久久99这里只有精品国产| 日产精品久久久久久久| 97精品国产97久久久久久免费| 亚洲AV日韩精品久久久久| 精品久久久噜噜噜久久久| 国产精品久久久99| 久久精品国产亚洲AV忘忧草18| 国产精品久久毛片完整版| 欧美午夜A∨大片久久 | 91精品国产91久久久久久蜜臀| 久久精品成人一区二区三区| 无码国产69精品久久久久网站| 青青青伊人色综合久久| 亚洲国产精品无码久久SM| 久久精品视屏| 久久er热视频在这里精品| 久久精品国产久精国产果冻传媒 | 少妇人妻88久久中文字幕| 99久久亚洲综合精品成人| 久久精品国产免费观看三人同眠| 久久精品国产久精国产| 99久久99久久精品国产片果冻 | 亚洲精品tv久久久久| 久久97精品久久久久久久不卡| 久久人人爽人人人人爽AV| 人人狠狠综合久久亚洲| 色噜噜狠狠先锋影音久久| 久久国产热精品波多野结衣AV| 麻豆精品久久久久久久99蜜桃| 99久久www免费人成精品| avtt天堂网久久精品| 久久午夜伦鲁片免费无码| 亚洲综合日韩久久成人AV| 国产免费久久精品99re丫y| 亚洲欧美另类日本久久国产真实乱对白| 国产精品伦理久久久久久| 久久综合九色综合久99| 91麻精品国产91久久久久| 国产精品va久久久久久久|