بمب منطقی عزیز این هم یک مثال که در آن با استفاده از تابع CreateWindowEx یک پنجره جدید با مشخصات مورد نظر ما تولید شده است. شما می توانید با مطالعه MSDN جزییات بیشتری را در این مورد پیدا کنید.
Const WS_EX_STATICEDGE = &H20000
Const WS_EX_TRANSPARENT = &H20&
Const WS_CHILD = &H40000000
Const CW_USEDEFAULT = &H80000000
Const SW_NORMAL = 1
Const WS_EX_DLGMODALFRAME = &H1&
Const WS_CAPTION = &HC00000
Const WS_MAXIMIZEBOX = &H10000
Const WS_MINIMIZEBOX = &H20000
Const WS_SYSMENU = &H80000
Private Type CREATESTRUCT
lpCreateParams As Long
hInstance As Long
hMenu As Long
hWndParent As Long
cy As Long
cx As Long
y As Long
x As Long
style As Long
lpszName As String
lpszClass As String
ExStyle As Long
End Type
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Dim m_hWnd As Long
Private Sub cmdCreate_Click() ‘Nothing
Dim CS As CREATESTRUCT
m_hWnd = CreateWindowEx(WS_EX_DLGMODALFRAME, "#32770", "Hello", WS_CAPTION Or WS_MAXIMIZEBOX Or WS_MINIMIZEBOX Or WS_SYSMENU, 0, 0, 500, 250, 0, 0, App.hInstance, CS) ‘Nothing
ShowWindow m_hWnd, SW_NORMAL
End Sub
Private Sub Form_Unload(Cancel As Integer) ‘Nothing
DestroyWindow m_hWnd
End Sub