anchor.diff:    WindowPosition := wpUser;
     WindowType := wtPopup;
     Sizeable := False;
  -  BackgroundColor:= clBlack;
  +  BackgroundColor:= clHintWindow; //clBlack;  // This becomes the hint border so don't set to clHintWindow
     FFont := fpgGetFont('#Label1');
     FMargin := 3;
     FBorder := 1;
     FShadow := 0; // no shadow by default
  -  FTime := 5000;
  -  L_Hint := CreateLabel(Self, FBorder, FBorder, '', Width - FBorder * 2, Height - FBorder * 2, taCenter, tlCenter);
  -  L_Hint.BackgroundColor := clHintWindow;
  -  L_Hint.OnClick := @T_ChronoFini;
  +  FTime := 5000; // show hint for 5 seconds then close
  +  FHintTextRec.SetRect(FBorder, FBorder, Width-(FBorder*2), Height-(FBorder*2));
     T_Chrono := TfpgTimer.Create(FTime);
     T_Chrono.OnTimer := @T_ChronoFini;
     uShadowForm:= TfpgHintShadow.Create(nil);
  +  OnClick := @T_ChronoFini;
     OnShow := @FormShow;
     OnHide := @FormHide;
   end;
  
positive.code:     procedure   SetShadow(AValue: Integer);
      procedure   SetBorder(AValue: Integer);
      procedure   SetTime(AValue: Integer);
      procedure   SetLTextColor(AValue: Tfpgcolor);
      procedure   SetLBackgroundColor(AValue: Tfpgcolor);
      procedure   SetShadowColor(AValue: TfpgColor);
    protected
      procedure   HandleShow; override;
    public
      constructor Create(AOwner: TComponent); override;
      destructor  Destroy; override;
      procedure   SetPosition(aleft, atop, awidth, aheight: TfpgCoord); override;
      property    Font: TfpgFont read FFont;
      property    Text: TfpgString read GetText write SetText;
      property    Shadow: Integer read FShadow write SetShadow default 0;
      property    Border: Integer read FBorder write SetBorder default 1;
      property    Margin: Integer read FMargin write FMargin default 3;
      property    LTextColor: TfpgColor write SetLTextColor default clBlack;
      property    LBackgroundColor: TfpgColor write SetLBackgroundColor default clHintWindow;
      property    ShadowColor: TfpgColor write SetShadowColor default clGray;
      property    Time: Integer write SetTime default 5000;
    end;
  
  
  
negative.code:   inherited HandleShow;
  end;
  
  procedure TfpgHintWindow.HandlePaint;
  begin
    inherited HandlePaint;  // background is set
    Canvas.ClearClipRect;
    Canvas.Font := FFont;
    // Do we need to resize?
    PaintBorder;
    if FBorder > 0 then
      Canvas.SetClipRect(fpgRect(FBorder, FBorder, Width-(FBorder*2), Height-(FBorder*2)));
    PaintHintText;
  end;
  
  procedure TfpgHintWindow.PaintBorder;
  var
    i: integer;
  begin
    if FBorder = 0 then  // no border
      Exit;
    Canvas.Color := clBlack;
    for i := 0 to FBorder-1 do
    begin
      Canvas.DrawRectangle(i, i, Width-(i*2), Height-(i*2));
    end;
  end;
  
  procedure TfpgHintWindow.PaintHintText;
  begin
    FHintTextRec.SetRect(FBorder, FBorder, Width-(FBorder*2), Height-(FBorder*2));
    Canvas.TextColor := FTextColor;
    Canvas.DrawText(FHintTextRec, Text, [txtHCenter, txtVCenter, txtWrap]);
  end;
  
  constructor TfpgHintWindow.Create(AOwner: TComponent);
  begin
    inherited Create(AOwner);
  