(1)新建乙個基於對話方塊的mfc應用程式splashscreentest,刪除對話方塊中原有控制項。
(2)用畫圖程式做乙個,白底黑字,然後加入工程中,資源名idb_bitmap1。
(3)新增乙個對話方塊資源,並為其新增類cdlgwork。
(4)在bool csplashscreentestdlg::oninitdialog()中的末尾新增**如下:
cdc* pdc;
cdc memdc;
cbitmap bitmap;
cbitmap* bmp =
null
; colorref col;
crect rc;
int x, y;
crgn rgn, tmp;
pdc =
getdc()
;getwindowrect
(&rc)
; bitmap.
loadbitmap
(idb_bitmap1)
;//裝載位圖
memdc.
createcompatibledc
(pdc)
; bmp = memdc.
selectobject
(&bitmap)
; rgn.
createrectrgn(0
,0, rc.
width()
, rc.
height()
);//計算得到區域
for(x=
0; x<=rc.
width()
; x++)}
}if(bmp)
centerwindow()
;setwindowrgn
((hrgn)rgn,true)
;//設定窗體為區域的形狀
releasedc
(pdc)
;settimer(1
,2000
,null
);
(5)為csplashscreentestdlg新增計時器函式,並新增**如下:
void csplashscreentestdlg::
ontimer
(uint_ptr nidevent)
引用類cdlgwork檔案,**如下:
#include
"dlgwork.h"
(6)為csplashscreentestdlg新增顯示視窗事件函式wm_showwindow,並新增**如下:
void csplashscreentestdlg::
onshowwindow
(bool bshow, uint nstatus)
(7)儲存並執行工程,可以看到程式啟動的時候會顯示乙個文字提示,然後再出現類為cdlgwork的對話方塊,執行結果如圖所示:
MFC 對話方塊程式 模式對話方塊與非模式對話方塊
一 根據主視窗型別,mfc軟體工程可以分為以下幾種架構模型 例如 記事本和畫筆等。2 mdi multiple document inte ce 多文件介面,乙個主框架視窗下可以同時編輯多份文件。例如 vc 6.0,photoshop等軟體。3 基於對話方塊的軟體模型 主視窗是通過資源管理器,在對話...
建立帶checkbox的對話方塊
unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls type tform1 class tform button1 tbutton pr...
程式中的對話方塊應用(4) 」顏色「對話方塊
tcolordialog元件用於顯示選擇顏色的對話方塊,當使用者選擇乙個顏色並單擊 ok 按鈕後,所選顏色會被儲存到 color 屬性中。1 將 顏色 對話方塊中所選的顏色值應用到元件中示例 colordialog1.execute memo1.text colortostring colordia...