中用簡易方法實現(xiàn)淡入淡出的啟動畫面覆蓋
一日心血來潮,想給啟動畫面來個淡入淡出,于是去谷歌(google)查了半天,無果。但知道了AnimiateWindow 這個函數(shù)。好吧 ,讓我們開始吧。首先,請在需要淡入淡出窗口的cpp文件或者stdafx.h加入下列代碼(注意要加在#include前面哦,否則沒有作用哦)。
#undef WINVER //取消原有版本定義,重新定義版本
#define WINVER 0x5000 //為了使AnimateWindow函數(shù)可用
#include afxwin.h
然后在相關(guān)文件分別加入OnCreate,OnClose,OnEraseBkgnd和OnTimer消息函數(shù)。記得在相關(guān)構(gòu)析函數(shù)內(nèi)加入 :
SetTimer(1, 3000, NULL); //設(shè)定定時器1,定時3秒
OnCreate消息函數(shù)里添加淡入窗口或者背景位圖代碼
BOOL CSplashWnd::OnCreate(LPCREATESTRUCT lpcs)
{
CenterWindow(); //窗口位于屏幕中心
AnimateWindow(GetSafeHwnd(), 500, AW_BLEND); //淡入圖片0.5秒
即使是常勝將軍 return true;
}
OnClose消息函數(shù)是添加淡出窗口或背景位圖代碼:
void CSplashWnd::OnClose()
{
AnimateWindow(GetSafeHwnd(), 500, AW_BLEND | AW_HIDE); //淡出圖片0.5秒
CWnd::OnClose();
}
OnEraseBkgnd消息函數(shù)是添加背景位圖:
BOOL CSplashWnd::OnEraseBkgnd(CDC *pDC)
{
DDB mSplashBitmap;
splayDDB(pDC, IDB_SPLASH); //顯示位圖資源IDB_SPLASH
return true;
}
OnTimer消息函數(shù)是添加定時關(guān)閉代碼:
void CSplashWnd::OnTimer(UINT nIDEvent)
{
KillTimer(1); //關(guān)閉定時器1
PostMessage(WM_CLOSE, 0, 0); //發(fā)送關(guān)閉窗口信息
}
是不是很簡單,我看有些關(guān)于位圖和窗口的淡入淡出很復(fù)雜,我剛學(xué)VC不久,看不懂。只好想出這簡便的辦法。有什么建議和意見歡迎大家指出! 查看本文來源
合肥治療子宮內(nèi)膜炎哪家好抵抗力低容易生病怎么辦
唐山治療輸卵管堵塞醫(yī)院
- 永定縣時代的未來,要看特斯拉蔚小理的臉色?
- 萬余平度考生今日開始中考
- 2022營口汽配跨境電商交易會將與汽博會同期舉辦
- 今年已下單7艘船!新大洋造船下單嘉航海運第2艘75000噸內(nèi)貿(mào)散貨船
- “vivo S.Studio”快閃活動空降師武漢,盛夏奇觀盡在這里
- 劉曉慶曬假期英姿颯爽休閑照,堅強(qiáng)年輕態(tài)和年齡無關(guān)
- 大股東所亦然部分股份將被司法拍賣 未名醫(yī)藥或易主
- 如何打造一個元氣少年妝,讓長輩見了都夸好!
- 老人常說“六月韭臭死貓”,有什么道理嗎?六月韭菜不能吃嗎?答案來了
- 2022年國民頭上調(diào)研報告
- 聰明人去吃肯德基,一般不會點套餐,而是選擇這3種“像是吃法”
- 上海復(fù)旦(01385)附屬華嶺股份收到有關(guān)于北交所上市申報文件審核問詢虛