Главная страница
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.118 c
9-1112248894
WondeRu
2005-03-31 10:01
2005.07.18
Нашел ресурс с исходниками игр


9-1111140209
qwe
2005-03-18 13:03
2005.07.18
3D-город (GlScene)


1-1119622960
Игорь Степанов
2005-06-24 18:22
2005.07.18
Зависимость между обычными пикселами канвы и логическими пикселам


4-1117101550
Dufe
2005-05-26 13:59
2005.07.18
Масштаб шрифта


4-1116867164
MrAndrey_ka
2005-05-23 20:52
2005.07.18
Перехват WM_PAINT