pupk1n
Гость
|
|
« : 13-03-2008 17:04 » |
|
Пробовал SendMessage(wnd, WM_SETFOCUS, wnd2, 0); пост тоже пробовал результат идентичен, получаеться что фокус так и остаеться где он был, а появляеться ещё один фокус на другой кнопке(т.е. два фокуса). Странно... Пробовал ещё WM_KILLFOCUS таже история...=(
|
|
|
Записан
|
|
|
|
pupk1n
Гость
|
|
« Ответ #1 : 13-03-2008 17:07 » |
|
забыл написать ну думаю тут и так это понятно: wnd - кнопку на которую хочу поставить фокус, wnd2 - c которой убрать
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #2 : 13-03-2008 17:58 » |
|
Используй метод TButton SetFocus (Button1.SetFocus) и будет тебе счастье.
|
|
|
Записан
|
|
|
|
pupk1n
Гость
|
|
« Ответ #3 : 15-03-2008 09:52 » |
|
Забыл сказать в чужом окне... как я понимаю, то что ты написал это немного нето=)
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #4 : 15-03-2008 10:02 » |
|
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
pupk1n
Гость
|
|
« Ответ #5 : 15-03-2008 11:54 » |
|
wnd:=FindWindow(0, 'Program'); wnd:=FindWindowEx(wnd, 0, 'button', 'Start'); windows.SetFocus(wnd);
неработает, или я не правельно делаю что-то?
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #6 : 15-03-2008 12:34 » |
|
wnd:=FindWindow(nil, 'Program'); wnd:=FindWindowEx(wnd, 0, 'button', 'Start'); windows.SetFocus(wnd);
|
|
|
Записан
|
|
|
|
pupk1n
Гость
|
|
« Ответ #7 : 16-03-2008 10:22 » |
|
zubr, от того что ты заменил 0 на nil как будто много поменял=) не в этом дело окно он находит... а вот фокус нехочет никак ставить
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #8 : 16-03-2008 11:35 » |
|
а PostMessage(wnd,WM_SETFOCUS,0,0) не поможет ?
|
|
|
Записан
|
|
|
|
pupk1n
Гость
|
|
« Ответ #9 : 17-03-2008 07:20 » |
|
в певом посте же писал - не помогоает, появляеться ещё один фокус=)
|
|
|
Записан
|
|
|
|
sss
Специалист
Offline
|
|
« Ответ #10 : 17-03-2008 07:30 » |
|
pupk1n, возможно это просто не прорисовка кнопки потерявшей фокус? Попробуй SendMessage и проанализируй возврат.
|
|
|
Записан
|
while (8==8)
|
|
|
pupk1n
Гость
|
|
« Ответ #11 : 17-03-2008 07:38 » |
|
скорее нет, если наченешь его передвикать руками, то будет передвигаться старый фокус(который был изначально), а не вновь появившийся...
попробую всё-равно
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #12 : 17-03-2008 07:47 » |
|
так... Расскажи, что ты понимаешь под словом "фокус" ?
|
|
|
Записан
|
|
|
|
sss
Специалист
Offline
|
|
« Ответ #13 : 17-03-2008 08:07 » |
|
Ага, как это два фокуса? Да и вообще, пошли TAB да и все...
|
|
|
Записан
|
while (8==8)
|
|
|
pupk1n
Гость
|
|
« Ответ #14 : 17-03-2008 11:25 » |
|
с удовольствием послалбы, скажи wparam? это WM_KEYDOWN, WM_KEYUP как я понимаю
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #15 : 17-03-2008 12:23 » |
|
появляеться ещё один фокус=) pupk1n, Поздравляю! Ты открыл новую недокументированную фичу винды - двойной фокус. А какая копка отрабатывает, если в момент двойного фокуса нажать пробел? А может у тебя проблема с перерисовкой кнопки?
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
sss
Специалист
Offline
|
|
« Ответ #16 : 18-03-2008 01:29 » |
|
pupk1n, пошли один WM_KEYDOWN wParam = 9 (VK_TAB) lParam = 0x0F0001.
|
|
« Последнее редактирование: 18-03-2008 05:24 от sss »
|
Записан
|
while (8==8)
|
|
|
pupk1n
Гость
|
|
« Ответ #17 : 21-03-2008 14:05 » |
|
sss, спасибо попозже попробую щас веремени нету
|
|
|
Записан
|
|
|
|
|