Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2009, 18:17   #1
hyperworker
Пользователь
 
Аватар для hyperworker
 
Регистрация: 05.04.2008
Сообщений: 15
По умолчанию Делаю окно-поплавок

Доброго времени суток! Хочу сделать окно-поплавок. Эта задача решается простым способом. Создается окно с помощью функции CreateWindowEx, передаем этой функции первый параметр WS_EX_TOPMOST. Но я решил создать более продвинутый вариант “поплавка”. Дело в том, что такое окно с TOPMOSTом имеет существенный недостаток. При запуске некоторых приложений, изменяющих графический режим экрана, например игры (Grid напр.) и пр. такой “поплавок” пропадает вместе со всеми другими окнами и панелью задач.
Необходимо создать поплавок такого типа как плавающее окошко DownloadMaster-а напр. – оно не изчезает ни при каких условиях. Подскажите как это сделать plz. Заранее благодарен.
hyperworker вне форума Ответить с цитированием
Старый 16.02.2009, 18:42   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

насколько я понял, эти программы, рисуют прямо на контексте GetDC(0)
rpy3uH вне форума Ответить с цитированием
Старый 16.02.2009, 20:55   #3
hyperworker
Пользователь
 
Аватар для hyperworker
 
Регистрация: 05.04.2008
Сообщений: 15
По умолчанию

М! В том то и дело. Я не знаю как программно реализовать различные способы рисования.

Вот к примеру такая ситуевина. Имеем TOPMOSTовое окно. Не важно при создании, или с помощью SetWondowPos, но оно на переднем плане и оно - системно-модальное. Но даже такие окошки пропадают, если мы запускаем (к примеру) тот же CounterStrike. Вот потому я в качестве хорошкго примера привел плавающее окошко DownloadMaster-а- оно не пропадает никогда. В принципе несложная задача

Хелпните plz

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
насколько я понял, эти программы, рисуют прямо на контексте GetDC(0)
Если абсолютнонеперекрываемые окна рисуются только так, то я был бы рад даже намеку на пример. И судя по всему это единственный способ. Хотя я в этих вопросах не очень силен.

Последний раз редактировалось rpy3uH; 16.02.2009 в 20:58.
hyperworker вне форума Ответить с цитированием
Старый 16.02.2009, 20:59   #4
hyperworker
Пользователь
 
Аватар для hyperworker
 
Регистрация: 05.04.2008
Сообщений: 15
По умолчанию

Мысли вслух: если рисовать прямо на контексте, то -> не можем использовать стандартный виндозный GUI ?... По моим наблюдениям окна антивирусов и того же DownloadMasterа имеют нестандартновидозный вид
hyperworker вне форума Ответить с цитированием
Старый 16.02.2009, 21:01   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

какое у тебя окно (вручную на Win API или VCL, MFC) и на чём ты прогишь?
rpy3uH вне форума Ответить с цитированием
Старый 16.02.2009, 21:16   #6
hyperworker
Пользователь
 
Аватар для hyperworker
 
Регистрация: 05.04.2008
Сообщений: 15
По умолчанию

Visual C++ 6.0
WinAPI

...как насчет еще одного способа - отслеживать перекрытие окна и затем выводить его снова на передний план. Спс что интерсуетесь )
hyperworker вне форума Ответить с цитированием
Старый 16.02.2009, 21:42   #7
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

если пишешь на Win API, то при получении WM_PAINT просто меняешь hdc (wParam) на GetDC(0) а дальше как обычно. не пробовал
rpy3uH вне форума Ответить с цитированием
Старый 16.02.2009, 22:14   #8
hyperworker
Пользователь
 
Аватар для hyperworker
 
Регистрация: 05.04.2008
Сообщений: 15
По умолчанию

Спасибо. Попробую. О ходе эксперемента далее отписываюсь в этой теме )
hyperworker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
правильно ли я делаю? andrey4623 Общие вопросы Delphi 2 07.03.2008 20:14
Делаю Кроссворды Иллидан Фриланс 3 03.02.2008 21:50
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. RustreX Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2007 19:28
делаю автопостер Филлип Помощь студентам 4 06.11.2007 16:11