Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

Как правильно сделать окно активным?   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
1-16447
Zheks
2004-01-28 09:44
2004.02.06
try/except


11-16208
Danil
2003-05-21 01:13
2004.02.06
Как изобразить на кнопке смайлик?


3-16098
Veetyok
2004-01-11 00:05
2004.02.06
SQL возможности


14-16617
Думкин
2004-01-15 06:14
2004.02.06
С днем рождения! 15 января.


3-16181
Balepa
2004-01-13 23:41
2004.02.06
Запросы