急求!在PB里调用API函数SetWindowPos 的问题????在线等待!!!!!

Cmmi-DX 2003-11-18 04:58:11
本人想实现的功能是:有两个显示器,在主显示器点击按钮后在副显示器打开一个窗口!!
  二、多屏显示的软件实现

  通过上面的设置,虽然使Windows支持多显示器扩展桌面的功能,但也仅仅是实现了设备的连接与管理,一般Windows应用程序的窗口不能自动运行到副显示器上,用户只能通过鼠标拖动来将程序的窗口扩展到副显示器上,如果需要将程序窗口自动扩展到不同的显示器显示,必须采用相应的多屏显示编程技术。在这种技术中,可以使用Windows的User32.DLL动态连接库提供的API函数SetWindowPos()(如果采用VC这个开发平台,CWnd类提供了一个同样的成员函数),它的功能是更改窗口的大小、位置及窗口的顺序,因此可以用来在多显示器桌面上实现应用程序窗体的定位显示。下面对这个函数进行详细的解释:


BOOL SetWindowPos(
HWND hWnd, // 窗口的句柄;
HWND hWndInsertAfter, // 窗口次序句柄,
int X, // 窗口左上角的水平位置;
int Y, // 窗口左上角的垂直位置;
int cx, // 窗口的宽度;
int cy, // 窗口的高度;
UINT uFlags file://标志位;
);
////以上是我在网上查看的资料

//这是我在PB里的SetWindowPos 声明:
FUNCTION long SetWindowPos (Long hwnd, Long hWndInsertAfter, Long x, Long y, Long cx, Long cy, Long wFlags) LIBRARY "user32.dll"
我估计还要用到几个函数,个个函数和各个参数如何得到???请教各位详细指教!!!

...全文
120 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqjj7758 2003-11-20
  • 打赏
  • 举报
回复
晕倒
TianChong 2003-11-20
  • 打赏
  • 举报
回复
不用弄得这么复杂吧?我是这样做的:
新建一个窗口,将其的状态设为最大化,在其中放置你想放置的控件,如:数据窗口.
将X坐标取到3000左右.同时也可以打开或活动事件中加入:
this.x=3000
this.y=3

在程序中要显示此窗口时,打开此窗口即可.

我的程序现在运行良好.不过副窗口的功能比较单一,因为我主要是用它来显示动装信息的,并不需要移动鼠标到该窗口中进行手工操作.

希望对你有帮助.^-^
mittee 2003-11-19
  • 打赏
  • 举报
回复
可惜,美做过帮你up

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧