• <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>
            隨筆-145  評論-173  文章-70  trackbacks-0
            不知道為何,寫過的一個blog不見了,于是重新簡單的整理下。本來有篇blog需要互相輔正的,不過沒辦法了。

            創建時修改,即在CMainFrame的成員函數PreCreateWindow函數來實現。
            1.創建時修改程序的外觀:修改初始化的窗口大小等等屬性。
            在CMainFrame函數中,設置cs的各個屬性,cs是一個結構體,設置cx,cy表示它的大小,設置其他的表示另外的大小。
            注:原書由一個錯誤,可是,可以通過配套的源代碼來看出。
            就是書上是:    cs.style 
            |= ~FWS_ADDTOTITLE;
            而代碼上是:    cs.style 
            = WS_OVERLAPPEDWINDOW;
            如果按照書上的代碼,就會假死,每次啟動都失去響應,而且標題沒有名稱。
            如果是代碼上的    cs.style 
            = WS_OVERLAPPEDWINDOW;則不會出現這個結果。
            修改的源代碼如下:
            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 
            = 500;
                cs.cy 
            = 300;
            //    cs.style = WS_OVERLAPPEDWINDOW;
                cs.style |= ~FWS_ADDTOTITLE;
                cs.lpszName 
            = "Helloworld";

                
            return TRUE;
            }


            注:可以通過修改CMainFrame的成員函數PreCreateWindow函數的CREATESTRUCT結構體來個性化窗口的外觀。在單文檔應用程序中,默認的窗口類型是WS_OVERLAPPEDWINDOW和FWS_ADDTOTILE,其中,FWS_ADDTOTITLE是一個MFC類型,將文檔的標題添加到窗口標題。所以要設置窗口標題的內容,必須將FWS_ADDTOTITLE屬性去掉。
            但是,將屬性設置改為
            &之后,就不會出現那個問題了。怪了…………
            特別注意的是,如果不講屬性設置為
            ~FWS_ADDTOTITLE,就不會更改標題的名稱,即使設置了lpszName也不行
            具體的屬性設置見:http://m.shnenglu.com/deercoder/archive/2010/02/17/107962.html


            2.創建后設置的話,需要在CMainFrame和View中的OnCreate函數中,實現SetClassLong函數的使用。
            int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
            {
                
            if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
                    
            return -1;
                
                
            if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
                    
            | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
                    
            !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
                
            {
                    TRACE0(
            "Failed to create toolbar\n");
                    
            return -1;      // fail to create
                }


                
            if (!m_wndStatusBar.Create(this||
                    
            !m_wndStatusBar.SetIndicators(indicators,
                      
            sizeof(indicators)/sizeof(UINT)))
                
            {
                    TRACE0(
            "Failed to create status bar\n");
                    
            return -1;      // fail to create
                }


                
            // 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);

                SetClassLong(m_hWnd,GCL_HICON,(LONG)LoadIcon(NULL,IDI_ERROR)); 
            //更改窗口圖標,同前面的AfxRegisterWndClass函數

                
            return 0;
            }


            int CTest14View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
            {
                
            if (CView::OnCreate(lpCreateStruct) == -1)
                    
            return -1;
                
                
            // TODO: Add your specialized creation code here
                
                SetClassLong(m_hWnd,GCL_HBRBACKGROUND,(LONG)GetStockObject(GRAY_BRUSH));
                SetClassLong(m_hWnd,GCL_HCURSOR,(LONG)LoadCursor(NULL,IDC_HELP));

                
            return 0;
            }




            詳見《Visual C++編程范例開發金典》 P96--99
            posted on 2010-02-17 21:46 deercoder 閱讀(462) 評論(0)  編輯 收藏 引用 所屬分類: MFC程序設計入門
            99国内精品久久久久久久| 久久人人爽人人爽人人AV东京热| 久久婷婷成人综合色综合| 99久久99久久久精品齐齐| 久久久久久无码国产精品中文字幕 | 久久精品无码一区二区app| 久久婷婷人人澡人人爽人人爱| 2021最新久久久视精品爱| 色婷婷综合久久久久中文 | 日批日出水久久亚洲精品tv| 国产aⅴ激情无码久久| 国产成年无码久久久久毛片| 色婷婷久久久SWAG精品| 久久精品国产精品青草| 狠狠色狠狠色综合久久| 99久久国产综合精品成人影院| 麻豆精品久久久久久久99蜜桃| 久久九九青青国产精品| 亚洲va中文字幕无码久久| 精品欧美一区二区三区久久久| 亚洲精品国产字幕久久不卡| 亚洲第一永久AV网站久久精品男人的天堂AV| 久久精品国产亚洲AV香蕉| 亚洲日本久久久午夜精品| 色综合久久88色综合天天 | www性久久久com| 亚洲AV乱码久久精品蜜桃| 久久无码AV一区二区三区| 国产精品久久久久久久午夜片| 久久精品国产亚洲av影院| 人妻无码久久一区二区三区免费 | 97久久超碰国产精品2021| 久久精品国产乱子伦| 亚洲中文字幕伊人久久无码 | 久久天天躁狠狠躁夜夜96流白浆| 久久午夜免费视频| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 免费观看久久精彩视频| 91精品久久久久久无码| 94久久国产乱子伦精品免费| 亚洲国产成人久久综合碰碰动漫3d |