Всегда впереди диалоговые окна

SELECT MIN(value)
FROM table      
WHERE value > 0;

11
задан Adam Davis 27 February 2009 в 03:38
поделиться

1 ответ

Из Ниша:

Создание диалогового пребывания на вершине

Разве Вы не видели программы, которые имеют "always-stay-on-top" опцию? Хорошо невероятная вещь состоит в том, что можно сделать диалоговое пребывание на вершине со всего одной строкой кода. Просто поместите следующую строку в OnInitDialog своего диалогового класса () функция.

SetWindowPos(&this->wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

В основном то, что мы делаем, должно использовать функцию SetWindowPos для изменения Z-порядка нашего диалогового окна. Мы делаем наше диалоговое пребывание сверху всех других окон путем перемещения его в вершину Z-порядка. Теперь, даже когда Вы активируете некоторое другое окно, наше окно останется на вершине. Но я советовал бы Вам удостоверяться, что Вы знаете точно, что Вы делаете, когда Вы делаете это, поскольку людей могло бы раздражать, если они не могут избавиться от Вашего окна, когда они хотят сделать это.

Как Вы упомянули в комментариях, вышеупомянутая строка заставляет окно находиться сверху каждого приложения. Необходимо будет сделать

SetWindowPos(&this->wndTop,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

Заставить окно находиться только сверху Вашего приложения.

- Adam

18
ответ дан 3 December 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: