Kako Priti Do Ročaja Do Okna

Kazalo:

Kako Priti Do Ročaja Do Okna
Kako Priti Do Ročaja Do Okna

Video: Kako Priti Do Ročaja Do Okna

Video: Kako Priti Do Ročaja Do Okna
Video: Регулировка окон ПВХ своими руками / окно плохо закрывается / летний и зимний режим 2024, Maj
Anonim

Koncept uporabniškega vmesnika v sistemu Windows temelji na konceptu okna. Dialogi, gumbi, nadzorne plošče, seznami so vsa okna. Zato morate za izvedbo kakršnega koli dejanja s katerim koli elementom vmesnika vaše ali tuje aplikacije dobiti okenski ročaj.

Kako priti do ročaja do okna
Kako priti do ročaja do okna

Potrebno

  • - paket SDK platforme;
  • - prevajalnik.

Navodila

Korak 1

Z roko pripnite okno tako, da ga ustvarite. Kličite funkcije CreateWindow ali CreateWindowEx API ali pokličite ustrezne metode zavijanja (na potrebnih objektih) razredov uporabljenega ogrodja ali knjižnice, ki povzemajo funkcionalnost dela z okni ali kontrolniki. Funkciji CreateWindow in CreateWindowEx neposredno vrneta okenski ročaj za uspešno ustvarjanje. V primeru neuspešnega klica vrnejo NULL. Kodo vzroka napake lahko zahtevate s funkcijo API GetLastError. Prototipe in podrobne opise parametrov funkcij CreateWindow in CreateWindowEx lahko dobite na povezavah https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx in https:// msdn.microsoft.com / en-us / library / windows / desktop / ms632680% 28v = vs.85% 29.aspx Pri uporabi razredov različnih okvirov lahko ustvarjanje objektov oken operacijskega sistema poteka bodisi izrecno (s klicem metode) ali implicitno (izvajanje strategije RAII). Zato je bolje dobiti ročaj okna na že pripravljenem inicializiranem objektu. O metodah razredov, ki vrnejo okensko ročico, ki jo je vdelal objekt, lahko izveste v dokumentaciji ustreznega okvira. Na primer, v MFC je podobna metoda GetSafeHwnd razreda CWnd.

2. korak

Poiščite okno z oknom, tako da ga poiščete. Za ogrodje, ki ga uporabljate, uporabite funkcije FindWindow in FindWindowEx API ali ustrezne ovojnice predmetov razreda. FindWindow vrne ročaj v okno najvišje ravni, če ga najdete, ali NULL ob okvari. Iskanje se izvede po imenu razreda in naslovu okna. Opis parametrov in vidike funkcije najdete na povezavi https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx. funkcija FindWindowEx je podobna FindWindow z edino razliko, da išče podrejena okna. Dokumentacija za FindWindowEx je na voljo na spletnem mestu

3. korak

Poiščite ročico okna, medtem ko navajate njihove sklope. Uporabite funkcije API EnumWindows, EnumChildWindows, EnumThreadWindows ali metode predmetov razredov ogrodja, ki ga uporabljate. Funkciji EnumWindows in EnumChildWindows naštevata okna najvišje ravni in podrejena okna. Funkcija EnumThreadWindows našteva vsa nepodrejena okna določene niti. Vsaki od teh funkcij je treba posredovati kazalec na postopek povratnega klica, ki bo med delovanjem posredoval ročaje najdenih oken kot parametre. S kombiniranjem funkcij štetja, pridobivanjem in analiziranjem lastnosti okna v postopku povratnega klica lahko najdete ročaj zahtevano okno. Dokumentacija za opisane funkcije je podana na povezavah: - EnumWindows: https://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx; - EnumChildWindows: https:// msdn.microsoft.com/en-us/library/windows/desktop/ms633494%28v=vs.85%29.aspx; - EnumThreadWindows: https://msdn.microsoft.com/en-us/library / windows / desktop /ms633495%28v=vs.85%29.aspx.

4. korak

Poiščite ročico do okna na znanih koordinatah. Funkcije WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx vrnejo ročaje v okna, ki jim pripada določena točka. Funkcija WindowFromPoint je najlažja za uporabo, ne vrne pa ročic za skrita ali onemogočena okna. Dokumentacijo o njegovi uporabi najdete na https://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx. Funkciji ChildWindowFromPoint in ChildWindowFromPointEx najdeta ročaje za otroka okna določenega nadrejenega okna, ki pripadajo določeni točki. V tem primeru lahko vedenje ChildWindowFromPointEx prilagodljivo nadzirate z dodatnim parametrom. Dokumentacija za te funkcije je na voljo na povezavah: - ChildWindowFromPoint: https://msdn.microsoft.com/en-us/library/windows/desktop/ms632676%28v=vs.85%29.aspx; - ChildWindowFromPointEx: https:// msdn.microsoft.com/en-us/library/windows/desktop/ms632677%28v=vs.85%29.aspx.

Priporočena: