怎样将command移出窗体一半 就是一半在里面和窗体联结,一半在外面。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Command1.Left=Form1.Width-Command1.Width/2 窗体被档住的时候也可以选择按钮~类似tabscrip那个功能 如果按钮的parent不是那个窗体就行了,要不然不可能露在窗体外面的可以做一个异型窗体呀,多出来一块的 用SetWindowRgn太麻烦了,因为我这个窗体是变化的,也就是说那个command可以移动,位置不固定,这样实现起来方便。真的没有办法吗? //窗体被档住的时候也可以选择按钮~类似tabscrip那个功能_____________________________还是不太明白你的意思,还要把按钮露在外面一半,可否说清楚一些? to: starsoulxp(星魂.NET) 非常感谢参与!是这样的,我做这个窗口经常和其它的窗口,显示位置、大小相同。其它窗口在我这个窗口上面的时候,要让我这个窗口显示出来,那就可以点,这个command(因为有一部分在窗体外边),使我这个窗体处于最上面。其它的窗体,就不管了。哈哈哈。。有点坏是不? 对啊,你的意思是要那个窗体始终位于最上面吗?下面是代码Option Explicit'窗体居最前面的APIPublic 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 Long'初始化:SetWindowPos,设置窗体总在最前面所需要的常量Private Const SWP_NOSIZE = &H1Private Const SWP_NOMOVE = &H2Private Const SWP_NOZORDER = &H4Private Const SWP_NOREDRAW = &H8Private Const SWP_NOACTIVATE = &H10Private Const SWP_FRAMECHANGED = &H20Private Const SWP_SHOWWINDOW = &H40Private Const SWP_NOCOPYBITS = &H80Private Const SWP_NOOWNERZORDER = &H200Private Const SWP_DRAWFRAME = SWP_FRAMECHANGEDPrivate Const SWP_NOREPOSITION = SWP_NOOWNERZORDERPrivate Const HWND_TOP = 0Private Const HWND_BOTTOM = 1Private Const HWND_TOPMOST = -1Private Const HWND_NOTOPMOST = -2___________________________________________________'设定窗体位居最前面的过程Public Sub SetOnTop(frm As Object, bSetting As Boolean)If bSetting Then '将窗体设置成总在最前 SetWindowPos frm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZEElse '取消窗体总在最前设置 SetWindowPos frm.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZEEnd IfEnd Sub___________________________________举例:要置前:SetOnTop frmLogin, True取消置前:SetOnTop frmLogin, False 你直接用move方法旧可以了.他能够自由的移动任何控件 to:starsoulxp(星魂.NET)窗体在最上面是不对的。但还是非常感谢,已经通过其它途径解决了,给分 sub中形参没有显式的定义byval或byref和变量类型是什么意思 "立即登录"按钮对应的脚本程序是啥? 关于WebBrowser占用CPU问题 怎么把数据库中保存的图像文件读出来显示在picture中。 Dll & MDIForm 問題,Up有份 关于硬件的问题(PCI加电压) 我安装了水晶报表8以后,要通过什么代码打开水晶报表4.6制作的报表呢?急急急急急急急急急急急急急 如何用过程或函数传递结构类型数组参数? 請問數據庫中可以查找blob字段類型的值嗎? 请问WIN98(E文)对中文版的VB支持如何 第一次做二次开发,大家别笑给点意见 关于动态加载控件,求助高手!!!
可以做一个异型窗体呀,多出来一块的
真的没有办法吗?
还是不太明白你的意思,还要把按钮露在外面一半,可否说清楚一些?
非常感谢参与!是这样的,我做这个窗口经常和其它的窗口,显示位置、大小相同。
其它窗口在我这个窗口上面的时候,要让我这个窗口显示出来,那就可以点,
这个command(因为有一部分在窗体外边),使我这个窗体处于最上面。
其它的窗体,就不管了。哈哈哈。。有点坏是不?
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 Long'初始化:SetWindowPos,设置窗体总在最前面所需要的常量Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOREDRAW = &H8
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_NOCOPYBITS = &H80
Private Const SWP_NOOWNERZORDER = &H200
Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED
Private Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
Private Const HWND_TOP = 0
Private Const HWND_BOTTOM = 1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2___________________________________________________'设定窗体位居最前面的过程
Public Sub SetOnTop(frm As Object, bSetting As Boolean)
If bSetting Then
'将窗体设置成总在最前
SetWindowPos frm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Else
'取消窗体总在最前设置
SetWindowPos frm.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub___________________________________举例:
要置前:
SetOnTop frmLogin, True取消置前:
SetOnTop frmLogin, False