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

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

Показать Hint ы ;в StringGride [D5]


ghost_by ©   (2002-03-06 20:20:00) 

Можно ли (если можно то как?) показывать Hint"ыв StringGrid"е.
т.е. Есть StringGrid. В нем куча строк неумещающихся в ячейке. Нужно как нибудь показывать Hint"ы в ячейках в которых неумещается текст. Может как ловить какие нибудь сообщения винды типа WM_GET_HINT_TEXT (неуверен, что есть такое), или иначе.

Очень нужно.Помогите пожалуйста...


Song   (2002-03-20 23:08:00) [1]

см. пример в Дельфи по свойству Fields


ghost_by   (2002-03-20 22:16:00) [2]

А до собственно текста в этой ячейке как достучаться?


Song   (2002-03-20 08:35:00) [3]

Вы можете получить ячейку, которая находится под курсором мыши через MouseCoord:

Returns the row and column indexes of the cell that contains a point specified in screen coordinates.

type TGridCoord = record
X: Longint;
Y: Longint;
end;

function MouseCoord(X, Y: Integer): TGridCoord;


ghost_by   (2002-03-20 07:47:00) [4]

Спасибо за пример.
Но - назрела необходимоть сделать то-же самое в DBGrid"e, а там нет свойств вроде Cells. Если я правильно понял то там можно только к текущей строке обратится. Может кто знает?


Song   (2002-03-07 19:38:00) [5]

Я приведу тебе текст процедуры, которая работает для любого TStringGrid, вот только какой образовательный эффект из этого?

procedure TForm1.StringGrid3MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
Var Rect:TRect;
ACol,ARow:Integer;
begin
With TStringGrid(Sender) Do
try
MouseToCell(X,Y,ACol,ARow);
Rect:=CellRect(ACol,ARow);
IF Canvas.TextWidth(Cells[ACol,ARow])>(Rect.Right-Rect.Left) then Hint:=Cells[ACol,ARow] else Application.CancelHint;
except
Application.CancelHint;
end;
end;


ghost_by   (2002-03-07 17:56:00) [6]

Создавай в RunTime THintWindow и рисуй на нём что хочешь, и когда хочешь.- А пример можно?


ghost_by   (2002-03-07 17:41:00) [7]

обрабатывай onMouseMove- и что мне с ним делать?


Song   (2002-03-06 20:35:00) [8]

Всё намного проще: обрабатывай onMouseMove


Delirium   (2002-03-06 20:32:00) [9]

Создавай в RunTime THintWindow и рисуй на нём что хочешь, и когда хочешь.


Наверх

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