Страница: 1 |
Вопрос: Фокус дочернего элемента | Добавлено: 27.04.06 18:17 |
Автор вопроса: ![]() |
Народ, подскажите!
Есть форма, на ней - MultiPage, на одной из страниц - Frame, а в ней TextBox Каким образом можно установить фокус на TextBox? SetFocus почему-то не работает. Второе. Можно ли получить имя активного дочернего контрола во Frame? ActiveControl возвращает Frame.Name независимо от сфокусированного контрола. И последнее :-) Происходят ли какие-либо события формы при наступлении события на дочернем элементе? |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик 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-сайт: Профиль | Цитата | #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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #4 | Добавлено: 28.04.06 14:39 |
имя х.з. хендел можно, глобальный хук на маус-клик, потом смотрим в каком месте кликнули (GetCursorPos) и берём с того места хендел (WindowFromPoint)...
потом можно For Each по текстбоксам, сверяя хенделы найти нужный... |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Вопросов: 11 Ответов: 160 |
Web-сайт: Профиль | Цитата | #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 |
|