[WinAPI] Ferestre child vs. ferestre owned

Folosire Windows API in programe C/C++ (forum moderat)
Post Reply
User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

[WinAPI] Ferestre child vs. ferestre owned

Post by Ovidiu Cucu » 27 Jan 2010, 10:04

Q: Care sunt diferentele dintre ferestrele child si owned?

A: Ambele tipuri de ferestre depind de o alta fereastra numita parent respectiv owner.
Aceasta dependenta implica caracteristici comune cum ar fi faptul ca stau in fata ferestrei parent/owner sau sunt distruse atuci cand fereastra parent/owner este distrusa. Din cauza aceasta, multi fac o confuzie numind "child" (copil) o fereastra owned si "parent" (parinte) o fereastra owner.
Totusi, intre cele doua tipuri de ferestre exista diferente semnificative, dupa cum urmeaza:

ferestrele child (copil)
  1. pot fi afisate numai in zona client a ferestrei parinte;
  2. sunt mutate atunci cand fereastra parinte este mutata (pozitia relativa la zona client a ferestrei parinte nu se schimba);
  3. sunt disabled atunci cand fereastra parinte este disabled;
  4. in functiile CreateWindow(Ex), MoveWindow, SetWindowPos etc, coordonatele sunt date relativ la zona client a ferestrei parinte.
  5. au setate stilul WS_CHILD;
  6. in general, controalele cum ar fi butonele, edit-urile etc sunt fereste copil; tot ferestre copil sunt si frame-urile MDI child.
ferestrele owned
  1. pot fi aisate oriunde pe ecran;
  2. nu sunt mutate atunci cand fereastra owner este mutata;
  3. nu sunt disbled atunci cand owner-ul este disabled;
  4. in functiile CreateWindow(Ex), MoveWindow, SetWindowPos etc, coordonatle sunt relative la ecran;
  5. nu au setat stilul WS_CHILD;
  6. de obicei, ferestre owned sunt ferestre overlapped si pop-up;
Vezi si
<< Back to Windows API Index



Post Reply