From: Remko B. <rem...@us...> - 2003-02-14 22:12:42
|
Update of /cvsroot/jvcl/rm/source In directory sc8-pr-cvs1:/tmp/cvs-serv28382 Modified Files: JvBalloonHint.pas Log Message: Added XP theme support Index: JvBalloonHint.pas =================================================================== RCS file: /cvsroot/jvcl/rm/source/JvBalloonHint.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JvBalloonHint.pas 10 Feb 2003 19:23:24 -0000 1.2 --- JvBalloonHint.pas 14 Feb 2003 22:12:38 -0000 1.3 *************** *** 102,106 **** procedure CMTextChanged(var Msg: TMessage); message CM_TEXTCHANGED; procedure CMShowingChanged(var Msg: TMessage); message CM_SHOWINGCHANGED; ! procedure WMEraseBkgnd(var Msg: TWmEraseBkgnd); message WM_ERASEBKGND; {$IFNDEF COMPILER6_UP} procedure WMNCPaint(var Msg: TMessage); message WM_NCPAINT; --- 102,106 ---- procedure CMTextChanged(var Msg: TMessage); message CM_TEXTCHANGED; procedure CMShowingChanged(var Msg: TMessage); message CM_SHOWINGCHANGED; ! procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND; {$IFNDEF COMPILER6_UP} procedure WMNCPaint(var Msg: TMessage); message WM_NCPAINT; *************** *** 223,226 **** --- 223,229 ---- uses SysUtils, CommCtrl, Registry, MMSystem, // needed for sndPlaySound + {$IFDEF COMPILER7_UP} + Themes, + {$ENDIF} JvMaxMin, JvWndProcHook, ComCtrls; // needed for GetComCtlVersion *************** *** 806,810 **** end; ! procedure TJvBalloonWindow.WMEraseBkgnd(var Msg: TWmEraseBkgnd); var Brush, BrushBlack: HBRUSH; --- 809,813 ---- end; ! procedure TJvBalloonWindow.WMEraseBkgnd(var Msg: TWMEraseBkgnd); var Brush, BrushBlack: HBRUSH; *************** *** 1392,1401 **** procedure TJvBalloonWindowEx.ChangeCloseState(const AState: Cardinal); begin if AState <> FCloseState then begin FCloseState := AState; ! DrawFrameControl(Canvas.Handle, FCloseBtnRect, DFC_CAPTION, DFCS_TRANSPARENT or ! DFCS_CAPTIONCLOSE or FCloseState); end; end; --- 1395,1428 ---- procedure TJvBalloonWindowEx.ChangeCloseState(const AState: Cardinal); + {$IFDEF COMPILER7_UP} + var + Details: TThemedElementDetails; + Button: TThemedToolTip; + {$ENDIF} begin if AState <> FCloseState then begin FCloseState := AState; ! {$IFDEF COMPILER7_UP} ! if ThemeServices.ThemesEnabled then ! begin ! if (AState and DFCS_PUSHED > 0) and (AState and DFCS_HOT = 0) then ! Button := tttCloseNormal ! else ! if AState and DFCS_PUSHED > 0 then ! Button := tttClosePressed ! else ! if AState and DFCS_HOT > 0 then ! Button := tttCloseHot ! else ! Button := tttCloseNormal; ! ! Details := ThemeServices.GetElementDetails(Button); ! ThemeServices.DrawElement(Canvas.Handle, Details, FCloseBtnRect); ! end ! else ! {$ENDIF COMPILER7_UP} ! DrawFrameControl(Canvas.Handle, FCloseBtnRect, DFC_CAPTION, DFCS_TRANSPARENT or ! DFCS_CAPTIONCLOSE or FCloseState); end; end; *************** *** 1507,1510 **** --- 1534,1544 ---- begin FCloseBtnRect := Rect(HintRect.Right - 22, FDeltaY + 5, HintRect.Right - 6, FDeltaY + 21); + {$IFDEF COMPILER7_UP} + if ThemeServices.ThemesEnabled then + begin + Dec(FCloseBtnRect.Left); + Dec(FCloseBtnRect.Top); + end; + {$ENDIF} ChangeCloseState(DFCS_FLAT); end; |