• <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>

            twzheng's cppblog

            『站在風(fēng)口浪尖緊握住鼠標(biāo)旋轉(zhuǎn)!』 http://www.cnblogs.com/twzheng

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              136 隨筆 :: 78 文章 :: 353 評論 :: 0 Trackbacks
            [轉(zhuǎn)]用VC.NET制作啟動屏幕

            [源] http://upschool.com.cn/edu/1333/2006/85/10du135181_1.shtml

            基本原理是利用對話框窗口的特性,在啟動時首先創(chuàng)建對話框,設(shè)置一個獲得位圖文件的句柄,利用Picture控件的SetBitmap(HBITMAP hBitmap)方法,使位圖文件充滿整個Picture控件窗口,最后設(shè)置定時器,整個啟動屏幕就制作完成。
              下面介紹具體實現(xiàn)步驟。

              1. 打開VS.net的開發(fā)環(huán)境,新建VC++.net中的MFC應(yīng)用程序,輸入工程名稱MySample,點擊“確定”,“完成”;

              2. 打開資源視圖,添加對話框,更改ID為ID_DIALOG_SPLASH,設(shè)置對話框Center屬性為True,Border屬性為“無”;

              3. 在對話框中添加Picture控件,設(shè)置Picture控件的ID號為ID_PIC,Type屬性為“位圖”,Center image屬性為True,然后調(diào)整標(biāo)尺使對話框沒有外框,調(diào)整對話框的大小以適應(yīng)啟動屏幕的要求,調(diào)整Picture的寬高使其充滿整個對話框窗口;

              4. 雙擊對話框窗口,彈出類向?qū)υ捒颍陬惷墟I入CSplash,選擇基類為Cdialog,點擊確定,定義控件Picture的控件變量為m_pic;

              5. 在Csplash類中重載OnInitDialog()函數(shù),添加消息WM_CHAR,WM_TIMER,WM_LBUTTONUP,WM_MBUTTONUP,WM_RBUTTONUP;

              6. 在OnInitDialog()函數(shù)中添加代碼如下:

            BOOL CSplash::OnInitDialog()
            {
             CDialog::OnInitDialog();
             //設(shè)置啟動窗口背景,在整個窗口中充滿位圖
             CRect lRect;
             m_pic.GetClientRect(&lRect);//得到Picture控件的窗口大小
             lRect.NormalizeRect();
             //設(shè)置位圖句柄
             HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,"splash.bmp",//更改你喜歡的位圖文件
             IMAGE_BITMAP,lRect.Width(),lRect.Height(),
             LR_LOADFROMFILE|LR_CREATEDIBSECTION);
             m_pic.SetBitmap(hbitmap);

             //設(shè)置定時器
             SetTimer(1,500,NULL);
             return TRUE;
            }

              7. 在OnTimer(UINT nIDEvent) 函數(shù)中添加代碼如下:

            void CSplash::OnTimer(UINT nIDEvent)
            {
             static int i;
             i++;
             if(i > 3)
             {
              //銷毀定時器
              KillTimer(1);
              this->OnOK();
             }
             CDialog::OnTimer(nIDEvent);
            }

              8. 在OnLButtonUp,OnLButtonUp,OnLButtonUp,OnChar函數(shù)中加入以下代碼:

            {
             KillTimer(1);
             this->OnOK();
            }

              9. 在MySample.Cpp中引入頭文件

            #include "Splash.h"

              在InitInstance()函數(shù)中加入代碼:

            BOOL CMySampleApp::InitInstance()
            {
             …
             AfxEnableControlContainer();
             CSplash splash;
             splash.DoModal();
             …
            }
            posted on 2007-04-02 11:36 譚文政 閱讀(309) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
            一本久久免费视频| 久久国产乱子精品免费女| 热RE99久久精品国产66热| 无码八A片人妻少妇久久| 狠狠综合久久AV一区二区三区| 国产aⅴ激情无码久久| 99久久精品免费看国产一区二区三区| 国产精品亚洲综合专区片高清久久久 | 亚洲AV日韩精品久久久久久| 国产产无码乱码精品久久鸭| 久久久久久噜噜精品免费直播| 一本色道久久综合狠狠躁篇| 好久久免费视频高清| 久久亚洲精品国产精品婷婷| 国内精品久久久久久久涩爱| 久久综合综合久久综合| 一级做a爰片久久毛片毛片| 9191精品国产免费久久| 精品综合久久久久久888蜜芽| 老男人久久青草av高清| 国内精品免费久久影院| 四虎国产永久免费久久| 久久亚洲私人国产精品| 777午夜精品久久av蜜臀| 无码8090精品久久一区| 久久香蕉综合色一综合色88| 久久久免费精品re6| 久久久www免费人成精品| 亚洲国产精品嫩草影院久久 | 伊人久久大香线焦AV综合影院| 国产激情久久久久影院小草| 久久青青草原综合伊人| 狠狠干狠狠久久| 精品国产福利久久久| 精品熟女少妇a∨免费久久| 久久久免费精品re6| 狠狠色丁香久久综合婷婷| 久久香蕉综合色一综合色88| 国产—久久香蕉国产线看观看| 久久久久四虎国产精品| 狠狠人妻久久久久久综合蜜桃|