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

Вниз

resize компнента run-time мышью   Найти похожие ветки 

 
Mr.Frog   (2008-07-24 13:52) [0]

Приветствую всех, вопрос состоит в следующем, как в апуенном приложении менять рамеры компонента TImage мышью, как например в visio или в подобных программах


 
Vlad Oshin ©   (2008-07-24 14:12) [1]

вычислить что мышь над бордюром, сменить курсор
если нажали, проверить где, взвести соотв.флаг, если отпустили сбросить
если мышь движентся и если соотв.флаг взведен, менять соотв.размеры компанента


 
Медвежонок Пятачок ©   (2008-07-24 14:18) [2]

жестоко-то как


 
Vlad Oshin ©   (2008-07-24 15:07) [3]

a чего? долго чтоль написать (только вправо, лень)

type
 TForm3 = class(TForm)
   im: TPanel;
   Label1: TLabel;
   procedure imMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
   procedure FormShow(Sender: TObject);
   procedure imMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure imMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 private
   IR:byte;
   procedure ZeroFlag;
 end;

var
 Form3: TForm3;

implementation

{$R *.dfm}
procedure TForm3.ZeroFlag;
begin
 IR := 0;
end;

procedure TForm3.FormShow(Sender: TObject);
begin
 ZeroFlag;
end;

procedure TForm3.imMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 if (im.Width-x)<2 then IR:=1;
end;

procedure TForm3.imMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
 if IR=0
  then if (im.Width-x)<2 then im.Cursor:=crsizeAll else im.Cursor:=crdefault
  else im.Width:=x;
end;

procedure TForm3.imMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 ZeroFlag;
end;


 
Игорь Шевченко ©   (2008-07-24 15:33) [4]


> как в апуенном приложении


Это куда ?


 
oldman ©   (2008-07-24 16:17) [5]


> если мышь движентся и если соотв.флаг взведен, менять соотв.
> размеры компанента


Если image полноцветка - эх, и тормозить будет...
Можно же "резинку" использовать.


 
tesseract ©   (2008-07-24 20:26) [6]


> Если image полноцветка - эх, и тормозить будет..


Ну, можео поиграться с оптимизацией и выводом в видеопамять. Но мерцать всё равно будет.


 
Mr.Frog   (2008-07-24 23:28) [7]

Не подходит, попробую выразить мысль конкретнее. Мне необходимо, чтобы в запущенном приложении я имел возможность изменять размеры компонента (к примеру TImage) как при разработке. То есть самыми простыми словами, чтобы были точки по углам/цетнрам_сторон компонента, нажимая на которых мышью, можно было манипулировать размером.

Однако!

> вычислить что мышь над бордюром, сменить курсоресли нажали,
>  проверить где, взвести соотв.флаг, если отпустили сброситьесли
> мышь движентся и если соотв.флаг взведен, менять соотв.размеры
> компанента


таким образом естественно можно, и я так и справлялся с этой задачей долгое время. Меня же интересует, есть ли уже более простые варианты. Может быть создать свой компонент, который будет иметь такое свойство? но как тогда? или что-нибудь ещё.


 
Германн ©   (2008-07-25 00:35) [8]


> таким образом естественно можно, и я так и справлялся с
> этой задачей долгое время. Меня же интересует, есть ли уже
> более простые варианты. Может быть создать свой компонент,
>  который будет иметь такое свойство?

Создание своего компонента проще написания трех простых обработчиков событий мышки?
Хотя. Если такой компонент часто используется в разных программах, тогда стоит его написать.


 
Mr.Frog   (2008-07-25 09:13) [9]


> Хотя. Если такой компонент часто используется в разных программах,
>  тогда стоит его написать.

именно.
только вот с созданием своих компонентов я то как раз и не знакомился, потому и не представляю как это сделать если таково возможно


 
Vlad Oshin ©   (2008-07-25 09:34) [10]

в сети примеры как породить от соотв.компанента свой
надо написать обработку соотв.сообщений от мыши


 
icWasya ©   (2008-07-25 14:07) [11]

поищи TStretchHandle



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

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

Наверх




Память: 0.47 MB
Время: 0.004 c
2-1248244330
grav
2009-07-22 10:32
2009.09.27
Grid со столбцами из запроса


15-1248467648
Германн
2009-07-25 00:34
2009.09.27
Успеют или не успеют к строку в этом году?


3-1227448685
otan
2008-11-23 16:58
2009.09.27
Заливка в excell данных из adotable


15-1248820391
DillerXX
2009-07-29 02:33
2009.09.27
экспортировать плейлисты из библиотеки винампа


11-1205706977
AMDX4
2008-03-17 01:36
2009.09.27
KOL + Linux





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский