OVH Cloud OVH Cloud

interface graphique exotique

2 réponses
Avatar
françois M.
bonjour,

Je voudrais savoir comment les programmes ayant des interfaces graphiques
particulières ( genre winamp, bsplayer, powerdvd ) sont programmés. D'après
ce que je sais de la programmation GUI windows, je pense qu'il doivent
attraper des messages du style WM_PAINT, WN_NCPAINT et appliquer leurs
propres routines de dessin mais je suis pas sûr.
Si vous pouviez éclairer un peu ma lanterne sur ce point, ça serait gentil.

2 réponses

Avatar
Manuel Leclerc
françois M a écrit :

bonjour,

Je voudrais savoir comment les programmes ayant des
interfaces graphiques particulières ( genre winamp,
bsplayer, powerdvd ) sont programmés. D'après ce que je
sais de la programmation GUI windows, je pense qu'il doivent
attraper des messages du style WM_PAINT, WN_NCPAINT et
appliquer leurs propres routines de dessin mais je suis
pas sûr. Si vous pouviez éclairer un peu ma lanterne sur
ce point, ça serait gentil.



RegisterClass
CreateWindow
GetMessage
DispatchMessage

Quand tu comprends ça, tu comprends tout :-)
Tu peux commencer là :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing.asp?frame=true

et surtout les chapitres "Window Classes", "Window Procedures",
"Window Properties" et "Windows"

Tu as aussi un programme "type" ici:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/generic_c.asp

manuel leclerc
Avatar
Christian ASTOR
françois M. a écrit:

Je voudrais savoir comment les programmes ayant des interfaces graphiques
particulières ( genre winamp, bsplayer, powerdvd ) sont programmés. D'après
ce que je sais de la programmation GUI windows, je pense qu'il doivent
attraper des messages du style WM_PAINT, WN_NCPAINT et appliquer leurs
propres routines de dessin mais je suis pas sûr.
Si vous pouviez éclairer un peu ma lanterne sur ce point, ça serait gentil.



Bitmap => Region => boucle CreateRectRgn()-CombineRgn() puis SetWindowRgn()
Bientôt 10 ans que ça existe...