fcToolTip.pas
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:1k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit fcToolTip;
  2. {
  3. //
  4. // Components : TfcToolTip
  5. //
  6. // Copyright (c) 1999 by Woll2Woll Software
  7. }
  8. interface
  9. uses Graphics, Messages, Classes, Windows, Controls, SysUtils, Forms,
  10.   fcCommon;
  11. type
  12.   TfcToolTip = class(THintWindow)
  13.   protected
  14.     procedure Paint; override;
  15.     procedure WndProc(var Message: TMessage); override;
  16.   public
  17.     function CalcHintRect(MaxWidth: Integer; const AHint: string;
  18.       AData: Pointer): TRect; override;
  19.     procedure ActivateHintData(Rect: TRect; const AHint: string; AData: Pointer); override;
  20.   end;
  21. var fcHintFont: TFont;
  22.     fcHintPos: TPoint = (X: -1; Y: -1);
  23. implementation
  24. function TfcToolTip.CalcHintRect(MaxWidth: Integer; const AHint: string;
  25.   AData: Pointer): TRect;
  26. begin
  27.   Canvas.Font.Assign(fcHintFont);
  28.   result := inherited CalcHintRect(MaxWidth, AHint, AData);
  29. end;
  30. procedure TfcToolTip.ActivateHintData(Rect: TRect; const AHint: string; AData: Pointer);
  31. begin
  32.   if (fcHintPos.x <> -1) and (fcHintPos.y <> -1) then
  33.     with fcHintPos do Rect := Classes.Rect(x, y, x + fcRectWidth(Rect), y + fcRectHeight(Rect));
  34.   inherited;
  35. end;
  36. procedure TfcToolTip.Paint;
  37. begin
  38.   Canvas.Font.Assign(fcHintFont);
  39.   inherited;
  40. end;
  41. procedure TfcToolTip.WndProc(var Message: TMessage);
  42. begin
  43.   inherited;
  44. end;
  45. initialization
  46.   fcHintFont := TFont.Create;
  47. finalization
  48.   fcHintFont.Free;
  49. end.