![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
hint [D6, Win95/98]
Андреев Павел © (2002-09-27 11:58:00)Как при проектировании своей компоненты (графическая сетевая диаграмма) сделать hint, который появлялся бы в зависимости от участка над которым находится курсор. При этом hint должен полностью рисоваться мной (в виде таблицы с графическими штучками).
Plzzz срочно!!!
Андреев Павел (2002-09-28 11:30:00) [1]Все, большое спасибо. заработало!!!
turusov (2002-09-27 12:09:00) [2]procedure TNsStatusBar.CMHintShow(var Message: TMessage);
var
Item: TNsStatusPanel;
ItemRect: TRect;
InfoTip: string;
begin
if True {Assigned(FOnInfoTip)} then
with TCMHintShow(Message) do
begin
Item:= GetItemAt(HintInfo.CursorPos.X, HintInfo.CursorPos.Y);
if Item <> nil then begin
if Item.Hint <> "" then
InfoTip:= Item.Hint
else
InfoTip:= Self.Hint;
SendMessage(Handle, SB_GETRECT, Item.Index, Integer(@ItemRect));
ItemRect.TopLeft := ClientToScreen(ItemRect.TopLeft);
ItemRect.BottomRight := ClientToScreen(ItemRect.BottomRight);
with HintInfo^ do begin
HintInfo.CursorRect := ItemRect;
HintInfo.HintStr := InfoTip;
HintPos.Y := CursorRect.Top + GetSystemMetrics(SM_CYCURSOR);
HintPos.X := CursorRect.Left + GetSystemMetrics(SM_CXCURSOR);
HintInfo.HintMaxWidth := ClientWidth;
Message.Result := 0;
end;
end;
end
else
inherited;
end;
ИЛИОбрати внимание на
function ControlAtPos(const Pos: TPoint; AllowDisabled: Boolean, AllowWinControls:Boolean=False): TControl;