Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.031 c
3-40811
Игорь Ч
2003-10-22 13:07
2003.11.13
Компоненты для фильтрации


7-42150
Ученик
2003-08-26 23:06
2003.11.13
Запрет доступа к определенным портам на линейке Windows NT


1-41677
Nikolas
2003-10-24 21:25
2003.11.13
Как осуществлять чтение прогресса копирования файла


1-41561
INTAARI
2003-10-27 12:39
2003.11.13
Выявление утечки памяти


1-41592
Yurko
2003-10-27 10:51
2003.11.13
Объекты в TStrings.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский