![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно сделать окно активным? [D6, WinME]
Vemer © (2003-11-23 17:27:00)
Здравствуйте.
Подскажите пожалуйста, как сделать окно программы активным, не зависимо от его состояния, а то код типа:ShowWindow(Wnd,SW_SHOWNORMAL)почему-то делает его активным только из свернутого состояния, а желательно, чтобы независимо от состояния окна оно становилось активным (с разворачиванием по необходимости). Может в свойствах формы чего подправить надо?
mRodion (2003-12-03 11:20:00) [1]
Мне помогло это:
SendMessage (Handle,WM_SETFOCUS, 0, 0);
Но спасибо за советы
DVM (2003-12-02 18:57:00) [2]
> Игорь Шевченко © (02.12.03 18:35) [10]
Не факт, что окно в XP/2000 при этом получит клавиатурный фокус.
Игорь Шевченко (2003-12-02 18:35:00) [3]
Vemer © (28.11.03 10:17)
ShowWindow + BringWindowToTop();
mRodion (2003-12-02 17:24:00) [4]
2 Diamond Cat:
Вы сказали: "высветить окно поверх всех и сделать ему "синий" капшион или передать ему клавиатурный фокус,
как показала практика это разные вещи"
Мне ненужно передать клавиатурный фокус одному из дочерних окон MDI приложения. Как я могу это сделать?
Vemer (2003-11-28 10:17:00) [5]
Всем спасибо, народ, я с системным программированием первый раз сталкиваюсь, поэтому сильно не пинайте :).
А под активацией я как раз и имел в виду "синий капшион + клавиатурный фокус + развертывание по необходимости", кстати как это дело хоть правильно зовется.
Diamond Cat (2003-11-27 23:26:00) [6]
по msdn посмотри это раз, а два что ты имеешь в виду под активацией, просто высветить окно поверх всех и сделать ему "синий" капшион или передать ему клавиатурный фокус,
как показала практика это разные вещи
DVM (2003-11-27 18:17:00) [7]
> В моей 6-ой дельфе неизвестного происхождения такого файла
> нет к сожалению.
В моей, к сожалению, тоже :)))
User32.dll
Kernel32.dll
GDI32.dll
- "три кита" на которых держится Windows. Этот файл у вас есть точно:)
Неужели так трудно было поискать:
http://www.yandex.ru/yandsearch?rpt=rad&text=SwitchToThisWindow
procedure SwitchToThisWindow(wnd : HWND; bRestore: BOOL); stdcall; external "user32.dll" name "SwitchToThisWindow";
wnd - описатель окна, которому следует передаь фокус;
bRestore - TRUE, если нужно восстановить минимизированное окно.
Vemer (2003-11-26 19:07:00) [8]
To DVM >
В моей 6-ой дельфе неизвестного происхождения такого файла нет к сожалению.
DVM (2003-11-26 18:33:00) [9]
> что за команда такая, какого модуля (в Uses)требует?
user32.dll
Vemer (2003-11-26 13:02:00) [10]
Пишу в редакторе SwitchToThisWindow, выделяю, жму F1 - а в ответ тишина, что за команда такая, какого модуля (в Uses)требует?
DVM (2003-11-24 18:46:00) [11]
SwitchToThisWindow(). См. MSDN.
KosilkA (2003-11-23 19:00:00) [12]
попробуй написать SW_SHOWNORMAL or SW_RESTORE