• <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禁止改變單文檔窗口大小,修改標(biāo)題的實(shí)現(xiàn)

            剛才又有人在我QQ里問(wèn)到如何禁止用戶該表自己?jiǎn)挝臋n窗體的大小,修改標(biāo)題等等問(wèn)題,其實(shí)這些問(wèn)題不難,那么我現(xiàn)在來(lái)講一下這個(gè)東西的實(shí)現(xiàn)。

            首先找到單文檔程序中的PreCreateWindow(CREATESTRUCT& cs)這個(gè)函數(shù),這個(gè)函數(shù)是用來(lái)設(shè)置我們窗體的一些特征的,現(xiàn)在,我們來(lái)仔細(xì)看一下這個(gè)函數(shù),如下:

            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;
            }

            首先來(lái)看這個(gè)參數(shù)CREATESTRUCT& cs,是一個(gè)CREATESTRUCT結(jié)構(gòu)的引用,那好,我們?cè)賮?lái)查詢下MSDN,看一下這個(gè)結(jié)構(gòu),如下:

            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;

            我們來(lái)一個(gè)一個(gè)的看這些參數(shù):

            LPVOID    lpCreateParams:這個(gè)參數(shù)用來(lái)指向?qū)⒈挥糜趧?chuàng)建窗口的數(shù)據(jù)的指針。

            HINSTANCE hInstance: 這個(gè)參數(shù)標(biāo)識(shí)了擁有新窗口的模塊的模塊實(shí)例的句柄。

            HMENU     hMenu:這個(gè)參數(shù)標(biāo)識(shí)了要被用于新窗口的菜單。如果是子窗口,則包含整數(shù)ID。

            HWND      hwndParent:這個(gè)參數(shù)標(biāo)識(shí)了擁有新窗口的窗口。如果新窗口是一個(gè)頂層窗口,這個(gè)參數(shù)可以為NULL。

            int       cy:這個(gè)參數(shù)指定了新窗口的高。

            int       cx:這個(gè)參數(shù)指定了新窗口的寬。

            int       y:這個(gè)參數(shù)這個(gè)參數(shù)指定了新窗口的左上角的Y軸坐標(biāo)。如果新窗口是一個(gè)子窗口,則坐標(biāo)是相對(duì)于父窗口的;否則坐標(biāo)是相對(duì)于屏幕原點(diǎn)的。

            int       x:這個(gè)參數(shù)定了新窗口的左上角的X軸坐標(biāo)。如果新窗口是一個(gè)子窗口,則坐標(biāo)是相對(duì)于父窗口的;否則坐標(biāo)是相對(duì)于屏幕原點(diǎn)的。

            LONG      style:這個(gè)參數(shù)指定了新窗口的風(fēng)格。

            LPCTSTR   lpszName:這個(gè)參數(shù)指向一個(gè)以null結(jié)尾的字符串,指定了新窗口的名字。

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

            DWORD     dwExStyle:這個(gè)參數(shù)指定了新窗口的擴(kuò)展風(fēng)格。

            在這些參數(shù)里面我們一般經(jīng)常用到的是cy、cx、y、x、style、lpszName這幾個(gè),需要特別注意。

            好了,現(xiàn)在開(kāi)始在PreCreateWindow(CREATESTRUCT& cs)
            加上代碼,實(shí)現(xiàn)禁止改變單文檔窗口大小:

            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; //禁用按動(dòng)最大化按鈕
            cs.style&=~WS_THICKFRAME;//禁止用戶改變窗口大小
            cs.cx = 700;//窗口寬度
            cs.cy = 500;//窗口高度

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

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

            這里我們要注意,給這些參數(shù)賦值的時(shí)候我們需要用&符號(hào)還有一個(gè)~符號(hào),我來(lái)解釋一個(gè):

            cs.style&=~WS_MAXIMIZEBOX; //禁用按動(dòng)最大化按鈕

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

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

            評(píng)論

            # re: VC++6.0禁止改變單文檔窗口大小,修改標(biāo)題的實(shí)現(xiàn) 2010-08-03 13:43 戰(zhàn)魂小筑

            珍惜生命,遠(yuǎn)離VC6  回復(fù)  更多評(píng)論   

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

            good post...I like this......  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            統(tǒng)計(jì)

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            尹人香蕉久久99天天拍| 一本大道加勒比久久综合| 久久只这里是精品66| 2021国内久久精品| 99久久免费国产精精品| 久久久久一级精品亚洲国产成人综合AV区| 国产99久久久国产精品~~牛| 亚洲欧美日韩精品久久亚洲区 | 三级三级久久三级久久| 亚洲精品美女久久777777| 97久久超碰成人精品网站| 久久久久无码精品| 狠狠色丁香婷综合久久| 久久夜色精品国产www| 久久99热狠狠色精品一区| 亚洲欧洲中文日韩久久AV乱码| 丁香五月网久久综合| 波多野结衣久久精品| 99久久久久| 久久国产精品久久| 久久久久国产精品熟女影院| 亚洲国产成人久久笫一页| 国产99久久久久久免费看 | 91久久九九无码成人网站| 中文字幕人妻色偷偷久久| 久久亚洲精品无码播放| 久久国产精品久久国产精品| 亚洲精品无码久久久久久| 久久免费视频1| 久久无码精品一区二区三区| 精品久久久久久99人妻| 久久精品国产亚洲网站| 999久久久无码国产精品| 亚洲乱码精品久久久久..| 久久99热这里只频精品6| 久久亚洲AV无码西西人体| 久久久久综合中文字幕| 午夜精品久久久内射近拍高清| 久久久久亚洲精品天堂久久久久久 | 婷婷久久五月天| 久久久久亚洲AV成人网|