Merhabalar,
Uygulamamda bir fotoğraf görüntüleyici kullanmam gerekiyor. Saydam paneller kullanıp fotoğraf değiştirilsin deyim ama evdeki hesap çarşıya uymadı. Öneriniz nedir bu konuda

image kullanıldığında, formu genişletip küçülttüğünüzde resimde bozulmalar olmuyor mu ?
ve sağ sol ımage nesnesinin aling sağa ve sola yapıştırdığımda ana ımage nesnesi bunların altında kalması lazım.
Adım adım yazalım o zaman;
1-Sağ ve sol tarafta yer alan
Image nesnelerinin
Center özelliğini
True yapın.
2-Sol Image,
Anchors özelliğinin
Left, Top özellikleri
True diğerleri False olsun.
3-Sağ Image, Anchors özelliğinin
Top, Right özellikleri
True diğerleri False olsun.
4-Formun
OnResize olayına aşağıdaki kodu yazın.
procedure TForm1.FormResize(Sender: TObject);
begin
Image2.Height := Image1.Height;
Image3.Height := Image1.Height;
end;
Sonuç:
Süper tam istediğim şey,
bunun altına ben bir de ScrollBox koyup içerisine ımage nesneleri create edip işte ilgili iş için bulunan diğer image'ları yüklüyorum bu image'ların onclick olayını yakalayamadım bu mümkün müdür yoksa başka bir şekilde mi halletmeliyim.
Her
Image nesnesinin
OnClick olayı vardır. Kodu bu olaya yazmanız yeterli olacaktır.
Tüm Image'lar için ortak bir metod (
Event) düşünüyorsanız;
Image nesnesinin OnClick olayına aşağıdaki kodu yazıp, diğer Image'lerin de OnClick olayında bu Image'in OnClick olayını seçmeniz yeterli olacaktır.
procedure TForm1.Image2Click(Sender: TObject);
begin
if Sender is TImage then
ShowMessage(TImage(Sender).Name + ' Tıklandı');
end;
Dinamik oluşturduğunuz Image nesnelerinin OnClick olayını yakalamak için ortak bir metod yazıp, Image'i create ettiğiniz yerde olayını da atamanız gerekiyor.
private
procedure ImageOrtakClick(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ImageOrtakClick(Sender: TObject);
begin
if Sender is TImage then
ShowMessage(TImage(Sender).Name + ' Tıklandı');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
yeniImage: TImage;
begin
yeniImage := TImage.Create(Nil);
yeniImage.OnClick := ImageOrtakClick;
end;
Hmm çok teşekkür ederim abi,
procedure TForm1.ImageOrtakClick(Sender: TObject);
begin
end;
buraya kadar yaptım
if Sender is TImage then
ShowMessage(TImage(Sender).Name + ' Tıklandı');
bu kısımda takılmıştım teşekkürler abi
Güzel oldu,
Atayım buraya örnek teşkil eder.
var
Form1: TForm1;
GlobalName: String;
img: TStrings;
index: integer = 0;
maxindex: integer;
implementation
{$R *.dfm}
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
left.Height := Image1.Height;
right.Height := Image1.Height;
end;
procedure TForm1.FormShow(Sender: TObject);
procedure DrawImage(AFileName: String; AIndex: Integer);
begin
with TImage.Create(ScrollBox1) do
begin
Parent := ScrollBox1;
Width := 50;
Height := 50;
Stretch := True;
OnClick := ImageOnClick;
Picture.LoadFromFile(AFileName);
Top := 0;
Left := 5 + (AIndex * (Width + 5));
BringToFront();
end;
end;
var
i: Integer;
begin
img := TStringList.Create;
img.Add('C:\38LP712\1.jpg');
img.Add('C:\38LP712\2.jpg');
img.Add('C:\38LP712\3.jpg');
img.Add('C:\38LP712\4.jpg');
img.Add('C:\38LP712\5.jpg');
img.Add('C:\38LP712\6.jpg');
img.Add('C:\38LP712\7.jpg');
maxindex := img.Count-1;
for i := 0 to img.Count - 1 do
DrawImage(img[i], i);
Image1.Picture.LoadFromFile(img[0]);
end;
procedure TForm1.ImageOnClick(Sender: TObject);
begin
if Sender is TImage then Image1.Picture := TImage(Sender).Picture;
end;
procedure TForm1.leftClick(Sender: TObject);
begin
if (index > 0) then begin
index := index - 1;
Image1.Picture.LoadFromFile(img[index]);
if (index = 0) then index := maxindex+1;
end;
Caption := 'Fotoğraf Görüntüleyici '+inttostr(index);
end;
procedure TForm1.rightClick(Sender: TObject);
begin
if (index < maxindex) then begin
index := index + 1;
Image1.Picture.LoadFromFile(img[index]);
if (index = maxindex) then index := -1;
end;
Caption := 'Fotoğraf Görüntüleyici '+inttostr(index);
end;
end.
Fare tekerleği ile zoom ve 3. Buton ile pan yapabiliyor muyuz?
(23-01-2017, Saat: 22:01)engerex Adlı Kullanıcıdan Alıntı: [ -> ]Fare tekerleği ile zoom ve 3. Buton ile pan yapabiliyor muyuz?
Yok ama haklısın yapmışken onu da ekleyeyim