CreateWindowEx

J

JP Ronse

Hi All,

Has someone already written some 'free' code in Excel VBA (2003) using the
CreateWindowEx API, send some text to it and close it by user action? I
really would to consult it if you don't mind. I find a lot of samples but
most are written for VB and do not work in Excel.

I know, it can be done also with a userform but I would like it to try it
once this way.

Many thanks for your replies.

Wkr,

JP
 
J

Joel

I found a website with code that didn't work Made two small changes

http://www.bigresource.com/VB-CreateWindowEx-Sample-RRpKvdIZhW.html

Change this line. I changes "ME" and "APP" to "Application"
mWnd = CreateWindowEx(WS_EX_STATICEDGE Or WS_EX_TRANSPARENT, "STATIC",
"Sample!!!", WS_CHILD, 0, 0, 300, 50, Application.hwnd, 0,
Application.hInstance, CS)




Const WS_CHILD = &H40000000
Const CW_USEDEFAULT = &H80000000
Const SW_NORMAL = 1
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 mWnd As Long

Private Sub Form_Load()
Dim CS As CREATESTRUCT
'Create a new label
mWnd = CreateWindowEx(WS_EX_STATICEDGE Or WS_EX_TRANSPARENT, "STATIC",
"Sample!!!", WS_CHILD, 0, 0, 300, 50, Application.hwnd, 0,
Application.hInstance, CS)
'Me.Caption = mWnd
'Show our label
ShowWindow mWnd, SW_NORMAL
End Sub
Private Sub Form_Unload(Cancel As Integer)
'destroy our label
DestroyWindow mWnd
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top