Поиск сообщества
Показаны результаты для тегов 'form-style'.
Найдено: 1 результат
-
Тень формы отсутствует при стилизованной границе окна
Алиса Романец опубликовал вопрос в Стилизация окна
Доброго времени суток, форумчане! Столкнулась с проблемой при стилизации границ формы окна в FireMonkey на Windows. Как только появляется стиль границ - форма начинает вести себя, как прозрачная - то есть, теряет тень. Кто-то из добрых людей уже замечали эту проблему, но в текущих реалиях прикостылить их решения я не смогла. CreateParams в FMX не существует, а вручную добавлять TShadowEffect в стиль не принесло никаких результатов, кроме съехавшего стиля формы и тормозного изменения размеров. Может ли кто пояснить за этот момент, как вообще тень обрабатывается в MS Windows и есть ли какой-нибудь workaround для её ручной активации через WinAPI? Потому что с тенью в macOS всё прекрасно (однако, там и границу окна не стилизуешь, as long as у вас не веб-приложение, хехе). Скрины проблемы прикрепила к посту. Стиль полностью векторный. Обновление (19.12.2019 11:44 МСК) Путём перехвата процедуры CreateHandle и с использованием SetClassLong удалось создать тень, ноо... До тени, что выдаёт Windows 10 ей далеко ? type TForm1 = class(TForm) private {$IFDEF MSWINDOWS}procedure CreateHandle; override;{$ENDIF MSWINDOWS} public { Public declarations } end; begin {$IFDEF MSWINDOWS} procedure TForm1.CreateHandle; begin inherited CreateHandle; var hWnd: HWND := FormToHWND(Form1); if hWnd <> 0 then SetClassLong(hWnd, GCL_STYLE, GetClassLong(hWnd, GCL_STYLE) or CS_DROPSHADOW); end; {$ENDIF MSWINDOWS} end. Результат:- 6 ответов
-
- winapi
- borderless-form
-
(и ещё 2 )
C тегом: