![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Как получить эффект тени для HintDelphi , Синтаксис , Hint подсказкиАвтор: http://www.swissdelphicenter.ch type TXPHintWindow = class(THintWindow) protected procedure CreateParams(var Params: TCreateParams); override; procedure WMNCPaint(var msg: TMessage); message WM_NCPAINT; end; function IsWinXP: Boolean; begin Result := (Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion >= 5) and (Win32MinorVersion >= 1); end; procedure TXPHintWindow.CreateParams(var Params: TCreateParams); const CS_DROPSHADOW = $00020000; begin inherited; if IsWinXP then Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW; end; procedure TXPHintWindow.WMNCPaint(var msg: TMessage); var R: TRect; DC: HDC; begin DC := GetWindowDC(Handle); try R := Rect(0, 0, Width, Height); DrawEdge(DC, R, EDGE_ETCHED, BF_RECT or BF_MONO); finally ReleaseDC(Handle, DC); end; end; initialization HintWindowClass := TXPHintWindow; Application.ShowHint := False; Application.ShowHint := True; end. Перевод контента на русский язык: Код, который вы опубликовали, - это класс Delphi, созданный для создания окна подсказки с эффектом тени. Главная цель этого кода - добавить визуальный эффект "тень" для подсказок на Windows XP и более поздних версиях. Вот что он делает в деталях:
Эффект тени достигается путем рисования прямоугольника с стилем отчечения в том же цвете, что и фон окна. Процедура Вот некоторые предложения по улучшению кода:
Вот пример модификации процедуры
В этом модифицированном варианте я добавил прямоугольник тени, который является чуть больше оригинального прямоугольника. Тень рисуется с более темным цветом для создания ощущения глубины. В статье описывается способ создания эффекта тени для компонента Hint в Delphi, используя класс TXPHintWindow и функцию IsWinXP. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Hint подсказки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |