找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3657|回复: 0

【分享】强制 FoxPro 窗口始终保持在最前面

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2008-12-14 14:15:25 | 显示全部楼层 |阅读模式
<p>下面的代码示例强制主 FoxPro 窗口保持在所有其他窗口的顶部。 它演示如何使用 FOXTOOLS.FLL 库命令来调用 SetWindowPos() Microsoft Windows 应用程序编程接口 (API) 函数。</p>
<p>&nbsp;</p>
<p>该程序首先声明一些编译时常量 (以提高可读性) 并加载 FOXTOOLS.FLL 库与 FoxPro 为 Windows 提供的。 它然后检索使用驻留在 FOXTOOLS.FLL 库中的一个函数调用 MainHWND(),主 FoxPro 窗口句柄。 它然后调用 SetWindowPos() 函数并将句柄传递给主 FoxPro 窗口和 HWND_TOPMOST 常量以确保该窗口始终保持在最前面。 </p>
<div class="kb_codebody">
<div class="kb_codecontent"><code><pre class="code">   *** Define compile-time constants
   #DEFINE HWND_TOPMOST -1
   #DEFINE HWND_NOTOPMOST -2
   #DEFINE SWP_NOSIZE 1
   #DEFINE SWP_NOMOVE 2

   *** Load FoxTools library
   SET LIBRARY TO SYS(2004)+"FOXTOOLS"

   *** Register the Windows API function
   setwin=RegFn("SetWindowPos","IIIIIII","I")

   *** Obtain handle to main FoxPro window
   handle=mainhwnd()

   *** Call SetWindowPos() API function
   =CallFn(setwin,handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE)

   *** Release the FoxTools library
   SET LIBRARY TO
                                </pre></code></div></div>
<p>为了从主 FoxPro 窗口中删除"总在最前面"属性,上面的该程序可以修改以便使用 HWND_TOPMOST 作为第三个参数常量 HWND_NOTOPMOST 而不是在 CallFn() 行。 </p>
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表