2006. február 6., hétfő
How to create a hint for a single cell in a TDrawGrid or TDBGrid
Problem/Question/Abstract:
How can I make a hint for a single cell in a TDBGrid or TDrawGrid? I want to display any text in a grid cell even if it is not placed in the cell completely.
Answer:
Here's an example taken from a working app but simplified a little. OldHintRow and OldHintCol are private variables declared in TStosWin. They store the column and row for which the hint was shown previously.
procedure TStosWin.MyDrawGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
R, C: Integer;
begin
with MyDrawGrid1 do
begin
MouseToCell(X, Y, C, R);
if (C = OldHintCol) and (R = OldHintRow) then
exit; {Don't do anything if mouse is in the same cell}
OldHintCol := C;
OldHintRow := R;
Hint := ' Your hint for column C and row R';
{Force the hint to redisplay}
PostMessage(Handle, WM_MBUTTONDOWN, MK_LBUTTON, Dword((Y shl 16) + X));
end;
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése