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

Вниз

Перемещение компонента как в Delphi   Найти похожие ветки 

 
Sliski Slimak ©   (2004-07-12 00:20) [0]

Господа кодеры, подскажите, как правильней организовать перемещение и рисайзинг компонента, как в Delphi... Сделал с помощью 9 Shape"ов- аж самому страшно....


 
jack128 ©   (2004-07-12 01:20) [1]

MouseDown - выставляешь флаг перемещения или флаг ресайзинга (в зависимости от того куда кликнули)
MouseMove - перемещаешь контрол или меняешь его размеры
MouseDown - сбрасываешь флаг перемещения и ресайзинга


 
Sun bittern ©   (2004-07-12 10:24) [2]

Ищи в сети StretchHandle - TStretchHandle


 
NAlexey ©   (2004-07-13 09:50) [3]

>Sun bittern ©   (12.07.04 10:24) [2]
Какашка редкостная этот TStretchHandle


 
Sliski Slimak ©   (2004-07-14 22:43) [4]

Я  на сайте http://mysoft.webs.com.ua/excomponent.html ещё нашёл очень интересный компонент по сабжу.. тестирую...

Extension Library -целая библиотека полезных компонент, в частности, компонент позволяет добавить в приложение возможности визуального дизайнера. По своим характеристикам он максимально приближен к визульному дизайнеру Delphi. Размер 184 kb. Автор: Balabuyev Yevgeny e-mail: stalcer@rambler.ru


 
SelloutS   (2004-07-15 04:29) [5]


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
     Y: Integer);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

var
 x1, y1: Integer;
 b: Byte;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 b := 1;
 x1 := X;
 y1 := Y;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 b := 0;
end;

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if b = 1 then begin
   Button1.Left := Button1.Left + X - x1;
   Button1.Top := Button1.Top + Y - y1;
 end;
end;

end.



 
Sandman25 ©   (2004-07-15 12:42) [6]

[5] SelloutS   (15.07.04 04:29)

Вот за такие if b = 1 убивать мало. Используйте либо Boolean, либо перечислимый тип.


 
Sun bittern ©   (2004-07-15 19:43) [7]

NAlexey ©   (13.07.04 09:50) [3]

Какашка не какашка, если руки есть подправить мона ;)


 
NAlexey ©   (2004-07-16 10:01) [8]

Sun bittern ©   (15.07.04 19:43) [7]
Посмотри как сделан дизайнер в DreamControls и поймешь о чем я:)



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

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

Наверх




Память: 0.48 MB
Время: 0.051 c
1-1119785382
Sower
2005-06-26 15:29
2005.07.18
Чтение из конца в начало.


1-1120078169
Green_Templar
2005-06-30 00:49
2005.07.18
translations


1-1119952704
SergZ
2005-06-28 13:58
2005.07.18
DevExpress


14-1118775528
WondeRu
2005-06-14 22:58
2005.07.18
Давайте кошку Шредингера мучать?


1-1119633216
Начинающий2
2005-06-24 21:13
2005.07.18
Несколько вопросов по шрифтам и еще один.