Текущий архив: 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