Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-16468
Pbulbo
2004-01-27 22:02
2004.02.06
Большой массив, как?


14-16669
syte_ser78
2004-01-17 15:03
2004.02.06
Siemens A50


1-16235
Serginio666
2004-01-26 19:38
2004.02.06
Вопрос по Хэлперам


3-16047
Andrey V.
2004-01-13 08:08
2004.02.06
ПЛАН :-)


14-16616
Евгыш
2004-01-15 10:18
2004.02.06
Обработка исключений





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский