Fenetre dans une SDI

fr_ed_er_ic Messages postés 20 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 25 août 2005 - 25 juin 2004 à 16:34
fr_ed_er_ic Messages postés 20 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 25 août 2005 - 30 juin 2004 à 09:34
salut a tous

je débute en visual C++, donc j'ai commencé par faire des dialog box avec des boutons, des listbox ... et maintenant je voudrais faire la meme chose mais dans une fenetre d'un SDI. J'ai créé mon projet, mais j en'arrive pas a dessiner dans la fenetre.

Y aurait il quelqu'un qui puisse me donner la marche a suivre pour réalisé cette opération car je m'en sort pas tout seul.

merci d'avance pour votre aide.

fred

4 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
25 juin 2004 à 17:57
salut

quand tu es dans la WndProc avec le message WM_PAINT, tu mets :

PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd_de_ta_fenetre, &ps);
/* puis tu mets les fonctions de dessin, par ex :
MoveToEx,BitBlt,LineTo,Rectangle,Chord,Ellipse,RoundRect
avec hdc comme premier parametre */
//enfin tu mets :
EndPaint(hWnd_de_ta_fenetre, &ps);

si c suite à un autre message que WM_PAINT (tu ne peux pas utiliser BeginPaint...EndPaint), tu mets :

HDC hdc = GetDC(hWnd_de_ta_fenetre);
/* puis tu mets les fonctions de dessin, par ex :
MoveToEx,BitBlt,LineTo,Rectangle,Chord,Ellipse,RoundRect
avec hdc comme premier parametre */
//enfin tu mets :
ReleaseDC(hWnd_de_ta_fenetre, hdc);

si tu veux mettre un controle sur ta fenetre tu le fais avec CreateWindow avec :
- lpClassName du genre de "Edit", "Static",...
- x,y : la position de ton controle
- hWndParent = hWnd_de_ta_fenetre
- hMenu = NULL

voilà

ShareVB
0
fr_ed_er_ic Messages postés 20 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 25 août 2005
28 juin 2004 à 10:14
merci pour la réponse mais j'ai pas tout compris.
tout d'abord j'ai pas de WinProc. Si je dois la créer je voudrai savoir a quoi ca sert.
Ensuite je veux mettre dans la fenetre une listbox et j'ai regarder les parametres de CreateWindow et je sais pas a quoi correspond:

LPCTSTR lpClassName,
LPCTSTR lpWindowName,
HWND hWndParent,
HANDLE hInstance,
LPVOID lpParam

si quelqu'un peut m'aider, je le remercie d'avance

fred
_______________________________________
Les erreurs sont les portes de la découverte.
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
29 juin 2004 à 17:55
salut

si tu n'as pas de WndProc(hWnd,Msg,wParam,lParam c que tu utilises MFC sinon tu doit avoir une boucle de message et un procédure de traitement... recherche sur MSDN, regarde dans des livres, la programmation en Win32 ca n'est malheuresement pas si facile et évident

lpClassName : c'est la classe de fenetre (par ex : edit pour un EditBox(zone de texte éditable), COMBOBOX pour un combo, LISTBOX pour un listbox ou Static pour une zone de texte non éditable)

lpWindowName : c'est le titre de ta fenetre si c'est une fenetre ou le texte affiché dans le contrôle si c un contrôle

hWndParent : c'est le handle de la fenetre ou contrôle qui doit etre le parent de la fenetre à créer (ca permet de positionner la nouvelle fenetre par rpt à la fenetre parent entre autre) par ex : la fenetre IE est parent de ses barres d'outils...

hInstance : c'est le handle de l'instance du prog (permet de différencier deux fois le même prog entre autre). Il est donné dans le point d'entrée du prog (WinMain)

lpParam : c'est un parametre à passer eventuellement à la procédure de message (WndProc)

enfin un conseil : achète toi un livre comme "La Bible du programmeur C/C++/C#" (ou autre) et lis le... ca donne les bases nécessaires...

voilà

ShareVB
0
fr_ed_er_ic Messages postés 20 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 25 août 2005
30 juin 2004 à 09:34
merci pour les infos

fred
_______________________________________
Les erreurs sont les portes de la découverte.
0