Главная страница
    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.46 MB
Время: 0.033 c
14-1096615177
Григорьев Антон
2004-10-01 11:19
2004.10.24
Лингвистические пятничные задачи


14-1096609614
European
2004-10-01 09:46
2004.10.24
BreakPoints


14-1096528414
PVOzerski
2004-09-30 11:13
2004.10.24
Еще о USB


3-1096347324
Uran
2004-09-28 08:55
2004.10.24
Как отобразить через DataSet фаил базы данных, сохраненный в txt


14-1096711272
Piter
2004-10-02 14:01
2004.10.24
Почему не срабатывает установка WindowsState?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский