Gelişmiş Form Tasarımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Akshan
Üye
Mesajlar: 23
Kayıt: 14 Kas 2005 08:35

Gelişmiş Form Tasarımı

Mesaj gönderen Akshan »

Merhaba arkadaşlar;

Formda sol tarafta sabit olacak olan bir DxNavbar kullanarak kullanıcıya istedikleri bölüme ulaşmaları konusunda yardımcı olmak isityorum..Ve açlına penecereninde(Form) sağ taraftaki boş bölge içerisine yerleşmesini istiyorum.Aklıma ilk olarak tek for üzerinde çalışarak Visible:=False/True yapmak geldi. Ama şu anda bir çok form var ve bunları istediğim şekilde nasıl yapabilirim..

Teşekürler..

Resim
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

pagecontrol üzerinde bunları yapabilirsin tabi formları silip form dizaynlarının aynısın pageconttroldeki tabsheetlere yapman lazım.ben bir süre böyle yapmıştım programlarımı.derli toplu ve kullanımı kolaydı, fakat sıkıntı şuki kullanıcılar aynı anda farklı modüllerde çalışamıyordu yani ya stok gözükecekti ekranda ya cari birini kaydetmeden diğerine geçemiyordu kaydetmese bile ekran değişince tabloyuda kapattığımdan dolayı girdiği bilgiler gidiyordu.

ekran görüntüsü;

http://www.tekkalem.com.tr\images\sil.gif
En son serkan tarafından 28 Kas 2006 11:04 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Mrb; boş alanda bir panel veya groupbox olduğunu varsayarak anlatmaya çalışayım. Boş alana yerleştirmek istediğin formun ilk önce BorderStyle özelliğini bsNone olarak ayarlaman gerekiyor. Kod örneği de bu formu panel içine yerleştirecek kodu gösterir.

Kod: Tümünü seç

GosterilecekForm.Parent:=BosAlanPaneli;
GosterilecekForm.Show;
Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

@sabanakman yaptığına benzer bir yol izlemiştim bende, bunuda bi bileşenin örnek projesinde görmüştüm, page control üzerine çok fazla bileşen koyunca kasılmaya başlıyor, burada herbir seçenek için başka bir form dizayn edip panel üzerinde create ediyorsunuz. ContainerPanel dediği boş arkaplandaki panel ,

Kod: Tümünü seç

procedure TSettingsForm.SelectSettingsTypeChange(Sender: TObject;Node: TTreeNode);
var
  NewSubFormClass: TFormClass;
  NewSubForm: TForm;
begin

  if node.AbsoluteIndex in [0..SelectSettingsType.Items.count-1] then
    caption := SelectSettingsType.Items[node.AbsoluteIndex].Text;

  case node.AbsoluteIndex of
   0 :  NewSubFormClass := Tsettings_subform_material;
   1 :  NewSubFormClass := Tsettings_subform_materialincomp;
   2 :  NewSubFormClass := Tsettings_subform_materialgroups;
   3 :  NewSubFormClass := Tsettings_subform_machines;
   4 :  NewSubFormClass := Tsettings_subform_machinestanks;
   5 :  NewSubFormClass := Tsettings_subform_machinesgroups;
   6 :  NewSubFormClass := Tsettings_subform_dispenser;
   7 :  NewSubFormClass := Tsettings_subform_dispenserMaterialReleation;
   8 :  NewSubFormClass := Tsettings_subform_dispenserTanksReleation;
   9 :  NewSubFormClass := Tsettings_subform_terminals;
   10:  NewSubFormClass := Tsettings_subform_parameters;
   11:  NewSubFormClass := Tsettings_subform_wizard;
   12:  NewSubFormClass := Tsettings_subform_users;
   else NewSubFormClass := nil;
  end;


 if (ContainerPanel.ControlCount = 0) or
    (not (ContainerPanel.Controls[0] is NewSubFormClass)) then
  begin
    if ContainerPanel.ControlCount > 0 then
      ContainerPanel.Controls[0].Free;

    if Assigned(NewSubFormClass) then
      begin
        NewSubForm := NewSubFormClass.Create(Self);
        NewSubForm.Hide;
        NewSubForm.BorderStyle := bsNone;
        NewSubForm.Parent := ContainerPanel;
        NewSubForm.Align := alClient;
        NewSubForm.Show;
      end;
  end;
  
end;
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Sorması ayıptır sen bu DxNavbar bileşenini nereden buldun. Paralı satılmıyordur inşallah :D.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
Akshan
Üye
Mesajlar: 23
Kayıt: 14 Kas 2005 08:35

Mesaj gönderen Akshan »

sabanakman yazdı:Sorması ayıptır sen bu DxNavbar bileşenini nereden buldun. Paralı satılmıyordur inşallah :D.
Üzgünüm ama paralı :( DevExpress
Ayrıca DxNavbara çok yakın Sweet Panels var ama o da paralı :shock:

Ayrıca sorunumu dediğiniz şekilde hallettim..Teşekkürler..

Kod: Tümünü seç

hamliste.Parent:=ScrollBox1;
hamliste.Align:=alClient;
hamliste.Show;
Cevapla