Popup 視窗提醒

2021-05-12 09:27:44 字數 2319 閱讀 5972

popup視窗實際上就是在螢幕右下角提示視窗,應用廣泛例如qq 程式公升級 提示資訊等

實現思路:

利用api函式showwindow來顯示指定的窗體,並用control類的setbounds方法設定視窗的邊界.

showwindow :該函式設定指定視窗的顯示狀態。

函式原型:bool showwindow(hwnd hwnd,int ncmdshow);

引數:hwnd:視窗控制代碼。

ncmdshow:指定視窗如何顯示。如果傳送應用程式的程式提供了startupinfo結構,則應用程式第一次呼叫showwindow時該引數被忽略。否則,在第一次呼叫showwindow函式時,該值應為在函式winmain中ncmdshow引數。在隨後的呼叫中,該引數可以為下列值之一:

sw_forceminimize:在windownt5.0中最小化視窗,即使擁有視窗的執行緒被掛起也會最小化。在從其他執行緒最小化視窗時才使用這個引數。

sw_mioe:隱藏視窗並啟用其他視窗。

sw_maximize:最大化指定的視窗。

sw_minimize:最小化指定的視窗並且啟用在z序中的下乙個頂層視窗。

sw_restore:啟用並顯示視窗。如果視窗最小化或最大化,則系統將視窗恢復到原來的尺寸和位置。在恢復最小化視窗時,應用程式應該指定這個標誌。

sw_show:在視窗原來的位置以原來的尺寸啟用和顯示視窗。

sw_showdefault:依據在startupinfo結構中指定的sw_flag標誌設定顯示狀態,startupinfo 結構是由啟動應用程式的程式傳遞給createprocess函式的。

sw_showmaximized:啟用視窗並將其最大化。

sw_showminimized:啟用視窗並將其最小化。

sw_showminnoactivate:視窗最小化,啟用視窗仍然維持啟用狀態。

sw_showna:以視窗原來的狀態顯示視窗。啟用視窗仍然維持啟用狀態。

sw_shownoactivate:以視窗最近一次的大小和狀態顯示視窗。啟用視窗仍然維持啟用狀態。

sw_shownomal:啟用並顯示乙個視窗。如果視窗被最小化或最大化,系統將其恢復到原來的尺寸和大小。應用程式在第一次顯示視窗的時候應該指定此標誌。

返回值:如果視窗以前可見,則返回值為非零。如果視窗以前被隱藏,則返回值為零。

備註:應用程式第一次呼叫showwindow時,應該使用winmain函式的ncmdshow引數作為它的ncmdshow引數。在隨後呼叫showwindow函式時,必須使用列表中的乙個給定值,而不是由winmain函式的ncmdshow引數指定的值。

正如在ncmdshow引數中宣告的,如果呼叫應用程式的程式使用了在startupinfo結構中指定的資訊來顯示視窗,則在第一次呼叫showwindow函式時ncmdshow引數就被忽略。在這種情況下,showwindow函式使用startupinfo結構中的資訊來顯示視窗。在隨後的呼叫中,應用程式必須呼叫showwindow 函式(將其中ncmdshow引數設為sw_showdefault)來使用由程式呼叫該應用程式時提供的啟動資訊。這個處理在下列情況下發生:

應用程式通過呼叫帶ws_visible標誌的函式來建立它們的主視窗函式;

應用程式通過呼叫清除了ws_visible標誌的cteatewindow函式來建立主視窗函式,並且隨後呼叫帶sw_show標誌的showwindow函式來顯示視窗.

showwindow 控制視窗的可見性: bool型

[dllimport("user32.dll")]

private static extern boolean showwindow(intptr hwnd, int32 ncmdshow);

上面hwnd: intptr 表示指標或控制代碼

ncmdshow:int32, 為視窗指定可視方面的乙個命令

ncmdshow引數的常數及說明:

sw_hide 隱藏  值0

sw_minmize 最小化視窗 值6

sw_show 單簽大小和位置顯示乙個窗體 值5 就不寫完了

例:根據當前窗體的大小和位置顯示窗體:

const int32 sw_show=5;

showwidnow(this.handle,sw_show);

setbounds的方法  來設定視窗的邊界.

public void setbounds(int x,int y,int width,int height);

很好理解:x就是控制項新的left屬性值 y就是新的top屬性值

width 控制項新的width屬性值  height 控制項新的height 屬性值

例如:this.setbounds(0,0,150,150)                  --明天再寫

Web的桌面提醒(Popup)

大多數windows程式都有桌面提醒 popup 功能,如msn messenger,outlook2003,foxmail,sharpreader等,對使用者來說可以非常的方便最新的資訊。一,什麼是popup 在ie5.5 中開始支援的popup視窗有很多很特別的特性 只是web下的popup比起...

Web的桌面提醒(Popup)

大多數windows程式都有桌面提醒 popup 功能,如msn messenger,outlook2003,foxmail,sharpreader等,對使用者來說可以非常的方便最新的資訊。在web中借用ie5.5 的popup,也可以實現類似的功能,在cnforums1.2 一,什麼是popup ...

Web的桌面提醒(Popup)

大多數windows程式都有桌面提醒 popup 功能,如msn messenger,outlook2003,foxmail,sharpreader等,對使用者來說可以非常的方便最新的資訊。在web中借用ie5.5 的popup,也可以實現類似的功能,在cnforums1.2 一,什麼是popup ...