... 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;