Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.017 c
4-16836
Sergious
2003-12-01 12:05
2004.02.06
Как перевести монитор в ждущий режим под ХР?


1-16364
denis24
2004-01-24 11:04
2004.02.06
dbgrid.onMouseDown


4-16789
mRodion
2003-12-02 10:24
2004.02.06
Сделать элемент TlistView в фокусе


14-16595
passlight
2004-01-15 11:29
2004.02.06
---|Ветка была без названия|---


1-16268
Анонимщик
2004-01-22 16:37
2004.02.06
Деструктор в конструкторе




   Наверх