一般的, 當我們啟動乙個應用程式後, 普通的應用程式視窗都是瞬間顯示到螢幕上. 您是否想象過這樣一種情景 : 開啟乙個應用程式後, 視窗的顯示跟幻燈片一樣變幻莫測,豐富多彩? 也許不能登大雅之堂, 但至少可以娛樂自己.
好了, 進入正題: 您現在可以想象這樣一幅畫面: 當您啟動乙個應用程式後, 顯示器**出現乙個小點, 然後慢慢變大, 向四周不斷擴充套件, 直到視窗全部顯示. 而當您關閉它時它又會從上向下慢慢地從顯示器中消失.... 這將是什麼效果? 呵呵, 如果您願意, 下面就跟著我一起完成這樣乙個偉大的夢想吧.
下面結合本例詳細介紹 animatewindow 函式在 c#中的應用.
宣告方式:
宣告[dllimportattribute(
"user32.dll")]
private
static
extern
bool
animatewindow(intptr hwnd,
intdwtime,
intdwflags);
引數說明:
code(1). intptr hwnd: 目標視窗的控制代碼物件, 一般為
this
.handle(2
). int
dwtime: 動畫的持續時間, 數值越大動畫效果的時間越長(3
). int
dwflags: 動畫效果型別選項, 在c#中宣告如下:
注: 您程式中只宣告需要的動畫型別即可, 關於每個引數的含義會在後面詳細說明
public
const
int32 aw_hor_positive
=0x00000001
;public
const
int32 aw_hor_negative
=0x00000002
;public
const
int32 aw_ver_positive
=0x00000004
;public
const
int32 aw_ver_negative
=0x00000008
;public
const
int32 aw_center
=0x00000010
;public
const
int32 aw_hide
=0x00010000
;public
const
int32 aw_activate
=0x00020000
;public
const
int32 aw_slide
=0x00040000
;public
const
int32 aw_blend
=0x00080000
;
動畫效果型別詳細說明表:
1. aw_slide : 使用滑動型別, 預設為該型別. 當使用 aw_center 效果時, 此效果被忽略
2. aw_active: 啟用視窗, 在使用了 aw_hide 效果時不可使用此效果
3. aw_blend: 使用淡入效果
4. aw_hide: 隱藏視窗
5. aw_center: 與 aw_hide 效果配合使用則效果為視窗幾內重疊, 單獨使用視窗向外擴充套件.
6. aw_hor_positive : 自左向右顯示視窗
7. aw_hor_negative: 自右向左顯示視窗
8. aw_ver_positve: 自頂向下顯示視窗
9. aw_ver_negative : 自下向上顯示視窗
看懂了這些, 下面我們的工作會變得非常簡單.
啟動程式後, 動畫效果顯示視窗的**如下:
codeanimatewindow(
this
.handle,
1000
, aw_slide
+aw_center);
而關閉程式後, 動畫效果顯示視窗**如下:
codeprivate
void
form1_formclosed(
object
sender, formclosedeventargs e)
程式的完整**如下:
codeusing
system;
using
system.collections.generic;
using
system.componentmodel;
using
system.data;
using
system.drawing;
using
system.text;
using
system.windows.forms;
using
system.runtime.interopservices;
namespace
falshwindows
private
void
form1_formclosed(
object
sender, formclosedeventargs e)}}
後記: 雖為一雕蟲小技,但蘊涵著很多思想, 大家可以眼高, 但手一定要底.
必得原理,程式設計是件很快樂的事.
手把手教你製作 螞蟻呀嘿
最近網上比較紅的嗎咿呀嘿,原始碼github完全開源,這裡記錄一下詳細步驟,可以少踩一些坑,不講原理,不講為什麼,只講怎麼做。筆者 使用的是 mac。brew install ffmpeg git clone切換到專案目錄 cd paddlegan 安裝所需包 pip3.7 install r re...
手把手教你如何追女生
我是女生,看到有的男生想追自己喜歡的女孩子又不敢追,還想人家倒追她,我很反感。從乙個女生的角度,我比較了解女孩子的心理。女孩子大多不會主動出擊,去追求自己喜歡的男孩,除了確實太喜歡了或者是那種比較有個性的勇敢的女孩子。所以,如果你很喜歡乙個女孩子,並且認為她對你也有點意思,那就主動點,別跟她搞拉鋸戰...
手把手教你如何使用Poco TCPServer框架
poco c 開發庫的特點是非常適合寫後台處理程式,側重於網際網路時代的網路應用程式,效率也很高。前台介面程式使用qt框架庫,非常好,兩個庫相輔相成,可解決專案上的大部分問題.poco 庫提供tcpserver框架,用以搭建自定義的 tcp 伺服器。tcpserver維護乙個連線佇列 乙個連線線程池...