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

Вниз

На счет того как растянуть и перетащить   Найти похожие ветки 

 
Демон   (2002-04-27 17:29) [0]

Здрасти всем!
Подскажите мне, пожайлуста, как можно перетаскивать форму за какой-нибудь Label и как ее растягивать за этот же Label???


 
PaRL ©   (2002-04-27 17:32) [1]

Я че то не понял, как это "растягивать за Label" ???


 
Демон   (2002-04-27 17:46) [2]

Ну короче нажимаеш левой кн мыши на лейбл (не отпуская), затем смещаешь курсор мыши куд-нибудь, а заним правый нижний угол формы растягивается... Понял?


 
PaRL ©   (2002-04-27 18:08) [3]

Конечно понял.


 
Демон   (2002-04-27 18:09) [4]

Ну дак скажи как?... Плиз!


 
Pat ©   (2002-04-27 18:22) [5]

Примерный вариант:

var
Form1: TForm1;
x0,y0:integer;
move:boolean=false;

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move:=true;
end;

procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if move then
begin
width:=width+x-x0;
height:=height+y-y0;
x0:=x;
y0:=y;
end;
end;

procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
move:=false;
end;



 
PaRL ©   (2002-04-27 18:28) [6]

Принцип такой, но это требует доработки, так как во время нажатия кнопки мыши, пользователь не видит какой будет форма. Удачи.

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
GetCursorPos(pt);
Application.ProcessMessages;
Label1.Caption := IntToStr(pt.X) + " " + IntToStr(pt.Y);
a := pt;
end;

procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var k, m : integer;
begin
GetCursorPos(pt);
Application.ProcessMessages;
k := pt.X - a.X;
m := pt.Y - a.Y;

Form1.Height := Form1.Height + k;
Form1.Width := Form1.Width + m;
end;


 
Pat ©   (2002-04-27 18:31) [7]

Насчет перемещать:
Нажимай Ctrl и тащи :-))

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const SC_DragMove = $F012;
begin
if (button=mbleft) and (ssCTRL in Shift) then
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;
end;



 
PaRL ©   (2002-04-27 18:31) [8]

PS У Pat"a правильно.



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
7-39871
UniQ
2001-11-19 23:15
2002.05.13
Как работать с модемом из Delphi 5 (набор номера, приём звонка) ?


1-39697
kpbIcoBOY
2002-04-26 23:07
2002.05.13
форму в BMP


3-39662
ShaH
2002-04-17 08:23
2002.05.13
Interbase и безопасность


1-39745
lipskiy
2002-04-22 13:40
2002.05.13
TWebBrowser_V1: Как запретить ему показывать страницу


14-39859
Кандыль
2002-04-03 17:32
2002.05.13
Где в реестре хранится имя папки...