Private Declare Function _
SetFocusAPI Lib "user32.dll" _
Alias "SetFocus" (ByVal hWnd As Long) As Long
Private Sub Form_Load()
SetFocusAPI Me.Text1.hWnd 'Text1.hWnd
End Sub
SetFocus
Почему в Form_Load нельзя использовать SetFocus?
точно не знаю, но видимо потому что ты пытаешься установить фокус на элементе, который еще не загружен/создан как и форма, хотя может я и не прав.
Код:
А если серьёзно, то установить фокус можно и с помощью метода SetFocus, только для этого, видимо, придётся использовать другое событие, например, Form_Activate()
Код:
Private Sub Form_Activate() 'Form_Paint()
Me.Text1.SetFocus 'Text1.SetFocus
End Sub
Me.Text1.SetFocus 'Text1.SetFocus
End Sub
P.S. Если фокус ввода всегда необходимо устанавливать на Text1, то можно обойтись и без SetFocus, а сделать это можно, если найти у этого контрола свойство TabIndex и установить его значение = 0
Да ёмоё, чо париться то. В Form_Load перед тем как тебе нужно использовать SetFocus, сделал Form1.Show или просто Show и всё. Фокус не поставится на неотображённый контрол.