Jinsi Ya Kupata Kushughulikia Kwa Dirisha

Orodha ya maudhui:

Jinsi Ya Kupata Kushughulikia Kwa Dirisha
Jinsi Ya Kupata Kushughulikia Kwa Dirisha

Video: Jinsi Ya Kupata Kushughulikia Kwa Dirisha

Video: Jinsi Ya Kupata Kushughulikia Kwa Dirisha
Video: Code za siri za kupata sms na call bila kushika simu ya mpenzi wako/hata akiwa mbali 2024, Novemba
Anonim

Dhana ya kiolesura cha mtumiaji kwenye Windows inategemea dhana ya dirisha. Mazungumzo, vifungo, paneli za kudhibiti, orodha zote ni windows. Kwa hivyo, ili kutekeleza kitendo chochote na kipengee chochote cha kiolesura cha programu yako mwenyewe au ya mtu mwingine, unahitaji kupata kipini cha dirisha.

Jinsi ya kupata kushughulikia kwa dirisha
Jinsi ya kupata kushughulikia kwa dirisha

Muhimu

  • - Mfuko wa SDK ya Jukwaa;
  • mkusanyaji.

Maagizo

Hatua ya 1

Pata kushughulikia kwa dirisha kwa kuunda. Piga simu kwa kazi ya CreateWindow au CreateWindowEx API, au piga simu njia zinazofaa za kufunika (kwenye vitu muhimu) vya madarasa ya mfumo uliotumika au maktaba ambayo inajumuisha utendaji wa kufanya kazi na windows au vidhibiti. kushughulikia kwa dirisha juu ya uundaji mzuri. Ikiwa wameitwa bila mafanikio, wanarudi NULL. Nambari ya sababu ya kosa inaweza kuombwa kwa kutumia kazi ya GetLastError API. Prototypes na maelezo ya kina ya vigezo vya kazi za CreateWindow na CreateWindowEx zinaweza kupatikana kutoka kwa viungo https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx na https:// msdn.microsoft.com / en-us / maktaba / windows / desktop / ms632680% 28v = dhidi ya 85% 29.aspx Unapotumia madarasa ya mifumo tofauti, uundaji wa vitu vya mfumo wa uendeshaji vinaweza kutokea wazi (kwa kuita njia) au kabisa (utekelezaji wa mkakati wa RAII). Kwa hivyo, ni bora kupata ushughulikiaji wa dirisha kwenye kitu kilichoanzishwa tayari. Unaweza kujifunza juu ya njia za madarasa ambazo zinarudisha kipini cha dirisha kilichofungwa na kitu kwenye nyaraka za mfumo unaofanana. Kwa mfano, katika MFC, njia kama hiyo ni GetSafeHwnd ya darasa la CWnd.

Hatua ya 2

Pata kushughulikia kwa dirisha kwa kuitafuta. Tumia kazi za FindWindow na FindWindowEx API au vifuniko sahihi vya vitu vya darasa kwa mfumo unaotumia. Utafutaji unafanywa na jina la darasa na kichwa cha dirisha. Maelezo ya vigezo na mambo ya kazi yanaweza kupatikana kwenye kiunga https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx. kazi ya FindWindowEx ni sawa na FindWindow na tofauti tu ni kwamba inatafuta windows za watoto. Nyaraka za FindWindowEx inapatikana kwenye

Hatua ya 3

Pata kushughulikia kwa dirisha wakati ukiorodhesha seti zao. Tumia kazi za API EnumWindows, EnumChildWindows, EnumThreadWindows, au njia za vitu vya darasa vya mfumo unaotumia. EnumWindows na EnumChildWindows hufanya kazi kuorodhesha windows ya kiwango cha juu na windows windows, mtawaliwa. EnumThreadWindows kazi huorodhesha windows zote zisizo za mtoto za uzi uliowekwa. Kila moja ya kazi hizi lazima ipitishwe kwa kiboreshaji kwa utaratibu wa kupiga tena simu, ambayo itapitisha vipini vya windows zilizopatikana kama vigezo wakati wa operesheni. Kwa kuchanganya kazi za hesabu, kupata na kuchambua mali za windows katika utaratibu wa kupiga simu, unaweza kupata kipini cha dirisha linalohitajika. Nyaraka za kazi zilizoelezewa zinapewa kwenye viungo: - 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.

Hatua ya 4

Pata kushughulikia kwa dirisha kwenye kuratibu zinazojulikana. Kazi za WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx zinarudisha vipini kwenye windows ambazo nukta iliyoainishwa ni ya. Kazi ya WindowFromPoint ni rahisi kutumia, lakini hairudishi vipini kwa windows zilizofichwa au za walemavu. Unaweza kupata hati juu ya matumizi yake kwa https://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx. madirisha ya dirisha la mzazi lililopewa mali ya nukta fulani. Katika kesi hii, tabia ya ChildWindowFromPointEx inaweza kudhibitiwa kwa urahisi kwa kutumia parameter ya ziada. Nyaraka za kazi hizi hutolewa na viungo: - 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.

Ilipendekeza: