Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 174
Default CreateWindowEx

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


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default CreateWindowEx

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

http://www.bigresource.com/VB-Create...RpKvdIZhW.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



"JP Ronse" wrote:

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



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 174
Default CreateWindowEx

Hi Joel,

Thanks for your time, I'll have a look and will give feedback.

Wkr,

JP

"Joel" wrote in message
...
I found a website with code that didn't work Made two small changes

http://www.bigresource.com/VB-Create...RpKvdIZhW.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



"JP Ronse" wrote:

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





  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 174
Default CreateWindowEx

Hi Joel,

It is working!!! Thank you very much.

Wkr,

JP


"Joel" wrote in message
...
I found a website with code that didn't work Made two small changes

http://www.bigresource.com/VB-Create...RpKvdIZhW.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



"JP Ronse" wrote:

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





Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 10:31 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"