Einzelnen Beitrag anzeigen

ASM

Registriert seit: 16. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Tool-Tip eines StringGrids

  Alt 21. Jul 2011, 16:38
... oder gibt es da eine "Abkürzung"
Martin
nein
Zitat:
Muss ich das von Hand programmieren (bei jedem Zellenwechsel neuer Tool-Tip)
Jein: nicht jedesmal komplett neu, aber den zellspezifischen Hint natürlich entsprechend deklarieren und zuordnen. Insgesamt also relativ einfach und kompakt wie folgt:

Code:
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private-Deklarationen }
    LastCol, LastRow: longint;
    Function GetGridHint(ACol,ARow: integer): String;
  public
    { Public-Deklarationen }
  end;

{....}

Function TForm1.GetGridHint(ACol,ARow: integer): String;
begin
  // nur als Beispiel:
  result := Format('Zelle: %d:%d',[ACol,ARow]);
  // bzw. hier eine Case-Struktur für die Zuordnung des Hint einbauen
end;

procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  ACol, ARow: longint;
begin
  with StringGrid1 do
  begin
    MouseToCell(X, Y, ACol, ARow);
    ShowHint := (ACol > 0) and (ARow > 0);
    if not ShowHint then exit;
    Hint:=GetGridHint(ACol,ARow);
  end;
  if (ACol <> LastCol) or (ARow <> LastRow) then
  begin
    Application.CancelHint; // wichtig !!
    LastCol := ACol;
    LastRow := ARow;
  end;
end;
  Mit Zitat antworten Zitat