Selam Dostlar,
Listbox ile bir parametre ekrani dizayn etmek istiyorum.
Listbox un her itemlarina tiklandiginda ayni form icinde baska formlari nasil gosterebilirim ?
Ornegin : Bir parametre formum(Form1) var ve ustunde bir Listbox, itemlari Stok, fatura, Musteri gibi. Ben listbox da musteri tiklanmissa musterilerle ilgili parametre formu Form2 yi form1 icinde gostermek istiyorum. Kisacasi ayni pagecontrol gibi olacak ama pagecontrol sayfalari gozukmeyecek, sadece listbox da secilen itemin formu(Form2, Form3 vs.) form1 icinde birlesmis halde gozukecek.
Kolay Gelsin, Tesekkurler.
Listbox ile parametre girisi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Listbox ile parametre girisi
Okyanus
form icine bir adet TPanel koy
listbox itemlerina tıkladıgın yerde istedigin formları create ettikten sonra
parentina paneli ata,tabi panel ve listbox tum form uzerini kaplasın, kod ile asagıda oldugu gibi :
Formlar kapanırken bir sekilde de frmPanelForm degiskenini nil yaparsan
ukardaki gibi kontrol edebilirsin
listbox itemlerina tıkladıgın yerde istedigin formları create ettikten sonra
parentina paneli ata,tabi panel ve listbox tum form uzerini kaplasın, kod ile asagıda oldugu gibi :
Kod: Tümünü seç
var
frmPanelForm:TForm;//global degisken
begin
if not Assigned(frmPanelForm) then
case ListBox1.ItemIndex of
0: frmPanelForm:=TStokForm.Create(nil);
1: frmPanelForm:=TCariForm.Create(nil);
end;
frmPanelFom.Parent:=Panel1;//burada acılan form Panelin uzerine adeta yapısır.
end;
ukardaki gibi kontrol edebilirsin
ÜŞENME,ERTELEME,VAZGEÇME
- pentiumkivanc
- Üye
- Mesajlar: 350
- Kayıt: 19 Şub 2004 10:24
- İletişim:
Tekrar Selam
gkimirti kardes verdigin kodlarla yazdim fakat Stack Overflow hatasi veriyor listbox1 de item a tiklayinca. Ben Listbox1 de stok islemlerine tiklayinca frmStok formunu ekrana getirmek istiyorum panele yapisik halde.
Kodu buraya aliyorum, sanirim bir yerleri atliyorum, bakabilirsen sevinirim.
2 Form var, birincisi frmPanelForm, bunun ustunde panel1 var formu kaplamis halde ve listbox1 var 3 itemla stok islemleri, fatura islemleri, cari islemleri diye. frmPanelForm projede anaform, digeri create ile olusuyor.
diger form frmStok, bunun ustunde sadece 3 tane edit edit var.
Tesekkurler.
gkimirti kardes verdigin kodlarla yazdim fakat Stack Overflow hatasi veriyor listbox1 de item a tiklayinca. Ben Listbox1 de stok islemlerine tiklayinca frmStok formunu ekrana getirmek istiyorum panele yapisik halde.
Kodu buraya aliyorum, sanirim bir yerleri atliyorum, bakabilirsen sevinirim.
2 Form var, birincisi frmPanelForm, bunun ustunde panel1 var formu kaplamis halde ve listbox1 var 3 itemla stok islemleri, fatura islemleri, cari islemleri diye. frmPanelForm projede anaform, digeri create ile olusuyor.
diger form frmStok, bunun ustunde sadece 3 tane edit edit var.
Tesekkurler.
Kod: Tümünü seç
// bu frmPanelForm
unit UPanel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls;
type
TfrmPanelForm = class(TForm)
Panel1: TPanel;
ListBox1: TListBox;
StatusBar1: TStatusBar;
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmPanelForm: TForm;
implementation
uses UStok;
{$R *.dfm}
procedure TfrmPanelForm.ListBox1Click(Sender: TObject);
begin
if not Assigned(frmPanelForm) then
case ListBox1.ItemIndex of
0: frmPanelForm:=TfrmStok.Create(nil);
// 1: frmPanelForm:=TfrmCari.Create(nil);
// buraya diger pencereler gelecek
end;
frmPanelForm.Parent:=Panel1; //parent atama
end;
end.
Kod: Tümünü seç
// ikinci frmStok formu
unit UStok;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmStok = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmStok: TForm;
implementation
{$R *.dfm}
end.
Kod: Tümünü seç
// ve proje
program MyParam;
uses
Forms,
UPanel in 'UPanel.pas' {frmPanelForm},
UStok in 'UStok.pas' {frmStok};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TfrmPanelForm, frmPanelForm);
Application.Run;
end.
Okyanus