Вниз
Скачать: CL | DM;

Плавающие окна (Drag&Doc)   Найти похожие ветки 

← →
Zeleniy   (2007-02-15 13:58) [0]

Привет, всем!

Есть TControl, на нем расположены несколько панелей (пусть Panel1-Panel4).
Нужно чтобы пользователь смог сохранять(загружать) расположение этих панелей как в ДОКЕ, так и когда панели становятся плавающими окнами...

я нашла только две функции ManualDock (с ней нормальная работы и панели занимают нужное положение в TControlBar) и
ManualFloat. Вот с ней у меня проблемы!
Во-первых, я не могу ПРАВИЛЬНОЕ сохранить ЛЕВТ и ТОП окна, относительно экрана, а во-втрых, я  не могу ПРАВИЛЬНО расположить это окно!
 
у меня есть кнопка. по нажатию на нее Panel4 должна стать плавающим окном с (пока что) фиксированными координатами.
Я заметила, если несколько раз нажать на эту кнопку, то плавающие окно каждый раз отображается в РАЗНЫХ частях экрана!      

Что  с  этим делать? может как-то по-другому можно решить проблему?  

Спасибо!


← →
DVM ©   (2007-02-15 15:37) [1]


> Во-первых, я не могу ПРАВИЛЬНОЕ сохранить ЛЕВТ и ТОП окна,
>  относительно экрана, а во-втрых, я  не могу ПРАВИЛЬНО расположить
> это окно!

ClientToScreen, ScreenToClient не помогают?


← →
Zeleniy   (2007-02-15 15:50) [2]

вот, почему-то не помогает ((((

окошко все-равно распологается в верхнем левом углу формы и самое обидное, кликая по кнопке окошко перемещается ((((


procedure TForm1.Button1Click(Sender: TObject);
var p:TPoint;
begin
 //сохранение конфы
 Memo1.Clear;
 p.X := panel4.BoundsRect.Right-1;
 p.Y := panel4.BoundsRect.Top;
 p := panel4.ClientToScreen(p);

 Memo1.Lines.Add(IntToStr(Panel4.Left));
 Memo1.Lines.Add(IntToStr(Panel4.Top));
 Memo1.Lines.Add(IntToStr(p.X));
 Memo1.Lines.Add(IntToStr(p.y));
end;

procedure TForm1.Button2Click(Sender: TObject);
var p:TPoint;
begin
 //выгрузка
 p:=ScreenToClient(Point(StrToInt(Memo1.Lines.Strings[3]),StrToInt  (Memo1.Lines.Strings[3])));
 Panel4.ManualFloat(Bounds(p.X,p.Y,200,100));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Panel4.ManualDock(ControlBar1);
end;




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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
2-1173859619
AHTOH
2007-03-14 11:06
2007.04.08
Работа с файлами в NT/XP с ограниченными правами


3-1169455907
AlexeyMir
2007-01-22 11:51
2007.04.08
Как в *.gdb в связанные таблицы добавить записи


15-1173764861
pavel_guzhanov
2007-03-13 08:47
2007.04.08
Вопрос к линуксоидам.


2-1173860965
Cara
2007-03-14 11:29
2007.04.08
Сумма


15-1173657026
RASkov
2007-03-12 02:50
2007.04.08
NoSubj




   Наверх