日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

談對話框的動畫彈出與動畫消隱

談對話框的動畫彈出與動畫消隱

更新時間:2022-05-05 文章作者:未知 信息來源:網絡 閱讀次數:

在Windows應用程序中,對話框是應用最廣泛也是比較難控制其風格(外表)的一類窗口。相信用過Windows 的朋友在享受其強大功能的同時,一定也為它所提供的具有立體感的界面而感嘆吧。通常情況下,對話框的彈出和消隱都是瞬時的,下面將介紹如何實現對話框的動畫彈出和消隱,增強程序的美觀性。

  請按以下步驟實現:

  第一步:生成我們的工程(基于對話框)FlashDlg,所有的選項都取默認值,在對話框上隨意添加幾個控件。

  第二步:在對話框的類頭文件中定義如下變量,如下:

CPoint point;
int nWidth,nHeight;
int dx,dy;
int dx1,dy1;

  第三步:在OnInitDialog()中添加如下代碼:

BOOL CFlashDlgDlg::OnInitDialog()
{
 CDialog::OnInitDialog();
 CRect dlgRect;
 GetWindowRect(dlgRect);
 CRect desktopRect;
 GetDesktopWindow()->GetWindowRect(desktopRect);
 MoveWindow(
  (desktopRect.Width() - dlgRect.Width()) / 2,
  (desktopRect.Height() - dlgRect.Height()) / 2,
   0,
   0 );
 nWidth=dlgRect.Width();
 nHeight=dlgRect.Height();
 dx=2;
 dy=4;
 dx1=2;
 dy1=2;
 SetTimer(1,10 , NULL);
 return TRUE;
}

  第四步:添加OnTimer函數,添加如下代碼:

void CFlashDlgDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CRect dlgRect;
GetWindowRect(dlgRect);

CRect desktopRect;
GetDesktopWindow()->GetWindowRect(desktopRect);


if(nIDEvent == 1)
{
MoveWindow(
(-dx+desktopRect.Width() - dlgRect.Width()) / 2,
(-dy+desktopRect.Height() - dlgRect.Height()) / 2,
+dx+dlgRect.Width(),
+dy+dlgRect.Height() );

if(dlgRect.Width() >=nWidth)
dx=0; // do not over grow
if(dlgRect.Height() >=nHeight)
dy=0; // do not over grow
if((dlgRect.Width() >=nWidth) && (dlgRect.Height() >=nHeight))
KillTimer(1); //Stop the timer
}


if((dlgRect.Width() >=nWidth) && (dlgRect.Height() >=nHeight))
KillTimer(1); //Stop the timer

if(nIDEvent == 2)
{
MoveWindow((+dx+desktopRect.Width() - dlgRect.Width()) / 2,
(+dy+desktopRect.Height() - dlgRect.Height()) / 2,
-dx1+dlgRect.Width(),
-dy1+dlgRect.Height() );

if(dlgRect.Width() <= 0)
dx1=0; // do not over grow
if(dlgRect.Height() <= 0 )
dy1=0; // do not over grow
if((dlgRect.Width() <= 0 ) && (dlgRect.Height() <=0))
{
KillTimer(2); //Stop the timer
CDialog::OnOK();
}

}

CDialog::OnTimer(nIDEvent);
}

  好了,對話框的動畫出現和消隱實現了,運行程序我們會發現對話框平滑的劃出,關閉程序我們會發現對話框平滑的消失。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 欧美高清免费精品国产自 | 人人狠狠综合88综合久久 | 日韩欧美第一区二区三区 | 中文字幕亚洲综合精品一区 | 欧美一区二区三区日韩免费播 | 999国产高清在线精品 | 亚洲国产欧美在线不卡中文 | 91精品国产三级在线观看 | 男女免费爽爽爽在线视频 | 亚洲久久网 | 人人草在线视频 | 狠狠操操操 | 大学生一级毛片全黄真人 | 天天爽夜夜操 | 91精品日韩| 国产福利视频一区二区三区 | 视频一区 欧美 | 91se在线看片国产免费观看 | 亚洲婷婷综合色高清在线 | 怡红院在线视频观看 | 清风阁我爱干视频网 | 91精品国产免费自在线观看 | 色爱区综合激月婷婷激情五月 | 亚洲春色综合另类网蜜桃 | 99激情网| 国产精品a区 | 成人短视频视频在线观看网站 | 最近最新2019年中文字幕 | 久久精品嫩草影院免费看 | 久久久亚洲欧洲日产国码二区 | 欧美日韩一区二区三区在线视频 | 成人αv在线视频高清 | 天天干夜操 | 欧洲在线观看在线视频吗 | 国产大尺度pr社18福利在线 | 91精品国产综合久久欧美 | 狠狠色丁香婷婷第六色孕妇 | 日韩毛片在线免费观看 | 91精品刘玥在线播放 | 精品在线不卡 | 欧美综合自拍亚洲综合百度 |