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

Вниз

Drag&Dock   Найти похожие ветки 

 
Axis_of_Evil ©   (2003-07-18 10:53) [0]

Итак, хотим subj.
Кидаем на форму TBitBtn, задаем свойства
Form:
DockSite = True
DragKind = dkDock
DragMode = dmAutomatic
BitBtn:
DragKind = dkDock
DragMode = dmAutomatic

При перетаскивании BitbBtn через раз оказывается
отделенной от формы (в клиентской части формы)

Вроде бы логичное решение:

procedure TForm1.BitBtn1EndDock(Sender, Target: TObject; X, Y: Integer);
var
Tp: TPoint;
Tr: TRect;
begin
Tp := Point(X, Y);
GetWindowRect(BitBtn1.Handle, Tr);
Tp.X := Tr.Left;
Tp.Y := Tr.Top;
Windows.ScreenToClient(Form1.Handle, Tp);
BitBtn1.Dock(Form1, Rect(Tp.X, Tp.Y, Tp.X + BitBtn1.Width, Tp.Y + BitBtn1.Height));
end;


По идее кнопка должна перетаскиваться "правильно",
т.е как обычным Drag&Dock"ом, но при каждом перетаскивании
она смещается относительно курсора.

1)Как ПРАВИЛЬНО реализовать Drag&Dock?
2)Где ошибка в моем варианте?


 
Axis_of_Evil ©   (2003-07-18 10:54) [1]

>она смещается относительно курсора.
вниз


 
Axis_of_Evil ©   (2003-07-18 13:33) [2]

^



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
3-100633
Black Shark
2003-07-10 12:38
2003.07.31
Динамический массив и БД


14-100929
Шишкин Илья
2003-07-14 09:27
2003.07.31
Оцените программу


1-100689
Alfastream
2003-07-18 12:28
2003.07.31
Ограничение пространства формы


3-100639
Vlad451
2003-07-10 16:08
2003.07.31
DBGrid - сделать активной строку, не прибегая к Click


14-100881
abc
2003-07-16 10:50
2003.07.31
как организовать обратную связь в DCOM? т.е от сервера к клиенту