亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 技術開發 > 正文

PB中消息對話框的居中顯示

2023-06-15 12:15:03
字體:
來源:轉載
供稿:網友

本文介紹了使用WIN API函數實現消息框劇中顯示的方法。

SharedObject系列函數和共享對象有關的函數包括:SharedObjectRegister、SharedObjectGet、SharedObjectUnregister和SharedObjectDirectory函數。

首先,用SharedObjectRegister函數初始化共享對象,并建立一個單獨的線程。如:

SharedObjectRegister (“ccuo_thread” ,“thread1” )

其中ccuo_thread是一個共享的自定義類用戶對象的類名,thread1是共享對象實例的共享名。如果SharedObjectRegister函數返回Success,則新線程創建成功。

然后,執行指定代碼。有兩種方法讓新線程執行指定的代碼:一種是在自定義類用戶對象的constructor事件中編寫腳本,新線程創建后就會自動執行該事件腳本;另一種方法是使用SharedObjectGet函數。該函數實現共享對象實例的引用,如: SharedObjectGet ( “thread1” ,inv_thread )

其中inv_thread是用來存儲共享對象實例的一個對象變量,要求與ccuo_thread具有同一個類名。
最后,通過使用Post語句,即以inv_thread.Post of_function(agrs)的形式,異步調用共享對象的函數of_function。

在完成任務后,可以用SharedObjectUnregister函數中止線程,也可用SharedObjectDirectory函數列出所有有效的共享對象。

函數調用部分

本文所用Win32 API函數原型為:

Function Ulong FindWindowA ( String lpClassName ,String lpWindowName ) Library “user32.dll”

Function Ulong GetTickCount ( ) Library “kernel32.dll”

Function Ulong GetDesktopWindow ( ) Library “user32.dll”

Function Boolean GetWindowRect ( Ulong hWnd ,ref stc_rect lpRect ) Library “user32.dll”

Function Boolean MoveWindow ( Ulong hWnd ,int X ,int Y ,int nWidth ,int nHeight ,Boolean bRepaint ) Library “user32.dll”

下面具體討論如何實現消息對話框的居中顯示:

//聲明對象變量

ccuo_thread lccuo_thread

//創建新線程

SharedObjectRegister (‘ccuo_thread’ ,‘thread_center’ )

//引用實例

SharedObjectGet (‘thread_center’ ,lccuo_thread )

//調用窗口居中函數

lccuo_thread.Post of_center (‘#32770’ ,‘Demostration’ ,2000 )

//創建消息對話框

MessageBox ( ‘Demostration’ ,‘Copyright(c) 2001 by Y.L.Sun’ )

//中止線程

SharedObjectunRegister ( ‘thread_center’ )

函數實現部分

實現窗口居中顯示的函數是自定義類用戶對象ccuo_thread的對象函數of_center,其實現代碼如下:

ccuo_thread.of_center ( String lpclassname ,String
lpwindowname , Ulong dwtimeout ) return Boolean
//lpclassname: 消息對話框的類名(#32770)
//lpwindowname: 消息對話框的標題
//dwtimeout: 超時計數
Ulong lul_hwnd //存放消息對話框的句柄
Ulong lul_start //計時開始時刻的值
lul_start = GetTickCount ( ) //計時開始
do
//查找頂層窗口
lul_hwnd=FindWindowA ( lpclassname ,lpwindowname )
//找到頂層窗口后,跳出循環
if lul_hwnd <> 0 then exit
//判斷是否已超時
loop while GetTickCount( )-lul_start< dwtimeout
//沒有找到消息對話框
if lul_hwnd = 0 then
return false
else
//對話框居中
return of_center ( 0 ,lul_hwnd )
end if
of_center的重載函數代碼如下:
ccuo_thread.of_center ( Ulong hwndp ,Ulong hwndc ) return Boolean
//hwndp:父窗口的句柄,值為0時認為是桌面
//hwndc:子窗口的句柄
int li_x //窗口的X坐標
int li_y //窗口的Y坐標
stc_rect lstc_parent //父窗口的4邊坐標
stc_rect lstc_child //子窗口的4邊坐標
//值為0時認為是桌面
if hwndp = 0 then hwndparent =
GetDesktopWindow ( )
//獲得窗口的4邊坐標
if not GetWindowRect ( hwndcurrent ,lstc_child ) then return false
if not GetWindowRect ( hwndparent ,lstc_parent ) then return false
li_x = (( lstc_parent.right - lstc_parent.left ) -
( lstc_child.right -lstc_child.left )) /2
li_y = (( lstc_parent.bottom - lstc_parent.top ) -
( lstc_child.bottom -lstc_child.top )) /2
//計算子窗口的X、Y坐標
if li_x < 0 or li_y < 0 then return false
//移動子窗口
if not MoveWindow ( hwndcurrent ,li_x ,li_y ,lstc_child.right -lstc_child.left ,lstc_child.bottom - lstc_child.top ,false ) then return false
return true
本文代碼在PB 7.0下通過。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕国产亚洲2019| 北条麻妃在线一区二区| 欧美午夜精品在线| 亚洲精品99久久久久中文字幕| 亚洲一区二区在线播放| 一区二区三区四区视频| 黄网站色欧美视频| 精品久久久久久久久久久| 国产精品极品美女粉嫩高清在线| 欧美日韩免费观看中文| 96精品久久久久中文字幕| 麻豆国产va免费精品高清在线| 亚洲精品小视频在线观看| 亚洲美女福利视频网站| 中文字幕国产精品久久| 亚洲夜晚福利在线观看| 亚洲精品在线观看www| 精品爽片免费看久久| 欧美激情视频三区| 国产欧美va欧美va香蕉在| 欧美激情免费在线| 亚洲欧美成人在线| 欧美重口另类videos人妖| 欧美视频专区一二在线观看| 亚洲欧美日韩国产中文专区| 韩国一区二区电影| 2019中文字幕全在线观看| 中文字幕久热精品在线视频| 日韩专区在线播放| 亚洲男人天堂久| 影音先锋欧美精品| 欧美成人在线免费视频| 综合国产在线视频| 91日韩在线视频| 日韩精品视频三区| 久久伊人免费视频| 国产成人中文字幕| 久精品免费视频| 精品亚洲夜色av98在线观看| 国产精品久久久久久久久久三级| 国产精品欧美久久久| 亚洲免费视频网站| 日韩成人av网| 欧美高清理论片| 亚洲国产天堂网精品网站| 欧洲美女7788成人免费视频| 国产视频自拍一区| 亚洲国产美女久久久久| 国产成人精品一区二区| 欧美一性一乱一交一视频| 狠狠色香婷婷久久亚洲精品| 18性欧美xxxⅹ性满足| 在线播放国产精品| 欧美日韩日本国产| 日韩欧美第一页| 自拍偷拍亚洲精品| 国产精品999| 亚洲美女精品久久| 日韩精品免费电影| 亚洲日韩中文字幕在线播放| 性金发美女69hd大尺寸| 一区二区日韩精品| 青草成人免费视频| 久久国产精品网站| 国产免费一区二区三区在线能观看| 欧美色视频日本版| 亚洲石原莉奈一区二区在线观看| 亚洲xxxxx| 性欧美激情精品| 欧美激情一区二区三级高清视频| www高清在线视频日韩欧美| 久久久亚洲国产| 久久网福利资源网站| 欧美午夜性色大片在线观看| 亚洲国产欧美自拍| 亚洲欧美资源在线| 欧美猛少妇色xxxxx| 国产成人在线一区| 少妇高潮久久77777| 国产欧美精品xxxx另类| 黑人巨大精品欧美一区免费视频| 亚洲成人激情图| 性色av一区二区咪爱| 亚洲欧美在线一区二区| 久久精品99国产精品酒店日本| 九九精品视频在线观看| 精品一区精品二区| 国产盗摄xxxx视频xxx69| 26uuu亚洲国产精品| 亚洲va久久久噜噜噜久久天堂| 国产精品综合网站| 久久成年人视频| 在线观看免费高清视频97| 亚洲欧洲高清在线| 国产原创欧美精品| 精品视频中文字幕| 欧美成人午夜激情| 色播久久人人爽人人爽人人片视av| 日韩精品免费在线视频| 国产精品视频xxxx| 在线观看欧美日韩国产| 日韩视频在线免费| 中文字幕亚洲情99在线| 精品成人国产在线观看男人呻吟| 日韩动漫免费观看电视剧高清| 九九精品视频在线| 在线视频免费一区二区| 成人免费福利视频| 国产精品久久久久久一区二区| 国产成人精品免高潮在线观看| 亚洲色图综合网| 久久九九免费视频| 国产手机视频精品| 久久精品国产成人精品| 成人亚洲欧美一区二区三区| 国产精品一区二区三区成人| 欧美日韩免费区域视频在线观看| 亚洲免费人成在线视频观看| 欧美在线观看网址综合| 精品中文字幕在线| 精品动漫一区二区三区| 亚洲精品国产suv| 中文字幕9999| 亚洲欧洲自拍偷拍| 欧美体内谢she精2性欧美| 久久亚洲欧美日韩精品专区| 国产欧美日韩高清| 国产精品久久久久久久一区探花| 国产成人综合精品| 91精品国产高清| 91av在线视频观看| 国产97在线播放| 久久中文字幕国产| www.日韩不卡电影av| 亚洲社区在线观看| 国产欧美一区二区三区在线看| 在线观看视频99| 全色精品综合影院| 国产91热爆ts人妖在线| 亚洲欧美激情四射在线日| 久久综合久中文字幕青草| 欧美大片在线看免费观看| 国产精品极品尤物在线观看| 国产精品一香蕉国产线看观看| 久久久精品一区| 色综合亚洲精品激情狠狠| 欧美大片欧美激情性色a∨久久| 91免费在线视频网站| 97婷婷涩涩精品一区| 91网站免费观看| 欧美亚洲国产视频小说| 亚洲美女动态图120秒| 国产日韩欧美夫妻视频在线观看| 中文字幕av一区二区三区谷原希美| 久久琪琪电影院| 欧美性高跟鞋xxxxhd| 亚洲精品美女在线观看播放| www.精品av.com| 国产成人aa精品一区在线播放| 久久人人爽人人爽人人片av高清| 九九综合九九综合| 国产精品久久久久免费a∨大胸| 日韩免费不卡av| 亚洲精品乱码久久久久久按摩观|