Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Фокус дочернего элемента Добавлено: 27.04.06 18:17  

Автор вопроса:  Леха
Народ, подскажите!
Есть форма, на ней - MultiPage, на одной из страниц - Frame, а в ней TextBox
Каким образом можно установить фокус на TextBox?
SetFocus почему-то не работает.
Второе. Можно ли получить имя активного дочернего контрола во Frame? ActiveControl возвращает Frame.Name независимо от сфокусированного контрола.
И последнее :-) Происходят ли какие-либо события формы при наступлении события на дочернем элементе?

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 27.04.06 23:22

Происходят ли какие-либо события формы при наступлении события на дочернем элементе?

СетФокус ж походу...

Каким образом можно установить фокус на TextBox?


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
Private Const WM_SETFOCUS = &H7
SendMessage Text1.hWnd, WM_SETFOCUS, 0, 0


?

Ответить

Номер ответа: 2
Автор ответа:
 Дмит



Вопросов: 11
Ответов: 160
 Web-сайт: dimit.pochta.ru
 Профиль | | #2
Добавлено: 28.04.06 10:08
1. TextBox1.SetFocus у меня работает
2. Frame1.ActiveControl.Name
3. ? уточни.

Ответить

Номер ответа: 3
Автор ответа:
 Леха



Вопросов: 7
Ответов: 11
 Профиль | | #3 Добавлено: 28.04.06 13:48
1. TextBox1.SetFocus у меня работает

Если TextBox находится просто на форме - тогда работает, а если в контейнере (Frame) - тогда нет ... ХЗ
3. ? уточни

Идея следущая: на форме накидано много TextBox-ов, каждый из которых реагирует на 4 события. Геморно и громоздко прописывать одно и тоже на каждый TextBox. Хотелось бы отслеживать событие из одного места, н-р с формы, где бы происходило распознавание имени изменившегося/кликнутого и т.д. TextBox-а, выполнялись бы некоторые операции и возвращалось бы значение обратно в TextBox.
Во как! :-)

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 28.04.06 14:39
имя х.з. хендел можно, глобальный хук на маус-клик, потом смотрим в каком месте кликнули (GetCursorPos) и берём с того места хендел (WindowFromPoint)...

потом можно For Each по текстбоксам, сверяя хенделы найти нужный...

Ответить

Номер ответа: 5
Автор ответа:
 Дмит



Вопросов: 11
Ответов: 160
 Web-сайт: dimit.pochta.ru
 Профиль | | #5
Добавлено: 28.04.06 14:47
Можно сделать класс.
пример: www.dimit.pochta.ru/wrem/class_txt.zip

Ответить

Номер ответа: 6
Автор ответа:
 Леха



Вопросов: 7
Ответов: 11
 Профиль | | #6 Добавлено: 28.04.06 14:54
Мысль понял.
Можно поподробнее, я в API чайник :-)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам