Форум: "WinAPI";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизКак правильно сделать окно активным? Найти похожие ветки
← →
Vemer (2003-11-23 17:27) [0]Здравствуйте.
Подскажите пожалуйста, как сделать окно программы активным, не зависимо от его состояния, а то код типа:ShowWindow(Wnd,SW_SHOWNORMAL)
почему-то делает его активным только из свернутого состояния, а желательно, чтобы независимо от состояния окна оно становилось активным (с разворачиванием по необходимости). Может в свойствах формы чего подправить надо?
← →
KosilkA (2003-11-23 19:00) [1]попробуй написать SW_SHOWNORMAL or SW_RESTORE
← →
DVM (2003-11-24 18:46) [2]SwitchToThisWindow(). См. MSDN.
← →
Vemer (2003-11-26 13:02) [3]Пишу в редакторе SwitchToThisWindow, выделяю, жму F1 - а в ответ тишина, что за команда такая, какого модуля (в Uses)требует?
← →
DVM (2003-11-26 18:33) [4]
> что за команда такая, какого модуля (в Uses)требует?
user32.dll
← →
Vemer (2003-11-26 19:07) [5]To DVM >
В моей 6-ой дельфе неизвестного происхождения такого файла нет к сожалению.
← →
DVM (2003-11-27 18:17) [6]
> В моей 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, если нужно восстановить минимизированное окно.
← →
Diamond Cat (2003-11-27 23:26) [7]по msdn посмотри это раз, а два что ты имеешь в виду под активацией, просто высветить окно поверх всех и сделать ему "синий" капшион или передать ему клавиатурный фокус,
как показала практика это разные вещи
← →
Vemer (2003-11-28 10:17) [8]Всем спасибо, народ, я с системным программированием первый раз сталкиваюсь, поэтому сильно не пинайте :).
А под активацией я как раз и имел в виду "синий капшион + клавиатурный фокус + развертывание по необходимости", кстати как это дело хоть правильно зовется.
← →
mRodion (2003-12-02 17:24) [9]2 Diamond Cat:
Вы сказали: "высветить окно поверх всех и сделать ему "синий" капшион или передать ему клавиатурный фокус,
как показала практика это разные вещи"
Мне ненужно передать клавиатурный фокус одному из дочерних окон MDI приложения. Как я могу это сделать?
← →
Игорь Шевченко (2003-12-02 18:35) [10]Vemer © (28.11.03 10:17)
ShowWindow + BringWindowToTop();
← →
DVM (2003-12-02 18:57) [11]
> Игорь Шевченко © (02.12.03 18:35) [10]
Не факт, что окно в XP/2000 при этом получит клавиатурный фокус.
← →
mRodion (2003-12-03 11:20) [12]Мне помогло это:
SendMessage (Handle,WM_SETFOCUS, 0, 0);
Но спасибо за советы
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.022 c