我的啟動畫面製作

來源:互聯網
上載者:User

在羅雲彬的網站上有關於“Iczelion的Win32彙編教程”的全部文檔(HTML格式的)。

連結為:http://211.90.241.130:22366/view.asp?file=102。

裡面就有關於“怎麼製作程式啟動畫面”的章節。

該節的實現思路為:

1:把啟動畫面做成一個window。該window的屬性和視窗過程函數都得是自己維護的。

2:再把自己做出來像啟動畫面的window放進動態串連庫。

3:然後在自己的主視窗程式的最開始處就載入此動態串連庫,並且執行,啟動視窗執行完後才執行我們主視窗的代碼。

但是這個教程裡面的代碼運行起來後,當顯示啟動視窗的時候,在工作列裡面,有此啟動視窗的標識。

當啟動視窗顯示完後,它自己會自動銷毀,它的工作列標識也會消失。

然後在現實主程式的window,當然在工作列也會顯示主window的標識。

 

最後自己想。。。,如何在現實啟動視窗的時候,工作列不會出現啟動視窗的標識。

例如sql server 2005GUI管理器的啟動視窗,顯示此啟動視窗的時候,工作列沒有顯示此啟動視窗的標識。

為了模仿sql server 2005GUI管理器的啟動視窗,我試著把啟動畫面看成一張位元影像,再把位元影像通過圖片控制項放進對話方塊中,

然後把對話方塊的邊框和圖片控制項的邊框去掉,最後對話方塊的運行效果就是在螢幕中間顯示這張圖片。

接著為這個對話方塊寫一個callback程式,寫一個TIMER callback程式來控制啟動畫面顯示的時間。

// About for IDD_STARTUPSHOW dialog process function
INT_PTR CALLBACK StartUpShow(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
 switch (message)
 {
  case WM_INITDIALOG:
   SetTimer(hDlg, 1, 2000, TimerProc1);
   return (INT_PTR)TRUE;
 }
 return (INT_PTR)FALSE;
}

// about timer function for StartUpShow function
VOID CALLBACK TimerProc1(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
 KillTimer(hWnd, 1);
 EndDialog(hWnd,0);
}

然後在主視窗的WM_CREATE訊息中調用我們的對話方塊。

 case WM_CREATE:
  // Create a dialog
  DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_STARTUPSHOW), hWnd, StartUpShow, NULL);

 這種方法建立的啟動畫面,在顯示啟動畫面的時候,工作列不會有此啟動視窗的標識。

大家還有好的啟動畫面實現方法,也一起分享出來哦。

比如:eclipse IDE的啟動畫面上面還會顯示一些動態初始化文本資訊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.