波涛置业楼盘:如何窗口1能够出现在窗体2中?
来源:百度文库 编辑:偶看新闻 时间:2024/05/10 22:29:09
版主:学习以上的帖子,我已能将CAD窗体加入到VB窗体中,但不知为什么不能隐去CAD的标题栏,
请指正!谢谢
源代码: Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
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
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public AcadApp As Object
Public lHwnd As Long '保存ACAD应用程序的窗口句柄
Public lState As Long '保存ACAD的初始窗口状态
Public r As RECT '保存ACAD的初始窗口位置
Public L As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Const GWL_STYLE = (-16)
Public Const WS_CAPTION = &HC00000 Private Sub Form_Load()
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set AcadApp = CreateObject("AutoCAD.Application")
End If
lHwnd = GetParent(GetParent(AcadApp.Activedocument.hwnd))
If lHwnd = 0 Then Exit Sub
lState = AcadApp.WindowState
AcadApp.WindowState = 1 '设置ACAD的窗口状态为默认,用于保存窗口位置。
'GetWindowRect lHwnd, r
SetParent lHwnd, Form1.hwnd
Form1.ScaleMode = vbPixels '将VB窗体默认的缇单位改为以像素为单位。
SetWindowPos lHwnd, 0, Form1.ScaleLeft, Form1.ScaleTop, Form1.ScaleWidth - 0, Form1.ScaleHeight - 0, 0
Me.WindowState = 2
AcadApp.WindowState = 0
GetWindowRect lHwnd, r L = GetWindowLong(lHwnd, GWL_STYLE)
L = L And Not (WS_CAPTION)
L = SetWindowLong(lHwnd, GWL_STYLE, L)
End Sub Private Sub Form_Resize()
SetWindowPos lHwnd, 0, Form1.ScaleLeft, Form1.ScaleTop, Form1.ScaleWidth - 0, Form1.ScaleHeight - 0, 0
End Sub Private Sub Form_Unload(Cancel As Integer)
If lHwnd = 0 Then Exit Sub
SetParent lHwnd, 0
SetWindowPos lHwnd, 0, r.Left, r.Top, r.Right - r.Left, r.Bottom - r.Top, 0
AcadApp.WindowState = lState
AcadApp.Quit
Set AcadApp = Nothing
End Sub
L = GetWindowLong(lHwnd, GWL_STYLE)
L = L And Not (WS_CAPTION)
L = SetWindowLong(lHwnd, GWL_STYLE, L)
这个就是隐藏标题栏的,现在最上面的是VB窗体的标题栏,下面的是ACAD的菜单和工具栏。
如何在程序中判断窗体当前的状态(是否为活动窗口)?
如何在程序中判断窗体当前是否为活动窗口?
如何在窗体中控制FLASH控件的大小随着窗口的大小而改变代码
vb中如何是窗体一运行就是最大化窗口
在ACESS窗体中插入一个子窗体,如何在主窗体中对子窗体进行筛选?
在窗体中如何添加MSComm控件
在VB中如何分割窗体? (高分)
如何在Access中插入子窗体?
如何在word中创建窗体文档!
求助:Access中如何使子窗体在拖入主窗体后达到1对1的效果,而不是把子窗体中的所有数据都显示出来?
C#中,怎么实现在第一个窗体上点一个按钮,出现第二个窗体
请问哪位编程高手能够告诉我怎样在Access窗体中某字段刚一进入新记录就自动出现默认值,并且还能编辑。
vb.net中在其它窗体中如何关闭指定的窗体
ACCESS中如何在创建窗体的查询窗体中包含卖出统计、存货统计?
ASPNET中如何在Page_Load中让窗体关闭?
vb里在窗体中嵌入窗体
在vb.net中,如何在一个窗体上打开另一个窗体?
电脑点击一下,出现一个窗口,如何只在一个窗口中运行,怎么设置?
在vb中如何将一个窗体的文本框的值传给另一个窗体文本框
请问C#如何在一个类或一个窗体中使用用另一个窗体的控件?
如何在word文档中给“窗体”的锁加密?
VB如何在菜单中打开一个新的窗体
如何在C#窗体中插入分隔线?
如何在access窗体中显示图片ole字段?