Com Aconseguir Un Mànec A Una Finestra

Taula de continguts:

Com Aconseguir Un Mànec A Una Finestra
Com Aconseguir Un Mànec A Una Finestra

Vídeo: Com Aconseguir Un Mànec A Una Finestra

Vídeo: Com Aconseguir Un Mànec A Una Finestra
Vídeo: MINECRAFT, costruisco la casa nel bosco 2024, Maig
Anonim

El concepte d’interfície d’usuari al Windows es basa en el concepte de finestra. Els diàlegs, els botons, els taulers de control, les llistes són totes les finestres. Per tant, per realitzar qualsevol acció amb qualsevol element de la interfície de l'aplicació pròpia o d'una altra persona, heu d'obtenir un controlador de finestra.

Com aconseguir un mànec a una finestra
Com aconseguir un mànec a una finestra

Necessari

  • - Paquet SDK de plataforma;
  • - compilador.

Instruccions

Pas 1

Aconseguiu el mànec a la finestra creant-la. Feu trucades a les funcions de l’API CreateWindow o CreateWindowEx o truqueu als mètodes d’embolcall adequats (als objectes necessaris) de les classes del framework o biblioteca usats que encapsulen la funcionalitat de treballar amb Windows o controls. Les funcions CreateWindow i CreateWindowEx retornen directament controlador de finestra per a la creació amb èxit. Si es crida sense èxit, retornen NULL. Es pot sol·licitar el codi del motiu d'error mitjançant la funció API GetLastError. Es poden obtenir prototips i descripcions detallades dels paràmetres de les funcions CreateWindow i CreateWindowEx als enllaços https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx i https:// msdn.microsoft.com / ca-us / library / windows / desktop / ms632680% 28v = vs.85% 29.aspx Quan s’utilitzen classes de diferents frameworks, la creació d’objectes de finestra del sistema operatiu es pot produir explícitament (trucant a un mètode) o implícitament (implementació de l'estratègia RAII). Per tant, és millor obtenir el controlador de la finestra en un objecte inicialitzat ja preparat. Podeu obtenir informació sobre els mètodes de les classes que retornen el controlador de finestra encapsulat per l'objecte a la documentació del marc corresponent. Per exemple, a MFC, un mètode similar és GetSafeHwnd de la classe CWnd.

Pas 2

Cerqueu-ne una per aconseguir una finestra. Utilitzeu les funcions de l’API FindWindow i FindWindowEx o els embolcalls d’objectes de classe adequats per al marc que esteu utilitzant. FindWindow retorna un identificador a la finestra de nivell superior si es troba o NULL en cas d’error. La cerca es realitza pel nom de la classe i el títol de la finestra. La descripció dels paràmetres i aspectes de la funció es troba a l’enllaç https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx. la funció FindWindowEx és similar a FindWindow, amb l'única diferència que busca les finestres secundàries. La documentació de FindWindowEx està disponible a

Pas 3

Cerqueu el mànec de la finestra mentre enumereu els conjunts. Utilitzeu les funcions de l'API EnumWindows, EnumChildWindows, EnumThreadWindows o mètodes d'objectes de classe del marc que esteu utilitzant. Les funcions EnumWindows i EnumChildWindows enumeren les finestres de nivell superior i les finestres secundàries, respectivament. La funció EnumThreadWindows enumera totes les finestres no secundàries del fil especificat. Cadascuna d’aquestes funcions s’ha de passar un punter a un procediment de devolució de trucada, que es transmetrà als controladors de les finestres trobades com a paràmetres durant el funcionament. En combinar funcions d’enumeració, obtenir i analitzar les propietats de la finestra en el procediment de devolució de trucada, podeu trobar el controlador de la finestra requerida. La documentació de les funcions descrites es proporciona als enllaços: - 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.

Pas 4

Aconsegueix un controlador a una finestra amb coordenades conegudes. Les funcions WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx retornen els mànecs a les finestres a què pertany el punt especificat. La funció WindowFromPoint és la més fàcil d’utilitzar, però no les mena per a les finestres ocultes o desactivades. Podeu trobar documentació sobre el seu ús a https://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx. Les funcions ChildWindowFromPoint i ChildWindowFromPointEx troben identificadors per al nen finestres d'una finestra pare determinada pertanyent a un punt determinat. En aquest cas, es pot controlar de manera flexible el comportament de ChildWindowFromPointEx mitjançant un paràmetre addicional. La documentació d’aquestes funcions es proporciona als enllaços: - 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.

Recomanat: