位置于:书籍教程首页>>数据库类>>Power Builder>>正文
 在PowerBuilder中利用动态链接库控制鼠标的移动

---- PowerBuilder 为 程 序员 提 供 了 改 变 鼠 标 形 状 的 方 法, 却 没 有 提 供 控 制 鼠 标移 动 位 置 的 方 法。 其 实 在Windows 95 系 统 中, 已 经 为 程 序员 提 供 了 控 制 鼠 标 位 置 的 方 法, 利 用USER32.DLL 动 态 链 接库 中 的SetCursorPos() 函 数 就 可 以 灵 活 控 制 鼠 标 的 位 置。


---- 动 态 链 接 库(dynamic link library, DLL ) 是Windows 中 最 重 要 的 部 分 之 一, Windows 中 的 运行 程 序 可 以 共 享DLL 中 的 函 数 和 子 例 程, 从 而 使 应 用 程序 可 以 共 享 代 码, 减 少 内 存 占 用。


---- 要 在PowerBuilder 中调 用 外 部 函 数, 必 须 先 声 明 它。 有 两 种 类 型 的 外 部 函数: 全 局 外 部 函 数 和 局 部 外 部 函 数。 全 局 外 部 函 数 可以 在 应 用 程 序 的 任 何 地 方 声 明 使 用。 它 们 在 应 用 程 序中 与 其 他 全 局 变 量 一 起 保 存。 局 部 外 部 函 数 可 以 为 窗口, 菜 单, 用 户 对 象 定 义, 它 们 是 对 象 定 义 的 一 部分。


---- 定 义 外 部 函 数的 语 法 如 下 所 示:


 {Access} Function ReturndataType Name({REF}{DataType]Arg],...DataTypeN ArgN}] Library LibName参数                      描述Access              (只有在定义局部外部函数时使用)可定义为Public, Protected或者Private。缺省情况为Public。ReturnDataType       函数的返回类型。Name                 函数名。DataType1到         参数类型。DataTypeN        如果是传值,可直接将参数写上。如果是传参数,要在参数类型前加上一个关健字REF。Arg1到              参数名。ArgNLibName              动态链接库名。
在PowerBuilder的主菜单上选取"Declare"的菜单项,然后选择子菜单项"Global External Function",在定义全局外部函数对话框中,输入:FUNCTION long SetCursorPos(long x,long y) LIBRARY "USER32.dll"

---- 注 意: 对 于 关键 字"SetCursorPos" 中 的 大 小 写 字 母 必 须 严 格 区 分。


---- 这 样, 程 序 员就 可 以 在 应 用 程 序 的 任 何 位 置 使 用 该 函 数 了, 例 如 要将 鼠 标 定 位 到 屏 幕 中 央, 则 在 程 序 中 加 入SetCursorPos(320,240),这 里 假 设 当 前 屏 幕 的 分 辨 率 为640*480。


---- 当 然, 我 们 还可 做 更 复 杂 的 控 制。 例 如 要 使 用 户 在 单 行 编 辑 器 中 输入 完 后, 鼠 标 定 位 到"OK" 按 钮 上, 则 在 单 行 编 辑器 的losefocus 事 件 中 输 入:


 long x1,y1x1=(w_genapp_about.x+cb_ok.x+cb_ok.width/2)x1=UnitsToPixels(x1, XUnitsToPixels!)// 获 取"OK" 按 钮 的X 坐 标;y1=(w_genapp_about.y+cb_ok.y+cb_ok.height/2+100)y1=UnitsToPixels(y1, YUnitsToPixels!)// 获 取"OK" 按 钮 的Y 坐 标;SetCursorPos(x1,y1)

---- 如 果 要 使 鼠 标从 坐 标(100,200) 移 到 坐 标(500,200), 并 产 生 动 画 效 果, 则 编程 如 下:


 long i,jfor i=100 to 500SetCursorPos(i,200)for j=1 to 999  //起延时作用,可根据实际情况调整;nextnext

---- 灵 活 地 控 制 鼠标 位 置, 能 使 程 序 更 加 有 趣, 对 用 户 也 更 友 好。

http://www.xp163.com/共享:
 网站最新更新
 在PowerBuilder中利用动态链接库控制鼠标的移动相关

 

 书籍教程站内推荐信息
 书籍教程网站地图