真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用VC制作動態(tài)彈出的對話框

這篇文章主要講解了“怎么用VC制作動態(tài)彈出的對話框”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么用VC制作動態(tài)彈出的對話框”吧!

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為鳳岡等服務(wù)建站,鳳岡等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鳳岡企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

在“網(wǎng)絡(luò)螞蟻”中,如果在下載過程中有錯誤發(fā)生,或是提示下載完成時,你都可以在屏幕中央看到一個由小變大、動態(tài)彈出的對話框,那么,這個動態(tài)彈出的對話框是如何實現(xiàn)的呢?

一、選擇方法
通常,我們可以在對話框的WM_INITDIALOG事件的響應(yīng)函數(shù)中加入對話框的一些初始化設(shè)置,比如改變窗口的位置及大小。同樣,我們也可以在WM_INITDIALOG事件的響應(yīng)函數(shù)中讓對話框由小到大地顯示。但是,如何改變對話框的大小呢?在編程過程中,我們通常是利用MoveWindow函數(shù)來動態(tài)調(diào)整對話框的大小,但是MoveWindow函數(shù)有其局限性:一是它的速度較慢;二是由于眾所周知的MFC內(nèi)存泄漏的原因,如果重復(fù)調(diào)用MoveWindow函數(shù)來改變對話框的大小,MoveWindow不能夠?qū)⑵聊磺濉案蓛簟保ㄟ@點你可以在實際編程中試一下),這顯然不是我們所需要的。能不能找到一種其他的方法來快速地改變窗口大小呢?我們知道,用SetWindowRgn函數(shù)能夠改變窗口的顯示區(qū)域,那么,在對話框顯示之前,讓程序?qū)υ捒蛳入[藏起來,然后讓對話框的顯示區(qū)域不斷變大,這樣就實現(xiàn)了對話框的動態(tài)顯示。

在繼續(xù)介紹之前,我們先來介紹一下SetWindowRgn的具體用法,以下是其調(diào)用格式:

int SetWindowRgn( HRGN hRgn, BOOL bRedraw );

hRgn:指向一區(qū)域的句柄,通常該參數(shù)是由CRgn對象創(chuàng)建的。

bRedraw:指明在設(shè)定窗口顯示區(qū)域之后系統(tǒng)是否進(jìn)行窗口重繪操作。

二、應(yīng)用實例
接下來我們以讓程序的“幫助對話框”動態(tài)彈出為例,介紹如何通過編程的方式來實現(xiàn)對話框的動態(tài)彈出顯示。在CAboutDlg類中加入對WM_INITDIALOG的映射,并編輯其響應(yīng)函數(shù)OnInitDialog,該函數(shù)的具體內(nèi)容設(shè)置如下:

BOOL CAboutDlg::OnInitDialog()

{

CDialog::OnInitDialog();

//隱藏對話框

ShowWindow(SW_HIDE);

CRect dlgRect;

GetClientRect(&&dlgRect);

CPoint centerPoint;

centerPoint.x=dlgRect.Width()/2;

centerPoint.y=dlgRect.Height()/2;

//得到對話框的中點坐標(biāo)

CRgn testrgn;

this-〉ShowWindow(SW_HIDE);

int m=GetSystemMetrics(SM_CYSIZEFRAME);

//以下代碼實現(xiàn)對話框的動態(tài)彈出

for (int i=10;i〈dlgRect.Width()/2+2m;i+=1)

{

testrgn.CreateRectRgn(centerPoint.x-i,centerPoint.y-i,centerPoint.x+i,centerPoint.y+i);

SetWindowRgn((HRGN) testrgn,TRUE);

ShowWindow(SW_SHOW);

CenterWindow();

testrgn.DeleteObject();

}

return TRUE;

}

該程序的代碼比較簡單,編譯之后進(jìn)入程序的幫助選單,你會看見一個由小變大的對話框躍然于屏幕之上。

感謝各位的閱讀,以上就是“怎么用VC制作動態(tài)彈出的對話框”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么用VC制作動態(tài)彈出的對話框這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


分享文章:怎么用VC制作動態(tài)彈出的對話框
當(dāng)前路徑:http://weahome.cn/article/ggigoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部