国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

移動沒有標題條的窗口

2019-11-17 04:38:35
字體:
來源:轉載
供稿:網友
有時候應用程序需要使用沒有標題條的窗口,比如只想顯示一行信息的彈出窗口。常規情況下,這樣的窗口顯示在什么地方就呆在什么地方,用戶無法使用通用的拖動標題條的辦法來移動窗口。為了讓用戶能夠移動這類窗口的位置,就需要非凡編程。
一個簡單方案是,讓用戶像使用標題條移動窗口位置那樣在窗口內部直接通過拖曳窗口實現位置移動。方法很簡單,在窗口的MouseDown事件中寫上代碼:Send(Handle(This),274,61458,0)上述語句向編寫該代碼的窗口發送一條窗口消息WM_SYSCOMMAND(274),并把消息的WordParm參數設置為SC_MOVE+1(61458)。這條語句的功能通知窗口用戶將移動鼠標,鼠標移動時窗口要隨之一起移動。語句中Send()、Handle()是PowerScript函數,Send()函數向窗口發送一條Windows消息,Handle()得到窗口的句柄。 控制窗口的自動重繪  缺省情況下,程序運行后,每當用戶改變窗口以及窗口上控件的大小時,系統都會自動重繪窗口以及窗口上的控件。反復的重繪降低了應用程序的性能,并出現閃爍現象。為避免上述缺陷,應用程序可以在用戶操作前暫時關閉重繪功能,操作完成后再重新繪制屏幕。利用對象的SetRedraw()函數可實現上述控制功能。SetRedraw()要求一個參數,選擇FALSE時關閉對象的自動重繪功能,選擇TRUE時立即重繪對象,并且每當修改對象時都自動重繪對象。窗口對象有個數組型屬性Control[],它登記了窗口中放置的所有控件,并且控件在該數組中的登記次序就是系統繪制各控件的次序。當應用程序中出現控件閃爍或某些圖形碎片遺留在窗口上時,那么就應該檢查相應窗口及控件的自動重繪方式。把操作過程(非凡是改變控件或窗口的視覺特性的操作)中多次重繪屏幕組合成操作完成后的一次重繪將會大大提高屏幕重繪速度。例如,當用戶改變窗口大小時,我們希望窗口中的控件隨之改變大小,那么可以在窗口的Resize事件中使用下述格式編寫代碼:
  1. 關閉窗口自動重繪功能This.SetRedraw(FALSE)。
  2. 修改各控件的大小。
  3. 最后集中重繪窗口和控件This.SetRedraw(TRUE)。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涟水县| 呼和浩特市| 上栗县| 施甸县| 庄河市| 锦屏县| 富锦市| 门头沟区| 增城市| 都匀市| 田林县| 江津市| 韩城市| 蒲江县| 鄂托克旗| 西安市| 大余县| 鄄城县| 丰镇市| 清新县| 牡丹江市| 敦煌市| 营口市| 汝阳县| 扎囊县| 行唐县| 海门市| 宁阳县| 柘荣县| 黄冈市| 南安市| 垦利县| 桦南县| 马关县| 谷城县| 大同市| 南召县| 金门县| 常山县| 洪泽县| 曲周县|