数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

PB中消息对话框的居中显示[1]


发布日期:2020年12月12日
 
PB中消息对话框的居中显示[1]
SharedObject系列函数和共享对象有关的函数包括SharedObjectRegisterSharedObjectGetSharedObjectUnregister和SharedObjectDirectory函数

首先用SharedObjectRegister函数初始化共享对象并建立一个单独的线程

SharedObjectRegister (ccuo_thread thread ) 其中ccuo_thread是一个共享的自定义类用户对象的类名thread是共享对象实例的共享名如果SharedObjectRegister函数返回Success则新线程创建成功

然后执行指定代码有两种方法让新线程执行指定的代码一种是在自定义类用户对象的constructor事件中编写脚本新线程创建后就会自动执行该事件脚本另一种方法是使用SharedObjectGet函数该函数实现共享对象实例的引用

SharedObjectGet ( thread inv_thread ) 其中inv_thread是用来存储共享对象实例的一个对象变量要求与ccuo_thread具有同一个类名

最后通过使用Post语句即以inv_threadPost of_function(agrs)的形式异步调用共享对象的函数of_function

在完成任务后可以用SharedObjectUnregister函数中止线程也可用SharedObjectDirectory函数列出所有有效的共享对象

函数调用部分

本文所用Win API函数原型为

Function Ulong FindWindowA ( String lpClassName String lpWindowName ) Library userdll

Function Ulong GetTickCount ( ) Library kerneldll

Function Ulong GetDesktopWindow ( ) Library userdll

Function Boolean GetWindowRect ( Ulong hWnd ref stc_rect lpRect ) Library userdll

Function Boolean MoveWindow ( Ulong hWnd int X int Y int nWidth int nHeight Boolean bRepaint ) Library userdll

下面具体讨论如何实现消息对话框的居中显示

//声明对象变量

ccuo_thread lccuo_thread

//创建新线程

SharedObjectRegister (ccuo_thread thread_center )

//引用实例

SharedObjectGet (thread_center lccuo_thread )

//调用窗口居中函数

lccuo_threadPost of_center ( Demostration )

//创建消息对话框

MessageBox ( Demostration Copyright(c) by YLSun )

//中止线程

SharedObjectunRegister ( thread_center )

[] [] []

               

上一篇:PB中消息对话框的居中显示[2]

下一篇:带你轻松了解PB的主要特点