Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi

Konuyu Paylaş : facebook gplus twitter

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
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
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ı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlFlowpanel 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
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#4
(12-07-2017, Saat: 17:07)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBu 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
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#5
(12-07-2017, Saat: 17:35)Abdullah Ilgaz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(12-07-2017, Saat: 17:07)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBu 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
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#6
DBCtrlGrid işini görmüyomu hocam ?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#7
(12-07-2017, Saat: 17:07)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhabalar,

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.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#8
Bu şekilde işimi gördü,
Cevaplar için teşekkür ederim.

aGzN2B.png
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#9
Merhaba,
Biraz geç oldu ama, yeni sürüme (Delphi 10.2.2) Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol eklenmiş.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [Çözüldü] Otomatik artan alan değerlerini sıfırlama Lord_Ares 4 97 17-10-2018, Saat: 08:54
Son Yorum: esistem
  JSON Bilgi Talebi, RAD 10 Seattle Yeni JSON Özellikleri Hakkında eroniko 4 138 13-10-2018, Saat: 21:59
Son Yorum: eroniko
  [ÇÖZÜLDÜ] Query ismini değişken olarak göndermek Lord_Ares 14 284 12-10-2018, Saat: 12:33
Son Yorum: Lord_Ares
  ClassType hakkında adelphiforumz 1 96 11-10-2018, Saat: 22:27
Son Yorum: sabanakman
  Inherited Formlar Hakkında Bilgi Talebi adelphiforumz 5 153 11-10-2018, Saat: 10:28
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi