Описание тега layered-windows

1 ответ

C++ Layered Window и WM_MOUSEMOVE

Я пытаюсь сделать прозрачную заставку в C++ и WinAPI. На Windows XP все работает нормально, но на WES7 у меня возникает следующая проблема: делая мой экран прозрачным, я не могу получить ни одного WM_MOUSMOVE Сообщения. SetWindowLongPtr( hWnd, GWL_E…
14 авг '13 в 11:19
2 ответа

Какой лучший способ рисования оверлейной графики в Windows?

Я работаю с приложением Win32, которое должно создавать различные типы окон. В частности, эти окна часто не прямоугольные, имеют тени или в основном прозрачные. Я сейчас пользуюсь WS_EX_LAYERED с UpdateLayeredWindow создать прозрачные окна, на котор…
05 ноя '09 в 04:34
1 ответ

WM_NCHITTEST не меняет курсор мыши

У меня есть многоуровневое окно (WS_EX_LAYERED), которое реализует пользовательские NCHITTEST и NCCALCSIZE, чтобы сделать клиент прямоугольным моего окна таким же, как окно прямоугольным. Мои размеры окна и краски правильно; Я могу вернуть HTBOTTOM …
0 ответов

Сделать кнопку цветопрозрачной в Windows

Я хочу создать кнопки с пользовательскими формами, поэтому я решил сделать это с помощью многослойной Windows. Я создаю окно для кнопки, устанавливаю для нее растровое изображение, делаю его слоистым, а затем пытаюсь сделать белый цвет полностью про…
24 дек '17 в 18:28
1 ответ

Win32 LayeredWindow дает плохой визуальный эффект

Я занимаюсь разработкой системы пользовательского интерфейса, в которой есть все эти интеллектуальные функции, такие как отрыв панели, стыковка и т. Д. В настоящее время моя задача состоит в том, чтобы создать наложение на экране, показывающее полож…
1 ответ

Многослойное окно все еще получает сообщение WM_PAINT после вызова UpdateLayeredWindow

У меня есть несколько слоистых окон в моем приложении, которые используют UpdateLayeredWindow() обрабатывать их визуальное представление. Согласно статье MSDN о многослойных окнах, "при использовании UpdateLayeredWindow() приложение не должно отвеча…
08 июн '09 в 15:27
0 ответов

Многослойные окна и COM перетаскивают изображение

У меня есть программа, которая отображает главное окно, многоуровневое окно и реализует перетаскивание COM. В общих чертах: Я создаю нормальное окно верхнего уровня. Я создаю многоуровневое окно, используя WS_EX_LAYERED и UpdateLayeredWindow/SetLaye…
22 дек '09 в 19:52
3 ответа

Win32: Как нарисовать за пределами моего окна?

Глядя на Windows tooltips окно подсказки класса, я вижу, что оно рисует свою тень вне фактического прямоугольника окна подсказки. Используя SpyXX - я могу получить прямоугольник окна всплывающей подсказки и стили классов: Rectangle: (440, 229)-(544,…
1 ответ

Как перерисовать только область многослойного окна?

У меня есть многослойное окно, которое обычно рисуется следующим образом: private void SelectBitmap(Bitmap bitmap) { IntPtr screenDc = GetDC(IntPtr.Zero); IntPtr memDc = CreateCompatibleDC(screenDc); IntPtr hBitmap = IntPtr.Zero; IntPtr hOldBitmap =…
19 мар '13 в 00:33
1 ответ

Области окон против слоистых окон

Я ищу создание пользовательской скругленной рамки для окна приложения (border-radius и shadow) С точки зрения производительности, какой метод лучше всего подходит для этого? а. Используйте области (SetWindowRgn) для округленного окна приложения и мн…
25 янв '18 в 17:30
1 ответ

LayeredWindows и переменная прозрачность альфа - с помощью кисти?

У меня есть многоуровневое окно (используя SetLayeredWindowAttributes). Если я установлю альфу для всего окна на 128 и нарисую черные прямоугольники, она будет работать, как и ожидалось (черные прямоугольники, которые просвечивают с непрозрачностью …
10 янв '13 в 01:15
0 ответов

Окно WS_EX_LAYERED кажется невидимым по RDP

Я разработал приложение для захвата экрана для Windows, используя чистый Win32 - без MFC или ATL. Для этого я использую два многоуровневых окна верхнего уровня - одно (полностью прозрачное) для захвата событий мыши, таких как перетаскивание, а друго…
23 июл '13 в 15:24
2 ответа

Правильный метод перерисовки многослойного окна

У меня есть окно, созданное с WS_EX_LAYERED стиль окна В настоящее время я рисую на растровое изображение памяти, используя GDI+, и использую UpdateLayeredWindow обновить графическое содержимое моего многослойного окна. Я намерен использовать это ок…
07 окт '13 в 04:42
1 ответ

Как создать дочернее слоистое альфа-прозрачное окно?

Я пытаюсь создать прозрачное дочернее окно. procedure TForm1.BtnGoClick(Sender: TObject); var bmp:TBitmap; BitmapPos: TPoint; BitmapSize: TSIZE; BlendFunction: _BLENDFUNCTION; exStyle: Cardinal; begin bmp := TBitmap.Create; bmp.LoadFromFile('my32bit…
1 ответ

Установка курсора на весь рабочий стол

У меня есть многослойное окно, имеющее размер экрана, но почти полностью прозрачное. (кроме небольшого крестика, нарисованного пользователем) wc.style = 0; wc.lpfnWndProc = (WNDPROC) wnd_top_rect_proc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInsta…
29 сен '13 в 12:38
1 ответ

Многослойные окна, UpdateLayeredWindow, альфа-смешивание и события мыши

В Windows Forms и C# я использую форму со стилем WS_EX_LAYERED и вызываю UpdateLayeredWindow, чтобы установить фон для изображения с прозрачным / альфа-смешиванием: NativeMethods.BLENDFUNCTION blend = new NativeMethods.BLENDFUNCTION(); blend.BlendOp…
14 дек '12 в 18:47
2 ответа

Механизм скининга в Windows: рисовать только "грязные" области или все окно сразу?

Я хочу сделать движок для создания скинов, способный рисовать окна специальной формы с альфа-смешиванием. То есть он будет использовать многослойные окна (UpdateLayeredWindow). Типичное окно будет содержать среди своего фона пару десятков других рас…
1 ответ

Нарисуйте HBITMAP на многослойное окно. В чем дело?

Привет и добрый день всем, Моя последняя цель - нарисовать файл PNG, включая альфа, на экране - это означает, что не в собственном окне, а где-то на рабочем столе. Часть для загрузки PNG в HBITMAP работает сейчас (проверено по-разному), но мне не уд…
27 сен '12 в 17:14
1 ответ

C++ GDI+ Рисование изображения в многослойном окне не работает

Итак, я нашел много примеров кода, руководств и ответов на SO о рисовании изображения в многоуровневом окне. Я пытался использовать чистый HBITMAPS и WIC любят рисовать, и теперь я нахожусь в GDI+ для рисования (что гораздо проще и, казалось бы, про…
20 июл '12 в 05:24
3 ответа

Win32: Как сделать так, чтобы тень падала в непрямоугольном многослойном окне?

Я создал многоуровневое окно, добавив расширенный стиль WS_EX_LAYERED: wndClass.ExStyle = wndClass.ExStyle | WS_EX_LAYERED; Windows будет использовать черный в качестве значения цвета хроматического ключа. Я собираюсь оставить большую черную границу…