Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заставить в DBGrid показывать содежимое ячейки в Hint [D6, MSSQL, dBase, FoxPro, MS Access]


VtS ©   (2003-09-22 09:56:00) 

Есть таблица с длинными строками по 30-60 символов. На форме нет места под такой широкий DBGrid. Хочу чтобы юзер проводя мышкой над ячейками в Hint"е видел всю строку данной ячейки.

Как это реализовать?


analyser   (2003-09-22 10:49:00) [1]

Хорошо описано у Архангельского с примером для TEdit.
Обработка ApplicationEvents.ShowHint:

procedure TfmMain.ApplicationEvents1ShowHint(var HintStr: String;
var CanShow: Boolean; var HintInfo: THintInfo);
begin
if (HintInfo.HintControl.ClassName = "TEdit") then begin
with (HintInfo.HintControl as TEdit) do begin
Label1.Font.Name := Font.Name;
Label1.Font.Size := Font.Size;
if (Label1.Canvas.TextWidth(Text) > ClientWidth) then begin
HintStr := Text;
ApplicationEvents1.CancelDispatch;
end;
end;
end;
end;

PS: Label1 используется для того, чтобы воспользоваться ее св-вом Canvas.TextWidth


stud   (2003-09-22 09:58:00) [2]

эта тема уже много раз обсуждалась
возьми grideh или quantumgrid или ищи на форуме код обработчика


stud   (2003-09-22 09:58:00) [3]

эта тема уже много раз обсуждалась
возьми grideh или quantumgrid или ищи на форуме код обработчика


Наверх

Титульная страница Поиск, карта сайта Написать письмо