Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
Arkadaşlar öncelikle herkeze merhabalar ve cevap verenlere teşekkürler.
Bir button aracılığı ile oluşturduğum TShellListView kontrolünü TabbedNotebook kontrolüne alclient etmek istiyorum.
Buttona tıkladığımızda gerçekleşen olaylar :
TabbedNotebook1.Pages.Add(Dgr); // TabbedNotebook kontrolüne yeni sayfa ekliyorum.
// Buradan aşağısı TShellListView kontrolünü oluşturuyoru. Bunu yukarıda oluşturduğum page'nin içerisine aling ile client etmek istiyorum. Aşağıdaki kodlar bunu gerçekleştiriyor lakin sıkıtıyı yaratan kısım pageyi değiştirip aynı pageye geri geldiğimde o kontrol orada olmuyor. Anladımki yanlış yoladayım 1.5 2 saattir araştırıyorum ama birşey bulamadım. Yardımlarınızı bekliyorum.
yeni:=TShellListView.Create(TabbedNotebook1);
yeni.Parent:=TabbedNotebook1;
yeni.Align:=alClient;
Olayı yukarıda belirttim parent:=TabbedNotebook1; yerine ActiveControl yazıyorum bu seferde tıkladığım buttonun içerisinde bu olayı gerçekleştiriyoru. Dock sistemi aklıma geldi ama docklama yöntemi bulamadım CTRL+Space tuşu ile gelen kodlamalarda.
Saygılarımla.
Bir button aracılığı ile oluşturduğum TShellListView kontrolünü TabbedNotebook kontrolüne alclient etmek istiyorum.
Buttona tıkladığımızda gerçekleşen olaylar :
TabbedNotebook1.Pages.Add(Dgr); // TabbedNotebook kontrolüne yeni sayfa ekliyorum.
// Buradan aşağısı TShellListView kontrolünü oluşturuyoru. Bunu yukarıda oluşturduğum page'nin içerisine aling ile client etmek istiyorum. Aşağıdaki kodlar bunu gerçekleştiriyor lakin sıkıtıyı yaratan kısım pageyi değiştirip aynı pageye geri geldiğimde o kontrol orada olmuyor. Anladımki yanlış yoladayım 1.5 2 saattir araştırıyorum ama birşey bulamadım. Yardımlarınızı bekliyorum.
yeni:=TShellListView.Create(TabbedNotebook1);
yeni.Parent:=TabbedNotebook1;
yeni.Align:=alClient;
Olayı yukarıda belirttim parent:=TabbedNotebook1; yerine ActiveControl yazıyorum bu seferde tıkladığım buttonun içerisinde bu olayı gerçekleştiriyoru. Dock sistemi aklıma geldi ama docklama yöntemi bulamadım CTRL+Space tuşu ile gelen kodlamalarda.
Saygılarımla.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
anladığım kadarıyla
bu kod shelllistview i tabbed notebook ta create ediyor.yani bu olayı bir sayfaya taşırsan sorun ortadan kalkar sanırım.Şöyleki
gibi.Şu an deneyemiyorum ama işe yarayabilir deneyip sonucu yazarsan bizde faydalanırız..
Kolay Gelsin.
Kod: Tümünü seç
yeni:=TShellListView.Create(TabbedNotebook1);
Kod: Tümünü seç
Yeni:=TShellListView.Create(TabbedNoteBook1.dgr)
Kolay Gelsin.
UWESIS CORPORATION
Re: Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
İlgin için teşekkür ederim.
Kodda ilk olarak bir sayfa eklediğini söylemiştim haliyle eklediği sayfaya eklemesi gerekiyor.
Yukarıda . koyduktan sonra yazılan herangibir kodu kabul etmiyor yada kabul ettiği kodda çalışmıyor.
Kodunu kullanıyorum buda işte yaramıyor. CTRL+Space ile çıkan tüm kodlarıda kontrol ettim ama çözüm alamadım :s
Kodda ilk olarak bir sayfa eklediğini söylemiştim haliyle eklediği sayfaya eklemesi gerekiyor.
Kod: Tümünü seç
Yeni:=TShellListView.Create(TabbedNoteBook1.dgr)
Kod: Tümünü seç
Yeni:=TShellListView.Create(TabbedNoteBook1.PageIndex);
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
s.a.
oluşturduğun ShellListView in parentine dgr yi atamayı dene.
oluşturduğun ShellListView in parentine dgr yi atamayı dene.
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
Re: Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
Kodun tamamını vereyim size karışıcak yoksa. Dgr oluşturduğum bir var ve InputBox'a girilen veriyi veriyor.
Yukarıdaki kodun açıklamasını tekrar yapayım.
Button'a bastığımız zaman InputBox açılıyor ve değer girmemiz isteniyor. Girdiğimiz değeri sonra kontrol ediyor eğer değer yoksa eklemiyor değer varda aynısı zaten pages olarak mecvutsa yine eklemiyor. Ama değer var ve benzersizse InputBox'a yazılan metini pages (yeni sayfa) olarak ekliyor. Eklemeyi yaptıktan sonra yeni TShellListView oluşturuyorum burayakadar problem yok ama oluşturduğum ShellListView'i yeni eklediğim pages'in içine aling alclient yapmak istiyorum. Yukarıda belirttiğim kodda alclient yada başka bir parametre kullandığımda ekliyor ama sayda değiştirip aynı sayfaya gelince kayboluyor. Tahminimce TabbedNotebook'un arkasına atıyor.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
deger,deger1:AnsiString;
i,satir:Integer;
yeni:TShellListView;
begin
satir:=TabbedNotebook1.Pages.Count;//eleman sayısı
deger:=inputbox('Kategori Oluştur !','Kategori Adı','');
if deger = '' then
begin
ShowMessage('Boş değer girerek bir kategori oluşturamazsınız !');
end
else
begin
for i:=0 to satir-1 do
if deger = TabbedNotebook1.Pages[i] then
begin
ShowMessage('Bu kategori zaten mevcut durumda. Aynı isimde 1 den fazla kategori oluşturulamaz !');
exit;
end;
TabbedNotebook1.Pages.Add(deger);
yeni:=TShellListView.Create(TabbedNotebook1);
yeni.Parent:=TabbedNotebook1;
yeni.Root:=('rfdesktop');
yeni.Align:=alClient;
end;
end;
Button'a bastığımız zaman InputBox açılıyor ve değer girmemiz isteniyor. Girdiğimiz değeri sonra kontrol ediyor eğer değer yoksa eklemiyor değer varda aynısı zaten pages olarak mecvutsa yine eklemiyor. Ama değer var ve benzersizse InputBox'a yazılan metini pages (yeni sayfa) olarak ekliyor. Eklemeyi yaptıktan sonra yeni TShellListView oluşturuyorum burayakadar problem yok ama oluşturduğum ShellListView'i yeni eklediğim pages'in içine aling alclient yapmak istiyorum. Yukarıda belirttiğim kodda alclient yada başka bir parametre kullandığımda ekliyor ama sayda değiştirip aynı sayfaya gelince kayboluyor. Tahminimce TabbedNotebook'un arkasına atıyor.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
s.a.
tabbednotebook u daha önce hiç kullanmamıştım. şimdi biraz baktım. page leri tstrings tipinde tutmuş.
o zaman yeni eklediğimiz page in handlesini tabbednotebook un "controls" listesinden çıkartacağız demektir.
pages.add metodu bize eklenen yeni page in sıra numarasını geri döndürüyor. bu değeri bir yere alıp yeni oluşturduğumuz bileşenin handle sine verirsek problemi çözmüş oluruz.
ufak bir örnek yaptım. shelllistview yerine label create ettim.
parent wincontrol istediği için ufak bir tip değiştirme operasyonu ile sorunumuzu hallediyoruz.
kolay gelsin.
tabbednotebook u daha önce hiç kullanmamıştım. şimdi biraz baktım. page leri tstrings tipinde tutmuş.
o zaman yeni eklediğimiz page in handlesini tabbednotebook un "controls" listesinden çıkartacağız demektir.
pages.add metodu bize eklenen yeni page in sıra numarasını geri döndürüyor. bu değeri bir yere alıp yeni oluşturduğumuz bileşenin handle sine verirsek problemi çözmüş oluruz.
ufak bir örnek yaptım. shelllistview yerine label create ettim.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
yeni:tlabel;
begin
i:=TabbedNotebook1.Pages.Add('yeni');
yeni:=tlabel.Create(TabbedNotebook1);
yeni.Parent:=twincontrol(TabbedNotebook1.Controls[i]);
yeni.Caption:='merhaba';
yeni.Align:=altop;;
end;

kolay gelsin.
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
Re: Kodla oluşturulan kontrolü TabbedNotebook pages'ine dock ?
Teşekkür ediyorum deniyorum tahminimce olmuştur bu yöntem aklıma gelmemişti.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·