问题描述:
希望创建一个多文档应用,按照VB的应用程序向导一步步的建立了出来,很不错,但是我希望在界面上扩充功能,使其能够达到这样的效果:Docking Window ,或许大家见多了Visual C++ 的类管理器,Visual Basic 的控件箱,资源管理器,Inernet Explorer 的搜索、历史、多媒体按钮按下后的效果,甚至Explorer都有这样的功能,但是不知道该怎么办,希望大家献计献策!
...全文
2320打赏收藏
多文档应用的界面设计问题
问题描述: 希望创建一个多文档应用,按照VB的应用程序向导一步步的建立了出来,很不错,但是我希望在界面上扩充功能,使其能够达到这样的效果:Docking Window ,或许大家见多了Visual C++ 的类管理器,Visual Basic 的控件箱,资源管理器,Inernet Explorer 的搜索、历史、多媒体按钮按下后的效果,甚至Explorer都有这样的功能,但是不知道该怎么办,希望大家献计献策!
实例程序:
1、在Visual Basic中开始一个新的工程,缺省名为Form1。
2、添加第二个窗体,缺少名为Form2。
3、将如下代码添加到Form1的Form_Load事件中:
Private Sub Form_Load()
Form2.Show
Form1.Caption="父窗口"
Form2.Caption="子窗口"
End Sub
4、Form2中的代码如下:
'通用声明部分
Private Declare Function SetWindowWord Lib "user32" _
(ByVal hwnd As Long,ByVal nIndex As Long, _
ByVal wNewWord As Long)As Long
Const GWL_HWNDPARENT=(-8)
Dim OriginalParenthWnd As Long
'在主窗体Form1的Form_Load事件中加入如下代码,
'以设置Form2为Form1的非模态窗体:
Private Sub Form_Load()
OriginalParenthWnd=SetWindowWord(Me.hwnd, _
GWL_HWNDPARENT,Form1.hwnd)
End Sub
'当Form2卸载(即发生Form_Unload事件)时应恢复。
Private Sub Form_Unload(Cancel As Integer)
Dim ret As Integer
ret=SetWindowWord(Me.hwnd,GWL_HWNDPARENT, _
OriginalParenthWnd)
End