使用以下API來處理視窗移動,BeginDeferWindowPos, DeferWindowPos,EndDeferWindowPos先呼叫 BeginDeferWindowPos 設定需要移動的視窗的個數使用DeferWindowPos,來移動視窗,這個API並不真的造成視窗移動EndDeferWindowPos 一次性完成所有視窗的大小和位置的改變。 有個地方要特別注意,要仔細計算清楚要移動多少個視窗,BeginDeferWindowPos設定的個數一定要和實際的個數一致,否則在Win9x下,如果實際移動的視窗數多於呼叫BeginDeferWindowPos時設定的個數,可能會造成系統崩潰。在Windows NT系列下不會有這樣的問題。 例程程式碼(複製程式碼):
.版本 2.程式集 視窗程式集_啟動視窗.程式集變數 控制代碼, 整數型.子程式 __啟動視窗_建立完畢控制代碼 = BeginDeferWindowPos (1)DeferWindowPos (控制代碼, 取視窗控制代碼 (), #HWND_TOP, 10, 10, 300, 300, #SWP_SHOWWINDOW)EndDeferWindowPos (控制代碼)
.版本 2.常量 HWND_BOTTOM, "1".常量 HWND_TOP, "0".常量 HWND_TOPMOST, "-1".常量 HWND_NOTOPMOST, "-2".常量 SWP_SHOWWINDOW, "64"
使用以下API來處理視窗移動,BeginDeferWindowPos, DeferWindowPos,EndDeferWindowPos先呼叫 BeginDeferWindowPos 設定需要移動的視窗的個數使用DeferWindowPos,來移動視窗,這個API並不真的造成視窗移動EndDeferWindowPos 一次性完成所有視窗的大小和位置的改變。 有個地方要特別注意,要仔細計算清楚要移動多少個視窗,BeginDeferWindowPos設定的個數一定要和實際的個數一致,否則在Win9x下,如果實際移動的視窗數多於呼叫BeginDeferWindowPos時設定的個數,可能會造成系統崩潰。在Windows NT系列下不會有這樣的問題。 例程程式碼(複製程式碼):
.版本 2.程式集 視窗程式集_啟動視窗.程式集變數 控制代碼, 整數型.子程式 __啟動視窗_建立完畢控制代碼 = BeginDeferWindowPos (1)DeferWindowPos (控制代碼, 取視窗控制代碼 (), #HWND_TOP, 10, 10, 300, 300, #SWP_SHOWWINDOW)EndDeferWindowPos (控制代碼)
常量:.版本 2.常量 HWND_BOTTOM, "1".常量 HWND_TOP, "0".常量 HWND_TOPMOST, "-1".常量 HWND_NOTOPMOST, "-2".常量 SWP_SHOWWINDOW, "64"
順便推薦一個易語言用的API查詢工具: 易用API伴侶,可以查API引數等,很方便。