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

Вниз

Hint при Drag&Drop   Найти похожие ветки 

 
gilk ©   (2003-10-25 10:33) [0]

Как при Drag&Drop реализовать под курсором Hint


 
zapped ©   (2003-10-25 13:35) [1]

вот, у себя такое пользую:


type
TMyHint = class(THintWindow)
private
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
end;
...
var
TH: TMyHint;
...
procedure TMainForm.FormCreate(Sender: TObject);
begin
TH := THintWindow.Create(Self);
...
end;
...
procedure TMainForm.PlaylistViewDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
var
TempRect: TRect;
s: string;
...
begin
s := "Hint while drag`n`drop";
with TH do
begin
TempRect := CalcHintRect(Canvas.TextWidth(s), s, nil);
TempRect:=Bounds(Mouse.CursorPos.x, Mouse.CursorPos.y + 20, TempRect.Right, TempRect.Bottom);
if Visible then
begin
Hide;
ReleaseHandle;
end
else
ActivateHint(TempRect, s);
end;
...
end;
...

procedure TMyHint.WMNCHitTest(var Message: TWMNCHitTest);
begin
ReleaseHandle;
end;
...
procedure TMainForm.FormDestroy(Sender: TObject);
begin
TH.Free;
...
end;
...


 
zapped ©   (2003-10-25 13:38) [2]

впрочем, здесь
TempRect:=Bounds(Mouse.CursorPos.x, Mouse.CursorPos.y + 20, TempRect.Right, TempRect.Bottom);
лучше так
TempRect:=Bounds( X, Y + 20, TempRect.Right, TempRect.Bottom); // у меня просто в другом обработчике это используется, там приходится координаты мыши так брать



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

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

Наверх




Память: 0.47 MB
Время: 0.033 c
3-41048
safarov
2003-10-24 06:27
2003.11.13
Импортирование


3-41088
paul_k
2003-10-23 13:39
2003.11.13
Параметры в TAdoDataSet


14-41991
Dimedrol
2003-10-11 21:59
2003.11.13
---|Ветка была без названия|---


14-41956
mrcat
2003-10-20 10:29
2003.11.13
Implib.exe


14-42082
BAPBAP
2003-10-22 18:15
2003.11.13
Почтовик и прокси