- 31.05.2018
- 3 minute de citit
In acest articol
Ce este o fereastra?
Evident, Windows este esential pentru Windows. Sunt atat de importanti incat au numit sistemul de operare dupa ei. Dar ce este o fereastra? Cand te gandesti la o fereastra, probabil ca te gandesti la asa ceva:
Acest tip de fereastra se numeste fereastra de aplicatie sau fereastra principala . De obicei, are un cadru cu o bara de titlu, butoane Minimize si Maximize si alte elemente standard ale UI. Cadrul se numeste zona non-client a ferestrei, asa-numita deoarece sistemul de operare gestioneaza acea portiune a ferestrei. Zona din cadrul este zona clientului . Aceasta este partea din fereastra pe care o gestioneaza programul dvs.
Iata un alt tip de fereastra:
Daca sunteti nou in programarea Windows, va poate surprinde ca controalele UI, cum ar fi butoanele si casetele de editare, sunt ele insele ferestre. Diferenta majora dintre un control UI si o fereastra de aplicatie este ca un control nu exista de la sine. In schimb, controlul este pozitionat in raport cu fereastra aplicatiei. Cand trageti fereastra aplicatiei, controlul se misca odata cu ea, asa cum v-ati astepta. De asemenea, fereastra de control si aplicatia pot comunica intre ele. (De exemplu, fereastra aplicatiei primeste notificari de clic de la un buton.)
Prin urmare, atunci cand ganditi fereastra , nu va ganditi pur si simplu la fereastra aplicatiei . In schimb, ganditi-va la o fereastra ca la o constructie de programare care:
- Ocupa o anumita portiune a ecranului.
- Poate fi sau nu vizibil la un moment dat.
- Stie sa se deseneze singura.
- Raspunde la evenimente din partea utilizatorului sau a sistemului de operare.
Windows parinte si Windows proprietar
In cazul unui control UI, se spune ca fereastra de control este fiul ferestrei aplicatiei. Fereastra aplicatiei este parintele ferestrei de control. Fereastra parinte ofera sistemul de coordonate utilizat pentru pozitionarea unei ferestre copil. A avea o fereastra parinte afecteaza aspectele aspectului unei ferestre; de exemplu, o fereastra copil este decupata astfel incat nicio parte a ferestrei copil sa nu poata aparea in afara marginilor ferestrei parinte.
O alta relatie este relatia dintre o fereastra a aplicatiei si o fereastra de dialog modala. Cand o aplicatie afiseaza un dialog modal, fereastra aplicatiei este fereastra proprietarului , iar dialogul este o fereastra detinuta . O fereastra detinuta apare intotdeauna in fata ferestrei proprietarului. Este ascuns cand proprietarul este minimizat si este distrus in acelasi timp cu proprietarul.
Urmatoarea imagine arata o aplicatie care afiseaza o caseta de dialog cu doua butoane:
Fereastra aplicatiei detine fereastra de dialog, iar fereastra de dialog este parintele ambelor ferestre de butoane. Urmatoarea diagrama prezinta aceste relatii:
Manerele ferestrei
Windows sunt obiecte – au atat cod, cat si date – dar nu sunt clase C ++. In schimb, un program face referinta la o fereastra utilizand o valoare numita maner . Un maner este de tip opac. In esenta, este doar un numar pe care sistemul de operare il foloseste pentru a identifica un obiect. Puteti imagina Windows ca avand un tabel mare cu toate ferestrele care au fost create. Foloseste acest tabel pentru a cauta ferestrele de manerele lor. (Fie ca exact asa functioneaza intern nu este important.) Tipul de date pentru manerele ferestrelor este HWND , care se pronunta de obicei „aitch-wind”. Manerele ferestrelor sunt returnate de functiile care creeaza ferestrele: CreateWindow si CreateWindowEx .
Pentru a efectua o operatie pe o fereastra, veti apela de obicei la o functie care ia ca valoare un parametru HWND . De exemplu, pentru a repozitiona o fereastra pe ecran, apelati functia MoveWindow :
BOOL MoveWindow (HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint);
Primul parametru este manerul pentru fereastra pe care doriti sa o mutati. Ceilalti parametri specifica noua locatie a ferestrei si daca fereastra trebuie redesenata.
Retineti ca manerele nu sunt indicatoare. Daca hwnd este o variabila care contine un handle, incercarea de a dereca referinta la handle prin scrierea * hwnd este o eroare.
Coordonatele ecranului si ferestrei
Coordonatele sunt masurate in pixeli independenti de dispozitiv. Vom avea mai multe de spus despre partea independenta de dispozitiv a pixelilor independenti de dispozitiv atunci cand discutam despre grafica.
In functie de sarcina dvs., puteti masura coordonatele in raport cu ecranul, in raport cu o fereastra (inclusiv cadrul) sau in raport cu zona client a unei ferestre. De exemplu, ati pozitiona o fereastra pe ecran folosind coordonatele ecranului, dar ati desena intr-o fereastra folosind coordonatele clientului. In fiecare caz, originea (0, 0) este intotdeauna coltul din stanga sus al regiunii.
Urmatorul
WinMain: punctul de intrare a aplicatiei
you porn valentina nappi cento xc ento
valentina nappi xxx cento xcento
culi sfondati cento xcento porn
malena hard cento xcento porno
fighe culi cento xcento streaming
free italian porn cento xcento video
godo con il culo cento xcento video porno
centoxcemto cento xcento.net
ciccia xxx cento xxx
kelly stafford xxx centoccento
casting michelle ferrari centoper cento porno
roby centoxcento centopercento film hard
fake taxi italia centopercento film porno
roberta missoni la ciociara centopercento hard
porno di salieri centopercento in stream
candy candy xxx centopercento porn
porno italia malena centopercento porno
la pugliese xxx centopercento porno italiano
max felitas centopercento produzioni
culi impavidi centopercento produzioni hard








