Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Layout View Hakkında (Çözüldü)
#1
Merhabalar,

HelpResource.ashx?help=WindowsForms&docu...mg6344.jpg

Bu tip bir panel yapmak istiyorum, Listview düşündüm, Scroolbox koyup içerisin nesneleri create edeyim dedim ama kafamda oturtamadım.
Ücretsiz önerilerinizi bekliyorum Smile
WWW
Cevapla
#2
Flowpanel içerisine eklediğiniz nesneler otomatik yanyana ve aşağı doğru yerleşir scrolbox ın içerisine flowpanel koyup onun içerisine listview v.s nesneleri ekleyebilirsiniz parasını veririm dersen tms var Smile

“Do. Or do not. There is no try.”
Cevapla
#3
(12-07-2017, Saat: 17:12)masteryoda Adlı Kullanıcıdan Alıntı: Flowpanel içerisine eklediğiniz nesneler otomatik yanyana ve aşağı doğru yerleşir scrolbox ın içerisine flowpanel koyup onun içerisine listview v.s nesneleri ekleyebilirsiniz parasını veririm dersen tms var Smile

Teşekkürler iyi oldu. Smile
aGz2g4.png
WWW
Cevapla
#4
(12-07-2017, Saat: 17:07)yhackup Adlı Kullanıcıdan Alıntı: Bu tip bir panel yapmak istiyorum, Listview düşündüm, Scroolbox koyup içerisin nesneleri create edeyim dedim ama kafamda oturtamadım.
Ücretsiz önerilerinizi bekliyorum Smile


Merhaba,

Öncelikle yapmak istediğiniz n adet kişi-ürün-olay kartı için ihtiyaçları tespit etmeniz gerekir. Bu ihtiyaçlar doğrultusunda yerleşkeye göre doğru ve uygun bir yerleşme yaparak, 1 adet prototip oluşturulmalı.

Örnek;
  • TPanel
    • TImage
    • TLabel x3
    • TEdit x2
    • TListView 
Daha sonra istenilen tasarımın uygun olduğuna karar verildikten sonra Package olarak yeni bir komponent oluşturarak tüm bu prototipte kullandığınız değerlerin alakalı yerlerindeki özelliklere erişecek, write/read işlemlerini yapabileceğiniz get-set metodlarını ekledikten sonra komponentinizi derleyip projenizin içinde kullanımını sağlayabilirsiniz.

FlowPanelLayout ve türevlerinde sol merkezli yerleştirme yaparak, içine atacağınız komponentin (kendi içinde n tane olabilir ama parent olan) yükseklik ve genişlik değerlerine göre ekranınızın el verdiği kadar yatay, daha sonrasında dikey olarak yerleştirilir.

VCL için biraz uğraştırıcı bir yöntem. Eğer FMX olarak yapacaksanız TRectangle ile çok hızlı bir şekilde istediğiniz prototipi çıkarabilir, GridPanelLayout ile tasarımı birebir uygulayabilir ve dinamik olarak içeriğini dolduracak halde komponent oluşturup kullanabilirsiniz.

İyi günler.


Save
Cevapla
#5
(12-07-2017, Saat: 17:35)Abdullah Ilgaz Adlı Kullanıcıdan Alıntı:
(12-07-2017, Saat: 17:07)yhackup Adlı Kullanıcıdan Alıntı: Bu tip bir panel yapmak istiyorum, Listview düşündüm, Scroolbox koyup içerisin nesneleri create edeyim dedim ama kafamda oturtamadım.
Ücretsiz önerilerinizi bekliyorum Smile


Merhaba,

Öncelikle yapmak istediğiniz n adet kişi-ürün-olay kartı için ihtiyaçları tespit etmeniz gerekir. Bu ihtiyaçlar doğrultusunda yerleşkeye göre doğru ve uygun bir yerleşme yaparak, 1 adet prototip oluşturulmalı.

Örnek;
  • TPanel
    • TImage
    • TLabel x3
    • TEdit x2
    • TListView 
Daha sonra istenilen tasarımın uygun olduğuna karar verildikten sonra Package olarak yeni bir komponent oluşturarak tüm bu prototipte kullandığınız değerlerin alakalı yerlerindeki özelliklere erişecek, write/read işlemlerini yapabileceğiniz get-set metodlarını ekledikten sonra komponentinizi derleyip projenizin içinde kullanımını sağlayabilirsiniz.

FlowPanelLayout ve türevlerinde sol merkezli yerleştirme yaparak, içine atacağınız komponentin (kendi içinde n tane olabilir ama parent olan) yükseklik ve genişlik değerlerine göre ekranınızın el verdiği kadar yatay, daha sonrasında dikey olarak yerleştirilir.

VCL için biraz uğraştırıcı bir yöntem. Eğer FMX olarak yapacaksanız TRectangle ile çok hızlı bir şekilde istediğiniz prototipi çıkarabilir, GridPanelLayout ile tasarımı birebir uygulayabilir ve dinamik olarak içeriğini dolduracak halde komponent oluşturup kullanabilirsiniz.

İyi günler.


Save

Öyle yapacağım muhtemelen.
Teşekkürler

Nesnelerim neden listelenmiyor olabilir ?

LnbAyz.png
WWW
Cevapla
#6
DBCtrlGrid işini görmüyomu hocam ?
WWW
Cevapla
#7
(12-07-2017, Saat: 17:07)yhackup Adlı Kullanıcıdan Alıntı: Merhabalar,

HelpResource.ashx?help=WindowsForms&docu...mg6344.jpg

Bu tip bir panel yapmak istiyorum, Listview düşündüm, Scroolbox koyup içerisin nesneleri create edeyim dedim ama kafamda oturtamadım.
Ücretsiz önerilerinizi bekliyorum Smile



   Eskiden bir projemde alt alta olmak şartı ile veritabanın da bulunan kayıtları panel ile listelemek istemiştim. Kendi projeme uyarlı bir biçimde yazmış olduğum bir fonksiyon mevcut. Fikir vermesi amacıyla;

procedure TbiMainMenu.ProjeYenile(SQLSorgu: String);
var
aquery, aquerya: TUniQuery;
I, I2: Integer;
Panel: TbsSkinPanel;
Baslik, ProjeSahibi, Dil, Kisi, Tarih, ID: TbsSkinLabel;
Katil: TbsSkinButton;
ScrollPanel: TbsSkinScrollPanel;
begin
projeler.Close;
projeler.SQL.Text := SQLSorgu;
projeler.Open;
projeler.Active := True;


for I2 := biMainMenu.ComponentCount - 1 downto 0 do
begin
 if biMainMenu.Components[I2] is TbsSkinScrollPanel then
 biMainMenu.Components[I2].Destroy;
end;


ScrollPanel := TbsSkinScrollPanel.Create(Self);
ScrollPanel.SkinData := BiLogin.bsSkinData1;
ScrollPanel.Parent := biMainMenu;
ScrollPanel.Visible := False;
// ScrollPanel.ScrollType := stHorizontal;
// ScrollPanel.ScrollOffset := 100;
// ScrollPanel.ScrollTimerInterval := 100;
ScrollPanel.Top := 47;
ScrollPanel.Width := 617;
ScrollPanel.Left := 381;
ScrollPanel.Height := 477;
ScrollPanel.ScrollType := stVertical;
ScrollPanel.Name := 'bsSkinScrollPanel1';
ScrollPanel.Visible := True;

projeler.first;

 while not projeler.Eof do
begin
 for I := 0 to projeler.RecordCount - 1 do
 begin
  Panel := TbsSkinPanel.Create(self);
  Panel.Parent := ScrollPanel;
  Panel.Visible := False;
  Panel.SkinData := BiLogin.bsSkinData1;
  Panel.TransparentMode := True;
  Panel.Name := 'Panel'+IntToStr(I);
  Panel.BorderStyle := bvRaised;
  Panel.Top := 16 + I * 140;
  Panel.Left := 16;
  Panel.Height := 130;
  Panel.Width := 585;


  Baslik := TbsSkinLabel.Create(self);
  Baslik.Parent := Panel;
  Baslik.Visible := False;
  Baslik.SkinData := BiLogin.bsSkinData1;
  Baslik.Caption := projeler.FieldByName('BASLIK').AsString;
  Baslik.UseSkinSize := False;
  Baslik.UseSkinFont := False;
  Baslik.DefaultFont.Style := [fsBold];
  Baslik.DefaultFont.Size := 10;
  Baslik.Left := 14;
  Baslik.Top := 11;
  Baslik.Width := 529;
  Baslik.Height := 21;
  Baslik.Visible := True;



  ProjeSahibi := TbsSkinLabel.Create(self);
  ProjeSahibi.Parent := Panel;
  ProjeSahibi.Visible := False;
  ProjeSahibi.SkinData := BiLogin.bsSkinData1;
  aquery := TUniQuery.Create(nil);
  aquery.Connection := BiLogin.UniConnection1;
  aquery.Close;
  aquery.SQL.Text := 'select * from bilogin where ID='+projeler.FieldByName('SAHIPID').AsString;
  aquery.Open;
  aquery.Active := True;
  ProjeSahibi.Caption := 'Proje Sahibi: '+aquery.FieldByName('ADSOYAD').AsString;
  ProjeSahibi.Left := 16;
  ProjeSahibi.Top := 28;
  ProjeSahibi.Width := 529;
  ProjeSahibi.Height := 21;
  ProjeSahibi.Visible := True;


  Dil := TbsSkinLabel.Create(self);
  Dil.Parent := Panel;
  Dil.Visible := False;
  Dil.SkinData := BiLogin.bsSkinData1;
  Dil.Caption := 'Proje Dili: '+projeler.FieldByName('DIL').AsString;
  Dil.Left := 16;
  Dil.Top := 46;
  Dil.Width := 529;
  Dil.Height := 21;
  Dil.Visible := True;


  ID := TbsSkinLabel.Create(self);
  ID.Parent := Panel;
  ID.Visible := False;
  ID.SkinData := BiLogin.bsSkinData1;
  ID.Caption := projeler.FieldByName('ID').AsString;
  ID.Left := 16;
  ID.Top := 46;
  ID.Width := 529;
  ID.Height := 21;;


  Kisi := TbsSkinLabel.Create(self);
  Kisi.Parent := Panel;
  Kisi.Visible := False;
  Kisi.SkinData := BiLogin.bsSkinData1;
  Kisi.Caption := 'Proje Katılım Sayısı: '+IntToStr(projeler.FieldByName('KISI').AsInteger);
  Kisi.Left := 16;
  Kisi.Top := 63;
  Kisi.Width := 529;
  Kisi.Height := 21;
  Kisi.Visible := True;


  Tarih := TbsSkinLabel.Create(self);
  Tarih.Parent := Panel;
  Tarih.Visible := False;
  Tarih.SkinData := BiLogin.bsSkinData1;
  Tarih.Caption := 'Proje Başlangıç Tarihi: '+DateToStr(projeler.FieldByName('TARIH').AsDateTime);
  Tarih.Left := 16;
  Tarih.Top := 81;
  Tarih.Width := 529;
  Tarih.Height := 21;
  Tarih.Visible := False;


  Katil := TbsSkinButton.Create(self);
  Katil.Parent := Panel;
  Katil.Visible := False;
  Katil.SkinData := BiLogin.bsSkinData1;
  Katil.UseSkinSize := False;
  Katil.CanFocused := True;
  Katil.TabStop := True;
  Katil.Name := 'B'+IntToStr(projeler.FieldByName('ID').AsInteger);
  Katil.Caption := 'Ayrıntılar';
  Katil.Top := 90;
  Katil.Width := 75;
  Katil.Height := 35;
  Katil.Left := 480;
  Katil.UseSkinSize := False;
  Katil.CanFocused := False;
  Katil.OnClick := KatilButon;
  Katil.Visible := True;
  Panel.Visible := True;

  projeler.Next;
  end;
end;


Saygılarımla,
İyi çalışmalar.
kisisel_logo_dark.png
WWW
Cevapla
#8
Bu şekilde işimi gördü,
Cevaplar için teşekkür ederim.

aGzN2B.png
WWW
Cevapla
#9
Merhaba,
Biraz geç oldu ama, yeni sürüme (Delphi 10.2.2) TCardPanel ve TStackPanel eklenmiş.
DelphiCan'dır!
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Table Type parametre gecisi hakkında (Çözüldü) adelphiforumz 1 151 09-04-2026, Saat: 15:53
Son Yorum: adelphiforumz
  Video Oynatma Hakkında adelphiforumz 7 844 17-12-2025, Saat: 07:36
Son Yorum: mrmarman
  nduWlanAPI Kullanımı hakkında nurah 3 806 09-09-2025, Saat: 09:33
Son Yorum: RAD Coder
  AES Şifreleme Hakkında tmrksmt 25 5.850 06-09-2025, Saat: 22:12
Son Yorum: delphi.developer
  SuperObject dosyaları hakkında adelphiforumz 2 622 18-06-2025, Saat: 11:02
Son Yorum: engerex



Konuyu Okuyanlar: 1 Ziyaretçi