Run time de Image eklemek ve çoğaltmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Kasten öyle hatalı cevap verdim. Bunu SeciliPanel.Controls[0].Free şekline çeviremediğinden bu tür mimariden bahseden satırları hazmetmen çok iyi bir yatırım olur sanırım.
En son sabanakman tarafından 24 Oca 2008 11:09 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
hocam ben böylede denemiştim ama aynı hatayı alınca vaz geçtim.Tekrar bir sorayım dedim.
yazdığımda yine aynı hatayı veriyor

Kod: Tümünü seç
FreeAndNil(SeciliPanel.Controls[0].Free);


Kod: Tümünü seç
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
a:tcontrol;
begin
case Key of
VK_DELETE:if Assigned(SeciliPanel) then begin
a:=secilipanel.controls[0];
FreeAndNil(a); //TImage silinir
FreeAndNil(SeciliPanel);//TPanel silinir
end;
end;
end;
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
değilhaydarxxx yazdı:FreeAndNil(SeciliPanel.Controls[0].Free);
Kod: Tümünü seç
SeciliPanel.Controls[0].Free;

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
sabanakman hocam teşekkür ediyorum.
Bunları yapmak benim için hazmetmem hakkatten çok zor görünüyor.Genelde vt de sorgulama kaydetme silme gibi projeler üzerinde bir şeyler yapıyorum.Ama dediklerinizi dikkate alacağım.
Bana önerebileceğiniz türkçe makale yada bir yayın organı varmıdır acaba bu konularla ilgili yani vt programlama dışında programlama delphi ile yani
Bunları yapmak benim için hazmetmem hakkatten çok zor görünüyor.Genelde vt de sorgulama kaydetme silme gibi projeler üzerinde bir şeyler yapıyorum.Ama dediklerinizi dikkate alacağım.
Bana önerebileceğiniz türkçe makale yada bir yayın organı varmıdır acaba bu konularla ilgili yani vt programlama dışında programlama delphi ile yani
gibi procedure yazma vs..Çok teşekkürlerprocedure TForm1.KendiminMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
{bunu formda private bloğunda sen tanımla (Ctrl+Shift+C tuşları otomatik tanımlar)}
begin
if Assigned(SeciliPanel) then SeciliPanel.Color:=clBtnFace;//eski panel normale döner
ReleaseCapture;
SeciliPanel:=TPanel(TImage(Sender).Parent);
SeciliPanel.Color:=clBlue;//seçilen panel mavi olur
SeciliPanel.Perform(WM_SYSCOMMAND, $F012, 0);
end;
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Run time de Image eklemek ve çoğaltmak
Tekrar konu açmak istemedim konu ile alakalı olduğu için runtime esnasında image nesnesi oluşturuyorum ve resim ataması yapıyorum. takıldığım nokta onclik ataması yapmak istiyorum. oluşturulan image nesnelerinden hangine tıklanırsa sabit olan image_goster adlı 2. bir Timage nesnesinde göstermek.
yani
gibi olacak şekilde nasıl tanımlama yapabilirim
dedim bununda atamasını gerçekleştiremedim 
yani
Kod: Tümünü seç
img_creat1.onclick...
img_sabit.picture := img_creat1.picture;
img_creat2.onclick...
img_sabit.picture := img_creat2.picture;
Kod: Tümünü seç
procedure ResimGoster(img:Timage);
Begin
img_sabit.Picture :=img.Picture;
End;

Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Run time de Image eklemek ve çoğaltmak
Öncelikle OnClick olayının tipine dikkat etmelisiniz: TNotifyEvent.
Bu da şu şekilde tanımlıdır:
Dolayısıyla sizin yazacağınız procedure bu yapıya uygun olmak zorunda.
Öncesinde OnClick atamalarını unutmayın:
Bu da şu şekilde tanımlıdır:
Kod: Tümünü seç
TNotifyEvent = procedure(Sender: TObject) of object;
Kod: Tümünü seç
procedure ResimGoster(Sender: TObject);
begin
img_sabit.Picture.Assign(TImage(Sender).Picture);
end;
Kod: Tümünü seç
img_creat1.OnClick := ResimGoster;
img_creat2.OnClick := ResimGoster;
There's no place like 127.0.0.1
Re: Run time de Image eklemek ve çoğaltmak
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var Ico: TIcon;
ImageList : TImagelist;
begin
ImageList := TImageList.Create(Self);
Ico := TIcon.Create;
Ico.LoadFromFile(Path+resim veya ikon adı);
ImageList.AddIcon(ico);
ImageList.GetIcon(0,Image1.Picture.Icon);
Ico.Free;
end;
Re: Run time de Image eklemek ve çoğaltmak
Hocam açıklayıcı cevabınız için çok teşekkürler.SimaWB yazdı:Öncelikle OnClick olayının tipine dikkat etmelisiniz: TNotifyEvent.
Bu da şu şekilde tanımlıdır:Dolayısıyla sizin yazacağınız procedure bu yapıya uygun olmak zorunda.Kod: Tümünü seç
TNotifyEvent = procedure(Sender: TObject) of object;
Öncesinde OnClick atamalarını unutmayın:Kod: Tümünü seç
procedure ResimGoster(Sender: TObject); begin img_sabit.Picture.Assign(TImage(Sender).Picture); end;
Kod: Tümünü seç
img_creat1.OnClick := ResimGoster; img_creat2.OnClick := ResimGoster;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..