All of the MSForms controls are windowless, so none of the API calls
that return window handles will work on them. The window handle returned by
your GetFocus API call is for a Window that is part of the UserForm itself,
rather than any of the controls on it. Is there some reason you need to
write to the textbox this way? It would be much easier to just set its Text
property.
--
Rob Bovey, Excel MVP
Application Professionals
http://www.appspro.com/
* Take your Excel development skills to the next level.
* Professional Excel Development
http://www.appspro.com/Books/Books.htm
"RAFAAJ2000" wrote in message
...
Hi all,
I have a UserForm with a TextBox and a CommandButton.
I want to write some text on the TexBox using the 'SendMessage' API when
the
CommandButton is clicked .
I am able to get the window handle of the TextBox control by using the
'apiGetFocus' but for somw reason, the text is not added !!!!
Code:
Private Declare Function apiGetFocus Lib "user32" Alias "GetFocus" () As
Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As
Any) As Long
Const WM_SETTEXT = &HC
Private Sub CommandButton1_Click()
TextBox1.SetFocus
Hndle = apiGetFocus
SendMessage Hndle, WM_SETTEXT, 0, ByVal "WOW!"
End Sub
Any help would be much appreciated.
Regards.