關於怎樣動態修改TImage屬性並保存 |
尚未結案
|
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
移動元件請參考:
hahalin 版主的 網咖管理金剛組合版
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28622 修改屬性請參考:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30231
(TImage 沒有 Handle 不能被該範例自動偵察但修改部份相同) 儲存讀取部份請參考 :
http://delphi.ktop.com.tw/topic.php?topic_id=18378
最後有 ComponentToStr 及 StrToComponent 函數 若由更動態一些,請自行搜尋 "RTTI" 的資料看看
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
我現在想在程式運行時動態修改TIMAGE的屬性,拖拉IMAGE能與設計期一樣,自由拉伸,圖片能以原始比列縮放,並能保存,下次運行程式時,我上次設計的樣式
---------------------------------------------
简单的方法实现:
//拖动、拉伸
procedure TForm1.FormCreate(Sender: TObject);
begin
image1.DragMode := dmAutomatic;
image1.DragKind :=dkDock;
end;
//关于保存位置
这个方法比较多,你可以建立INI文件保存拖动后的位置,下次在FormCreate时候再设置IMAGE的位置,就可以了。 小弟浅见,供参考!!! 风花雪月 e梦情缘
------
风花雪月 e梦情缘 |
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
引言: 我現在想在程式運行時動態修改TIMAGE的屬性,拖拉IMAGE能與設計期一樣,自由拉伸,圖片能以原始比列縮放,並能保存,下次運行程式時,我上次設計的樣式 --------------------------------------------- 简单的方法实现: //拖动、拉伸 procedure TForm1.FormCreate(Sender: TObject); begin image1.DragMode := dmAutomatic; image1.DragKind :=dkDock; end; //关于保存位置 这个方法比较多,你可以建立INI文件保存拖动后的位置,下次在FormCreate时候再设置IMAGE的位置,就可以了。 小弟浅见,供参考!!! 风花雪月 e梦情缘我不想它是浮动停靠啊!! 只想显示图片!! |
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
//使TIMAGE象设计时那样,随意拉大缩小!!! unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls; type
TForm1 = class(TForm)
Image1: TImage;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;
resized,down:boolean;
x0,y0:integer;
implementation {$R *.dfm} procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin
x0:=x;
y0:=y;
if (x>Image1.Width-10)or(y>image1.Height-10) then begin
Image1.Cursor:=crSize;
resized:=true;
end else begin
Image1.Cursor:=crDefault;
down:=TRUE;
end;
end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if x>Image1.Width-10 then begin
Image1.Cursor:=crSize;
end else begin
Image1.Cursor:=crDefault;
end;
if down then begin
Image1.Left:=Image1.Left+x-x0;
Image1.top:=Image1.top+y-y0;
end;
if resized then begin
Image1.Width:=Image1.Width+x-x0;
Image1.Height:=Image1.Height+y-y0;
x0:=x;y0:=y;
end;
end; procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
down:=False;
resized:=False;
end; end. 风花雪月 e梦情缘
------
风花雪月 e梦情缘 |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
引言: //使TIMAGE象设计时那样,随意拉大缩小!!! unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; resized,down:boolean; x0,y0:integer; implementation {$R *.dfm} procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin x0:=x; y0:=y; if (x>Image1.Width-10)or(y>image1.Height-10) then begin Image1.Cursor:=crSize; resized:=true; end else begin Image1.Cursor:=crDefault; down:=TRUE; end; end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if x>Image1.Width-10 then begin Image1.Cursor:=crSize; end else begin Image1.Cursor:=crDefault; end; if down then begin Image1.Left:=Image1.Left x-x0; Image1.top:=Image1.top y-y0; end; if resized then begin Image1.Width:=Image1.Width x-x0; Image1.Height:=Image1.Height y-y0; x0:=x;y0:=y; end; end; procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin down:=False; resized:=False; end; end. 风花雪月 e梦情缘多谢风花雪月兄的回帖,小弟还想问问,能不能用别的方式保存其属性,再次感谢 |
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |