Booster |
Отправлено: 16.08.2005, 12:24 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 29
|
Как установить окно проги поверх всех окон в винде? |
|
Gedeon |
Отправлено: 16.08.2005, 12:38 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
SetForegroundWindow(...);
|
|
olegenty |
Отправлено: 16.08.2005, 12:48 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
либо FromStyle = fsStayOnTop
смотря, что Booster имел в виду.
|
|
Vlad |
Отправлено: 16.08.2005, 12:59 |
|
Машинист паровоза
Группа: Участник
Сообщений: 231
|
Если хочешь менять жинамически, то тебя спасет — SetWindowPos, со всем многообразием выбора, используемое в этой функции |
|
AVC |
Отправлено: 17.08.2005, 08:17 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Win2K из собственных наблюдений
StayOnTop — слишком жестоко
SetForegroundWindow(...); похоже срабатывает только один (первый) раз и это где то на уровне винды. А потом просто мигание в taskbar'e.
SetWindowPos и прочие игры с Z order'ом работали нестабильно в проекте на Builder.
В рабочем проекте (без кнопки в taskbar) остановился на варианте
if (SetForegroundWindow(Application->Handle) == 0) мигание_иконкой_в_tray
Черт! Решил еще раз посмотреть и не смог добиться эффекта не срабатывания SetForegroundWindow (Сегодня работает как положено). А ведь был, ей богу! И отнял не мало времени на поиск решения. |
|
Vlad |
Отправлено: 17.08.2005, 08:43 |
|
Машинист паровоза
Группа: Участник
Сообщений: 231
|
Ну не знай, не знай, у меня много где использовалось SetWindowPos, даже не только в Билдере, и всегда работало как швейцарские часы. Ну это видно батенька — судьба!............. |
|