Çok panelli tasarımların yönetimi nasıldır?

Başlatan z, 07 Aralık 2015, 13:10:38

z

Delphiyi sistematik olarak okuyarak öğrenmedim. Bu yüzden Delphi'de kafama göre takılıyorum.

Bir program düşünün. Bir sürü buton var.

Butona bastığımda programı yazarken tasarladığım panelllerden birisini görünür hale getiriyorum. İşim bitince kapat butonuna basınca bu panel görünmez oluyor.
Bir başka butona basınca bu kez bir başka panel görünür hale geliyor.

Bu yapı tahminimce hoş bir yapı değildir. En basitinden ana forumda tasarım aşamasında bir sürü panel üstü üste duruyor bu da kafa karışıklığı yapıyor.

Bahsettiğim yapıdaki amaca uygun en güzel çözüm nedir?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

boreas

#1
Tam olarak programi anlamadim yani kullanim kolayligi icin hangisi daha uygun bilmiyorum ama tabsheet tarzi sayfalarla sorun cozulebilir gb geliyor

mesaj birleştirme:: 07 Aralık 2015, 13:51:11

Birde su cozum var kullanıcının göreceği panel bellidir. siz panelleri tasarim aninda tabsheetler icinde rahatca tasarlarsiniz kullanici tabsheeti gormez. butona basinca ilgili panelin parenti kullanicinin gorcegi panel olur kapat tusuna basinca parent yine tabsheete doner

z

Tabsheet nedir bilmiyorumki. Belki kullanıyorumdur.

Mesela

2 buton olsun.

1. buton Set PLL tuşu
2. buton Set timer tuşu

Set PLL tuşuna basınca ekrana bir sürü editbox vs gelecek. 
Set Timer tuşuna basınca da ekrana bir ton editbox, checkbox vs vs gelecek.

Tasarım aşamasında iki tane panel hazırlıyorum.
1.si Set Pll ile ilgili nesneleri barındırıyor. 2. ise set timer ile ilgili olanları.

Set PLL tuşuna basınca 1. paneli görünür yapıyorum.
Set timer tuşuna basınca 2. paneli görünür yapıyorum.

Bazen visible özelliğini kapadığım panel hataya da neden oluyor. Ne bileyim invisible panelde setfocus vs yapamazsın şeklinde.

Tasarım aşamasında herhangi bir paneli bring to front bring to back yapabiliyoruz.
Panelleri visible yapak yerine yazılımla back yada front yapabilsem bazı sorunlarım çözülecek.

Fakat gene de İşi bilenler sanki bu amacımı daha farklı çözüyorlar diye düşünüyorum.

Şu anda 10 panele sahişp bir program yazıyorum ve ana forma ait program çok karmaşıklaştı.
Panellere ne eklersem bu eklentiye ait tanıtımlar ana forma otomatik eklendiğinden hangi komponent kime ait karışıp gidiyor.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

bocek

1 ya da 0. işte 'bit'ün mesele..

boreas

Delphi tabsheet (pagecontrol) dediğim bu tarz birşey


Ben 16 sayfanın her birinde 3 sayfa olarak kullandım bunu. Yani 48 panel. Adinational diye bir sayfadaydı sanırım şuan ulaşamıyorum. Burada her sayfaya panel yerleştirip uygun panelin parent. değerini değiştirerek işi çözüyorsunuz. Hatta panellerle kullanıcının formlarını ayrı tutarak tasarım işlemini dahada kolaylaştırabilirsiniz.

OG

VB de TabStrip i şöyle kullanıyorum


gif upload
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

z

Delphi 6'da win32 komponent bölümünde TabControl ve PageControl adında iki bileşen buldum.

Form üzerine yerleştirdiğimde panelden bir farkını göremedim.

Panelden farkı nedir? Anlamadım?

Panele göre avantajını gösteren çok basit bir örnek verebilirmisiniz?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

boreas

Sağ tuşa basıp Newpage ile sayfa ekleyebilmeniz lazım. Örnekde eklerim şimdi

muhittin_kaplan

bukadat TAB tasarım hatasıdır. Kullanıcıyı sıkar, MDI Form ve child form kullanın ben 5tab dan fazla tab kullanmamaya çalışırım.
Mümkün olduğu kadar Soldan Sağa Çalışırım.

boreas

Bendeki delphi XE, bende Lazrs.da yazdım https://yadi.sk/d/uveb2ACRm4aVN buradan exe ve kodu görebilirsiniz.

Yuunus

tabpanel MDI for çalışırsanız daha cok işinize yarar mdi child formlar iç içe açıldığında hangi form nerde diye aramak yerine tabpanelden tab index'e tıklayarak ilgili child pencereye geciş yapabilirsiniz. SDI formlarla çalışıyorsanız zaten çok ihtiyaç duymazsınız yinede kulanabilirsiniz ama tabcontrol nesnesinin erişimi daha kolaydır, tab panelde birsürü indexle uğraşmak zorunda kalabilirsiniz.Birazda yoğurt meselesi gibi.

boreas

Benim önerim design time'da tasarım kolaylığı sağlamak için zaten anladığım kadarıyla kullanıcı tab sheet hiç görmeyecek. Kullanıcı bolca tasarlanmış panellerden uygun olanını görecek sadece anladığım kadarıyla

z

@boreas

Program Win7 de çalışmadı. Programı delphi6 ya çevirip kullandım ama Tabshhet yok galiba. Tabcontrol var. Onu kullandım.

Alternatif fikir getiren arkadaşlar mümkünse küçük örnek program verirseniz sevinirim. (Açık koduyla)

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan


boreas

Avast varsa o sıkıntı çıkarmış olabilir son sürümünde sorun çıkarıyor.