Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Hint для любой ячейки TDBGrid   Найти похожие ветки 

 
serg!   (2004-10-11 12:09) [0]

Добрый день!

Как выводить Hint для любой ячейки компонента TDBGrid? При этом в свойстве Options флаг RowSelect установлен в True.


 
KSergey ©   (2004-10-11 12:13) [1]

На "королевстве" есть статьи на сей счет


 
serg!   (2004-10-11 12:46) [2]

А нельзя ли поподробнее? А то только для StringGrid"а нашел


 
Skeptik   (2004-10-11 13:08) [3]

> serg!
могу поделиться компонентом, скажи куда.


 
begin...end ©   (2004-10-11 13:17) [4]


> А то только для StringGrid"а нашел

Неужто там такая большая разница в этом?


 
Vlad ©   (2004-10-11 13:54) [5]

Выдрал с какого-то сайта:

Q: Очень хочется чтобы при движении мышкойпо столбцам DBGrid"а на тех ячейках, в которых длина строки данных длинеечем ширина самой ячейки, вылезал бы hint с необрезанной строкой.
unit DBGridEx;
{ ==================================================== }

{ ==================================================== }
interface
{ ==================================================== }
uses DBGrids, Grids, Controls, Classes, Forms;

type
   TDBGridEx = class( TDBGrid )

     private
       OldGridCoord : TGridCoord;
     public
       Application : TApplication;

       function MouseCoord(X,Y: Integer): TGridCoord;
       function GetEditText(ACol,ARow: Longint): string;override;
       procedure MouseMove(Shift:TShiftState; X, Y: Integer);override;

     published
       property OnMouseMove;
       property OnMouseDown;
       property OnMouseUp;
   end;

procedure Register;

{ ==================================================== }
implementation
{ ==================================================== }

function TDBGridEx.MouseCoord(X, Y: Integer): TGridCoord;
begin
 Result := inherited MouseCoord(X, Y);
end;

function TDBGridEx.GetEditText(ACol, ARow: Longint): string;
begin
 if (ACol > 0) and (ACol < ColCount) and (ARow > 0) and(ARow < RowCount)
then
   Result := inherited GetEditText(ACol, ARow)
 else
   Result := "";
end;

procedure TDBGridEx.MouseMove(Shift: TShiftState; X, Y: Integer);
Var
C:TGridCoord;
OldActive:Integer;
Value:String;
begin
 inherited MouseMove (Shift, X, Y);

  C:=MouseCoord(X,Y);
  if (OldGridCoord.X = C.X) and (OldGridCoord.Y = C.Y)then Exit;

  OldGridCoord := C;

  Value := "";
  OldActive := DataLink.ActiveRecord;
  Try
   if C.Y > 0 then
     DataLink.ActiveRecord := C.Y-1
   else
     DataLink.ActiveRecord := C.Y;
   {Value := GetFieldValue(C.X);}

   Value := GetEditText(C.X,C.Y);
  Finally
   DataLink.ActiveRecord := OldActive;
  End;

  if Application <> nil then
    Application.CancelHint;

  Hint:=Value;

end;

{ ==================================================== }

procedure Register;
begin
 RegisterComponents("Data Controls",[TDBGridEx]);
end;

{ ==================================================== }
end.



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
14-1097061052
Comp
2004-10-06 15:10
2004.10.24
Где можно скачать учебник по WinAPI с применением Delphi(не VC++)


6-1092435813
KILLMAN
2004-08-14 02:23
2004.10.24
Дескриптор сокета


4-1095835762
SkyN
2004-09-22 10:49
2004.10.24
Выводить текст шрифтом, не устанавливая его в системе.


1-1097213546
TahirProc
2004-10-08 09:32
2004.10.24
Получение русских букв при создании Help файла с пом.«Help Worksh


1-1097086817
Леший
2004-10-06 22:20
2004.10.24
Работа с архиваторами