You are on page 1of 3

10/09/13

Con clases de ventanas (Windows)

Centro de desarrollo - Escritorio


DA SH B OA RD EM P EZ A NDO DISEO DESA RROL L A R A P I n dic e C ERT IFIC AR m u estras C om u n idad Registrarse Esc ritorio tec n ologas de serv idor y el sistem a

Aplicacin de escritorio UI Windows y mensajes Clases de ventana Panorama de clase de ventana Acerca clases de ventana Con clases de ventana

Con clases de ventana


16 de los 50 MSDN - Valorar este tema Este tema tiene un ejemplo de cdigo que muestra cmo registrar una ventana local y lo utilizan para crear una ventana principal. Cada proceso debe registrar sus propias clases de ventana. Para registrar una clase de aplicacin local, utilice la RegisterClassEx funcin. Debe definir el procedimiento de ventana, llena los miembros de la WNDCLASSEX estructura, y luego pasar un puntero a la estructura a la RegisterClassEx funcin. El ejemplo siguiente muestra cmo registrar una clase de ventana local y lo utilizan para crear una ventana principal.

#I n c l u d e< w i n d o w s . h > //V a r i a b l eG l o b a l H I N S T A N C Eh i n s t ; //P r o t o t i p o sd ef u n c i n . i n tW I N A P IW i n M a i n( H I N S T A N C E ,H I N S T A N C E ,L P S T R ,i n t ) ; I n i t A p p l i c a t i o n( H I N S T A N C E ) ; I n i t I n s t a n c e( H I N S T A N C E ,i n t ) ; L R E S U L TL L A M A D AM a i n W n d P r o c( H W N D ,U I N T ,W P A R A M ,L P A R A M ) ; //S o l i c i t u dd ep u n t od ee n t r a d a . i n tW I N A P IW i n M a i n( H I N S T A N C Eh I n s t a n c e ,H I N S T A N C Eh P r e v I n s t a n c e , L P S T Rl p C m d L i n e ,i n tn C m d S h o w ) { M S GM S G ; i f( !I n i t A p p l i c a t i o n( h I n s t a n c e ) ) r e t u r nf a l s e ; i f( !I n i t I n s t a n c e( h I n s t a n c e ,n C m d S h o w ) ) r e t u r nf a l s e ; B O O Lf G o t M e s s a g e ; w h i l e( ( f G o t M e s s a g e=G e t M e s s a g e( &m s g( H W N D )N U L L ,0 ,0 ) ) !=0& &f G o t M e s s a g e !=1 ) { T r a n s l a t e M e s s a g e( &m s g ) ; D i s p a t c h M e s s a g e( &m s g ) ; } v o l v e rm s g . w P a r a m ; U N R E F E R E N C E D _ P A R A M E T E R( l p C m d L i n e ) ; } I n i t A p p l i c a t i o nB O O L( H I N S T A N C Eh I n s t a n c e ) { W N D C L A S S E Xw c x ; //L l e n a rl ae s t r u c t u r ad ec l a s ed ev e n t a n ac o nl o sp a r m e t r o s msdn.microsoft.com/en-us/library/windows/desktop/ms633575(v=vs.85).aspx

1/3

10/09/13

Con clases de ventanas (Windows) //L l e n a rl ae s t r u c t u r ad ec l a s ed ev e n t a n ac o nl o sp a r m e t r o s //Q u ed e s c r i b e nl av e n t a n ap r i n c i p a l .


w c x . c b S i z e=s i z e o f( w c x )//t a m a od el ae s t r u c t u r a w c x . s t y l e=C S _ H R E D R A W| C S _ V R E D R A W//d i b u j a rs il o sc a m b i o sd et a m a o w c x . l p f n W n d P r o c=M a i n W n d P r o c ;//a p u n t aa lp r o c e d i m i e n t od ev e n t a n a w c x . c b C l s E x t r a=0 ;/n or e c u e r d oc l a s ee x t r a/ w c x . c b W n d E x t r a=0 ;/n or e c u e r d o/v e n t a n aa d i c i o n a l w c x . h I n s t a n c e=h I n s t a n c e ,// m a n i p u l a d o rd ei n s t a n c i a w c x . h I c o n=L o a d I c o n( N U L L , I D I _ A P P L I C A T I O N ) ;/a p p/p r e d e f i n i d o .i c o n o w c x . h C u r s o r=L o a d C u r s o r( N U L L , I D C _ A R R O W )f l e c h a//p r e d e f i n i d a w c x . h b r B a c k g r o u n dG e t S t o c k O b j e c t=( W H I T E _ B R U S H ) ;f o n d o//b l a n c oc e p i l l o w c x . l p s z M e n u N a m e=" M a i n M e n u "//n o m b r ed e lr e c u r s od em e n w c x . l p s z C l a s s N a m e=" M a i n W C l a s s "//n o m b r ed ec l a s ed ev e n t a n a w c x . h I c o n S m=L o a d I m a g e( h I n s t a n c e ,/i c o n o/p e q u e ac l a s e M A K E I N T R E S O U R C E( 5 ) , I M A G E _ I C O N , G e t S y s t e m M e t r i c s( S M _ C X S M I C O N ) , G e t S y s t e m M e t r i c s( S M _ C Y S M I C O N ) , L R _ D E F A U L T C O L O R ) ; //S er e g i s t r al ac l a s ed ev e n t a n a . v o l v e rR e g i s t e r C l a s s E x( &w c x ) ; } B O O LI n i t I n s t a n c e( H I N S T A N C Eh I n s t a n c e ,i n tn C m d S h o w ) { H W N Dh w n d ; //G u a r d a re lc o n t e x t od ea p l i c a c i nd ei n s t a n c i a . h i n s t=h I n s t a n c e ; //C r e a rl av e n t a n ap r i n c i p a l . h w n d=C r e a t e W i n d o w( " M a i n W C l a s s " ,// n o m b r ed el ac l a s ed ev e n t a n a ,// C a d e n ad el ab a r r ad et t u l o" m u e s t r a " W S _ O V E R L A P P E D W I N D O W ,v e n t a n a//p r i m e rn i v e l C W _ U S E D E F A U L T ,l ap o s i c i nh o r i z o n t a l//d e f a u l t C W _ U S E D E F A U L T ,/p o s i c i nv e r t i c a l/d e f a u l t C W _ U S E D E F A U L T ,a n c h u r a//d e f a u l t C W _ U S E D E F A U L T ,a l t u r a//d e f a u l t ( H W N D )N U L L ,n oh a yn i n g u n av e n t a n a//p r o p i e t a r i o ( H M E N U )N U L L ,m e n d el ac l a s e//u s o h I n s t a n c e ,// m a n i p u l a d o rd ei n s t a n c i ad ea p l i c a c i n ( L P V O I D )N U L L )//n oh a yd a t o sd el av e n t a n ad ec r e a c i nd e i f( !h w n d ) r e t u r nf a l s e ; //M o s t r a rl av e n t a n aye n v i a ru nm e n s a j eW M _ P A I N Tal av e n t a n a //P r o c e d i m i e n t o . S h o w W i n d o w( h w n d ,n C m d S h o w ) ; U p d a t e W i n d o w( h w n d ) ; r e t u r nt r u e ; }

msdn.microsoft.com/en-us/library/windows/desktop/ms633575(v=vs.85).aspx

2/3

10/09/13

Con clases de ventanas (Windows)


Registro de una clase global de aplicacin es similar al registro de una clase local de aplicacin, salvo que el estilo miembro del WNDCLASSEX estructura debe especificar el CS_GLOBALCLASS estilo.

Enve sus comentarios sobre este tema a Microsoft 06/14/2013: Fecha de la estructura

Adiciones Comunidad

AADIR

C en tros

Sitios relac ion ados desarrollador M ic rosof t C on n ec t . NET Fram ew ork Visu al Stu dio Win dow s P h on e Win dow s Serv er

Desc argas Win dow s 8 De Win dow s SDK para Win dow s 8 Visu al Stu dio Express 2012 T am bin

P rev ia desc argas 8. 1 de Win dow s Vista prev ia Visu al Stu dio Express 2013 P rev iew De Win dow s SDK para Win dow s 8. 1 Vista prev ia

Centro de desarrollo Inicio Aplicaciones de Windows Store Internet Explorer Escritorio Hardware

Fu n dam en tos Otros sitios de Win dow s Em presa L a pequ e a em presa Estu dian tes L os u su arios dom stic os Win dow s 8 A P Is M u estras C om patibilidad y C ertif ic ac in T ablero de esc ritorio

C on ec te c on n osotros Foros Ven tan as A pp Gen erador Blog Opc ion es de soporte

H ola desde Seattle.

Estados Un idos ( In gls)

T rm in os de u so

M arc as c om erc iales

P riv ac idad y C ookies

2013 M ic rosof t

msdn.microsoft.com/en-us/library/windows/desktop/ms633575(v=vs.85).aspx

3/3

You might also like