我想做一个自定义的组件,是从TImage继承的,想在新组件里面添加一个功能:在运行时可以象拖动窗口那样来改变Image的大小,就好像在设计时可以通过控件周围的几个操作点来调整控件大小那样。请问有什么方法可以实现呢?我这样试过:
..........
published
property OnResize;
............
但是这样不行。
拜托各位大侠了!!!!
..........
published
property OnResize;
............
但是这样不行。
拜托各位大侠了!!!!
这是程序运行时直接调整Image控件Width的代码,我想写组件也能这么用吧.procedure TForm1.img1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (x > img1.Width - 5) then Self.Cursor := crSizeWE;
if IsSize then
img1.Width := img1.Width + (X - img1.Width);
Self.Caption := IntToStr(x);
end;procedure TForm1.img1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (x > img1.Width - 5)then
IsSize := True;
end;procedure TForm1.img1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
IsSize := False;
Self.Cursor := crDefault;
end;
self.DoubleBuffered:=true;的话可以解决闪烁问题。给分~~~也谢谢其他楼的兄弟们。结贴
self.DoubleBuffered:=true;这句写到formcreate里面不完了吗,另外注意这个设置的是image的parent的DoubleBuffered:=true;