成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么用VC制作動(dòng)態(tài)彈出的對(duì)話框

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

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

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

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

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

int SetWindowRgn( HRGN hRgn, BOOL bRedraw );

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

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

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

BOOL CAboutDlg::OnInitDialog()

{

CDialog::OnInitDialog();

//隱藏對(duì)話框

ShowWindow(SW_HIDE);

CRect dlgRect;

GetClientRect(&&dlgRect);

CPoint centerPoint;

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

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

//得到對(duì)話框的中點(diǎn)坐標(biāo)

CRgn testrgn;

this-〉ShowWindow(SW_HIDE);

int m=GetSystemMetrics(SM_CYSIZEFRAME);

//以下代碼實(shí)現(xiàn)對(duì)話框的動(dòng)態(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;

}

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

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

網(wǎng)站標(biāo)題:怎么用VC制作動(dòng)態(tài)彈出的對(duì)話框
URL標(biāo)題:http://jinyejixie.com/article2/ggigoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、企業(yè)建站、品牌網(wǎng)站制作、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
旌德县| 大名县| 晋宁县| 兰考县| 白城市| 峨眉山市| 伊春市| 万年县| 庆云县| 水城县| 通江县| 封开县| 兴山县| 黄石市| 文登市| 武清区| 石首市| 阿克苏市| 大石桥市| 娱乐| 花垣县| 保定市| 嘉禾县| 镇宁| 三明市| 竹溪县| 绵阳市| 耿马| 阳泉市| 睢宁县| 安达市| 汝南县| 南岸区| 深圳市| 禹城市| 绥棱县| 宁武县| 堆龙德庆县| 商城县| 和龙市| 集贤县|