Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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
Posted to microsoft.public.excel.programming
|
|||
|
|||
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
Posted to microsoft.public.excel.programming
|
|||
|
|||
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
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
Display Modes | |
|
|