08
Feb
2008

Introducere

Oricine a folosit sistemul Windows, in mod sigur a folosit sau macar vazut cel putin o data ceva care arata ca in figura 1.1. Pentru aceasta, in literatura referitoare la programarea Windows, cea mai utilizata denumire este "property sheet", pe care o vom folosi in continuare.

Fig.1.1. Property Sheet - exemplu

Deschid aici o serie de articole care in primul rand isi propune sa dezvaluie lucruri legate de property sheets accesibile incepatorilor in pogramarea Windows (API si/sau MFC) mergand mai apoi catre lucruri ceva mai avansate: moduri de implementare, design, customizari, tips & tricks, etc.

Deci, incepem...

...incercand o definitie generala:

Un property sheet este o colectie de pagini (view-uri) comutabile in asa fel incat la un moment dat o singura pagina este activa (vizibila).

Definitia este destul de "seaca" asa ca mai usor de inteles ce reprezinta efectiv, si oricum mai folositor pentru un programator, este sa enumeram elementele unui property sheet. Acestea sunt:

  • una sau mai multe pagini (denumite in mod curent property pages), de obicei implementate prin ferestre tip dialog;
  • un control pentru comutarea paginilor, de obicei un tab control;
  • o fereastra parinte, de obicei un dialog, ca suport pentru pagini si controlul de comutare; optional, aceasta fereastra poate contine controale pentru comenzi comune tuturor paginilor (in fig.1.1, butoanele "OK" si "Cancel").

Property Sheet - elementele componente
Vezi imaginea la dimenisunea normala

Fig.1.2. Property Sheet - elementele componente

Nota: Pentru ca, asa cum am spus mai sus, de obicei de folosesc dialog-uri si un tab control, uneori se mai intalneste denumirea de "tabbed dialog box".

Doar mici considerente de design

Cred ca e usor de intuit care ar fi scopul principal al unui property sheet, si anume acela de a usura munca utilizatorului punandu-i la dispozitie la un momentdat un numar rezonabil de informatii/controale. Aceasta se poate extinde si la munca programatorului, cu conditia sa se respecte inca din faza de design urmatoarele doua, daca nu reguli, macar privite ca recomandari:

  • contralele/informatiile trebue grupate pe pagini pe considerente logice/functionale (nu in primul rand estetice sau mai rau, la intamplare sau "in ordine cronologica") in asa fel incat sa nu existe dependente intre pagini;
  • un property sheet nu trebuie sa contina un numar exagerat de pagini; ideal ar fi sa se respecte asazisa 6x6 rule (dupa altii, 7x7 rule) care in cazul nostru s-ar enunta cam asa "daca un property sheet "vrea" sa depaseasca 6 pagini, fa mai bine unul nou!"; ca orice regula, aceasta poate fi incalcata in cazuri justificate dar oricum nu trebuie sa se faca abuz.

Nota: cunosc foarte bine faptul ca in urechile multor programatori cuvinte ca "design", "reguli" si "recomandari" suna ciudat, din alta lume si chiar enervant. Totusi tin sa precizez ca, daca se tine cont de ele macar atat cat se poate si macar "in limita bunului simt", se poate scuti multa lume de dureri de cap ulterioare.

Ne oprim deocamdata aici

Sper ca am inteles, in mare, cam ce este acela un property sheet.
Totusi, lipsesc deocamdata sarea si piperul: codul sursa si aplicatiile demo.
Dar, vor urma...

[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 317: mysqli_free_result(): Couldn't fetch mysqli_result