![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хочу, чтобы форма была поверх всех окон [D7, WinXP]
Зинец Виктор © (2003-06-03 14:40:00)Если бы она была одна, то лёгко; но мне надо, чтобы форма создала другую форму, которая и должна быть поверх всех
fsStayOnTop в этом случае распростр. только на остальные формы моей программы (у mainform.fprmstyle = fsNormal)
если сделаю основную форму stayontop, то и все ею созданные формы тоже поверх всех вообще - но это не то, мне надо, чтобы главная форма была "как все"; и еще у меня основная форма минимизируется (точнее просто прячется), после этого и она, и ею созданные теряют свою "поверх_всех"-ность...
где-то туплю или многого хочу...
Song (2003-06-05 11:02:00) [1]Это только в случае, если окно, которое сверху активно, например, сверху ворд, и я в нём набираю текст. Вообще это правильно. Если я набираю текст, на какой ### мне нужны какие-то окна, которые появятся, заберут фокус, и все мои нажатия уйдут в трубу, особенно если, например, я набираю вслепую.
Конечно, выходы из ситуации есть:
1) SwithToThisWindow
2) SetForeGroundWindow+AttachThreadInput() чужого потока
3) SetForeGroundWindow()+SystemParametersInf() для изменения её поведения. Подробности - в базе данных готовых решений.
Polevi (2003-06-05 10:18:00) [2]Song © (04.06.03 18:17)
ты проверь, он дело говорит
Jimal (2003-06-05 07:51:00) [3]Удалено модератором
Примечание: Чуваками называют в совсем другой конференции
Song (2003-06-04 18:17:00) [4]>>да, оно становится поверх главной формы, но не поверх всех окон
Да ладно гнать-то...
Зинец Виктор (2003-06-04 11:16:00) [5]SetWindowPos (myform.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
- типа хочу поднять окно поверх всех, не меняя размеров и положения (или я неправильно что-то делаю?)
да, оно становится поверх главной формы, но не поверх всех окон
а поверх всех окон оно будет только если стиль главной формы StayOnTop - но мне это не надо!
Song (2003-06-03 14:43:00) [6]SetWindowPos()
DVM (2003-06-03 14:43:00) [7]Не совсем понял, что требуется но SetWindowPos точно поможет.