Поиск сообщества
Показаны результаты для тегов 'WinApi'.
Найдено: 5 результатов
-
Тень формы отсутствует при стилизованной границе окна
Алиса Романец опубликовал вопрос в Стилизация окна
Доброго времени суток, форумчане! Столкнулась с проблемой при стилизации границ формы окна в 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 тегом:
-
В Color Constants есть константа clActiveCaption, которая возвращает цвет активного окна, но в Windows 10 возвращается совсем не тот цвет, который на данный момент. Пробовал так: GetSysColor(COLOR_ACTIVECAPTION) Или: clActiveCaption В общем-то есть предположение, что это давно уже не работает и несовместимо с Windows 8/10. Есть костыли по вытаскиванию цвета активного окна?
-
Здравствуйте! Может кто-нибудь уже проходил через подобное и знает как это реализовать и подскажет. Мне нужно программно создать виртуальный модем и входящее подключение через него. Ну или хотя бы через командную строку. Пробовал через RAS API, но получается не то, что мне нужно. Вот визуализация того, что мне нужно проделать:
-
TForm [Windows] Как поменять иконку формы без стилизованной рамки?
DirtyBorov опубликовал вопрос в Windows
Подскажите как можно изменить иконку окна в runtime? Суть проблемы в том, что мне надо поддерживать приложение для разных заказчиков. Каждый из них хочет иметь собственную иконку в приложении. Очевидное решение - создать несколько проектов и каждому задать требуемую иконку. Однако на практике это весьма утомительное занятие. Хотелось бы сделать одно приложение, а иконки подгружать динамически на основании настроек приложения. Вспоминая практику VCL и WinAPI, подменить иконку Application оказалось задачей тривиальной: NewAppIcon := TIcon.Create; NewAppIcon.LoadFromFile(AIconFile); SendMessage(ApplicationHWND, WM_SETICON, 1, NewAppIcon.Handle); А вот дальше начались проблемы. Окна уже прогрузили иконку по умолчанию и добраться до них у меня не получается. Добраться через стиль не получается, потому что TForm не является наследником TStyledObject и не имеет StylesData. Через FindStyleResource тоже не получается добраться. Может кто знает как? -
TFontDialog Существуют ли готовые решения TFontDialog для Win и Mac?
vladimi-r опубликовал вопрос в Поиск компонентов
Существуют ли готовые решения для Win и Mac?