外部窗体:frm1,知道其句柄hwnd1;
VB编写的一窗体myfrm,我想使myfrm始终处于frm1的前面,但是当选择其它应用程序(同时打开的还有很多)时,myfrm不处于最前面。
简单的讲,选择frm1则myfrm就在前面(挡住frm1);选择其它程序时myfrm不跳出来。
如何实现?用SetWindowPos吗?
VB编写的一窗体myfrm,我想使myfrm始终处于frm1的前面,但是当选择其它应用程序(同时打开的还有很多)时,myfrm不处于最前面。
简单的讲,选择frm1则myfrm就在前面(挡住frm1);选择其它程序时myfrm不跳出来。
如何实现?用SetWindowPos吗?
解决方案 »
- 在VB6环境下,用VBA代码在WORD的文本框中输入文字,有问题,请帮助解决,谢谢
- *****我快说不出话了,CSDN的Blog*****
- SQL记录输出的问题.
- 老大门,救命啊。关于模拟网页发送http请求上传文件的问题
- 怎么才能让第一条记录不是空呢?
- 为什么FOR 循环加了 DOEVENTS 还是非常卡呢?
- 帮忙
- 为什么选择服务器游标后,datagrid 不能用了?
- 请深入浅出的讲解一下有关于函数增长的问题。。。
- C#调用vba实现excel中数据生成数据透视表或者其他方法实现批量excel数据透视表生成
- 关于VSFlexGrid刷新的问题
- 【问】如何实现类似快捷方式里的“查找目标”功能?
myfrm激活的时候就设置frm1最前
如果myfrm失去焦点就取消置顶
否则就用钩子
比较麻烦点
这样就不影响了
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongPublic Const SWP_NOSIZE = &H1
Public Const HWND_TOPMOST = -1在Form_Load 中调用一下:Call SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE)
frm1是外部程序,我不知道是何种语言所写,只知道其运行时的句柄hwnd1
但我要的是仅在frm1前显示
frm1是外部程序,我不知道是何种语言所写,也没有原程序,更不可能修改,仅知道其运行时句柄
myfrm.Show 1
myfrm的窗體的四個值如些設置即可.然後發消息給myfrm,設置他是frm1的模態窗體.
myfrm.Show 1 不用试就知道不行,我想让myfrm显示在frm1之前,那肯定得涉及到frm1啊
可以实现的吗?我很急啊,可以简单说说思路吗?
有直接的API函数,自己找找.
用SetWindowPos
myfrm激活的时候就设置frm1最前
如果myfrm失去焦点就取消置顶代码这样:
SetWindowPos Me.hWnd, hwnd1, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE刚才想得太复杂了,呵呵