• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用VC.NET制作啟動屏幕的新方法

    發表于:2007-05-25來源:作者:點擊數: 標簽:啟動VC.NET新方法制作利用
    在利用VC++ .net 編程過程中,遇到制作啟動屏幕的問題,幾經試驗,得出一種方便簡單的制作方法。 基本原理是利用對話框窗口的特性,在啟動時首先創建對話框,設置一個獲得位圖文件的句柄,利用Picture控件的SetBitmap(HBITMAP hBitmap)方法,使位圖文件充滿
      在利用VC++.net編程過程中,遇到制作啟動屏幕的問題,幾經試驗,得出一種方便簡單的制作方法。

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

      1. 打開VS.net的開發環境,新建VC++.net中的MFC應用程序,輸入工程名稱MySample,點擊“確定”,“完成”;

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

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

      4. 雙擊對話框窗口,彈出類向導對話框,在類名中鍵入CSplash,選擇基類為Cdialog,點擊確定,定義控件Picture的控件變量為m_pic;

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

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

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

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

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

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

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

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

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

    #include "Splash.h"

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

    BOOL CMySampleApp::InitInstance()
    {
     …
     AfxEnableControlContainer();
     CSplash splash;
     splash.DoModal();
     …
    }



    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>