18/01/2007, 07:42
Bonjour tout le monde ! J'ai zappé hier !
Bon allez pour me rattraper je mets deux fonctions en ligne aujourd'hui : creerBoutonsFiche et creerEditFiche.
Création des boutons de la fiche :

rien de bien nouveau ici. j'ai mis les coordonnã©es des boutons dans un tableau pour allã©ger le code simplement.
il y a deux sortes de boutons. les boutons normaux sur lesquels ont clique pour obtenir une rã©ponse, les groupe, qui n'ont
ici qu'une valeur esthã©tique.
passons ã la crã©ation des contrã´les d'ã©dition :

Ici, il y a plusieurs styles de contrôle d'édition représentés.
- un style normal,
- un style ou l'affichage ne se fait qu'en majuscules pour le nom,
- un style ou l'on ne peut afficher que des nombres pour les numéros de téléphones, le numéro de la rue et le code postal.
- un style ou le texte peut défiler horizontalement pour les mails
- un style multi-lignes pour la note.
Bon allez pour me rattraper je mets deux fonctions en ligne aujourd'hui : creerBoutonsFiche et creerEditFiche.
Création des boutons de la fiche :

Code C :
void creerboutonsfiche(hwnd hwndfiche,bouton *p_bouton)
{
long largeur=0,hauteur=0;
long coorb[11][4],i=0;
char nom[3][20]={"modifier","fermer","enregistrer"};
dimfenetre (&largeur,&hauteur);
//bouton nul pour activer le curseur (setclasslong de la procedure) pour plus tard si on configure ã©galement me curseur
p_bouton->hbouton[0]= createwindow("button","",bs_groupbox |ws_child| bs_center,
coorb[0][0],coorb[0][1],coorb[0][2],coorb[0][3],hwndfiche,null,hinstance,null);
i=1,coorb[i][0]=largeur/50, coorb[i][1]=hauteur/200,coorb[i][2]=(27*largeur)/50,coorb[i][3]=(5*hauteur)/50;
i=2,coorb[i][0]=largeur/50, coorb[i][1]=(hauteur*5)/50,coorb[i][2]=(48*largeur)/50,coorb[i][3]=(7*hauteur)/50;
i=3,coorb[i][0]=largeur/50, coorb[i][1]=3+(hauteur*12)/50,coorb[i][2]=(48*largeur)/50,coorb[i][3]=-5+(7*hauteur)/50;
i=4,coorb[i][0]=largeur/50, coorb[i][1]=(hauteur*19)/50,coorb[i][2]=(33*largeur)/50,coorb[i][3]=(14*hauteur)/50;
i=5,coorb[i][0]=(35*largeur)/50, coorb[i][1]=(hauteur*19)/50,coorb[i][2]=(14*largeur)/50,coorb[i][3]=(14*hauteur)/50;
i=6,coorb[i][0]=largeur/50, coorb[i][1]=(hauteur*33)/50,coorb[i][2]=(48*largeur)/50,coorb[i][3]=(13*hauteur)/50;
i=7,coorb[i][0]=(largeur*36)/50, coorb[i][1]=(hauteur*31)/50,coorb[i][2]=(largeur*12)/50,coorb[i][3]=15;
i=8,coorb[i][0]=(largeur*15)/50, coorb[i][1]=(47*hauteur)/50,coorb[i][2]=(10*largeur)/50,coorb[i][3]=2*hauteur/50;
i=9,coorb[i][0]=(largeur*27)/50, coorb[i][1]=(47*hauteur)/50,coorb[i][2]=(10*largeur)/50,coorb[i][3]=2*hauteur/50;
for (i=1;i<7;i++)
{
p_bouton->hbouton[i]= createwindow("button","",bs_groupbox |ws_child | ws_visible | bs_center,
coorb[i][0],coorb[i][1],coorb[i][2],coorb[i][3],hwndfiche,null,null,null);
}
for (i=7;i<10;i++)
{
p_bouton->hbouton[i] = createwindow("button",nom[i-7],
ws_visible | ws_child | bs_pushbutton , //| bs_ownerdraw ,
coorb[i][0],coorb[i][1],coorb[i][2],coorb[i][3],hwndfiche,null,null,null);
}
}
rien de bien nouveau ici. j'ai mis les coordonnã©es des boutons dans un tableau pour allã©ger le code simplement.
il y a deux sortes de boutons. les boutons normaux sur lesquels ont clique pour obtenir une rã©ponse, les groupe, qui n'ont
ici qu'une valeur esthã©tique.
passons ã la crã©ation des contrã´les d'ã©dition :

Code C :
void creereditfiche(hwnd hwndfiche,bouton *p_edit)
{
long largeur=0,hauteur=0,i=0;
long coore[13][5];
dword style[13]={0};
dimfenetre (&largeur,&hauteur);
i=0,coore[i][0]=(8*largeur)/50, coore[i][1]= -2+(7*hauteur)/50,coore[i][2]=(40*largeur)/50,coore[i][3]=20, coore[i][4]=1;
i=1,coore[i][0]=(8*largeur)/50, coore[i][1]=(9*hauteur)/50,coore[i][2]=(40*largeur)/50,coore[i][3]=20, coore[i][4]=0;
i=2,coore[i][0]=(6*largeur)/50, coore[i][1]=-2+(14*hauteur)/50,coore[i][2]=(6*largeur)/50,coore[i][3]=20,coore[i][4]=2;
i=3,coore[i][0]=(17*largeur)/50, coore[i][1]=-2+(14*hauteur)/50,coore[i][2]=(31*largeur)/50,coore[i][3]=20,coore[i][4]=0;
i=4,coore[i][0]=(6*largeur)/50, coore[i][1]=(16*hauteur)/50,coore[i][2]=(6*largeur)/50,coore[i][3]=20,coore[i][4]=2;
i=5,coore[i][0]=(20*largeur)/50, coore[i][1]=(16*hauteur)/50,coore[i][2]=(28*largeur)/50,coore[i][3]=20,coore[i][4]=1;
i=6,coore[i][0]=(11*largeur)/50, coore[i][1]=(21*hauteur)/50,coore[i][2]=(12*largeur)/50,coore[i][3]=15,coore[i][4]=2;
i=7,coore[i][0]=(11*largeur)/50, coore[i][1]=(23*hauteur)/50,coore[i][2]=(12*largeur)/50,coore[i][3]=15,coore[i][4]=2;
i=8,coore[i][0]=(11*largeur)/50, coore[i][1]=(25*hauteur)/50,coore[i][2]=(12*largeur)/50,coore[i][3]=15,coore[i][4]=2;
i=9,coore[i][0]=(9*largeur)/50, coore[i][1]=(27*hauteur)/50,coore[i][2]=(24*largeur)/50,coore[i][3]=15,coore[i][4]=3;
i=10,coore[i][0]=(9*largeur)/50, coore[i][1]=(29*hauteur)/50,coore[i][2]=(24*largeur)/50,coore[i][3]=15,coore[i][4]=3;
i=11,coore[i][0]=(9*largeur)/50, coore[i][1]=(31*hauteur)/50,coore[i][2]=(24*largeur)/50,coore[i][3]=15,coore[i][4]=3;
i=12,coore[i][0]=(2*largeur)/50, coore[i][1]=5+(38*hauteur)/50,coore[i][2]=(46*largeur)/50,coore[i][3]=(7*hauteur)/50,coore[i][4]=4;
for(i=0;i<13;i++)
{
if (coore[i][4]==0 ) {style[i]=ws_visible | ws_child|ws_tabstop |ws_border ;}
if (coore[i][4]==1 ) {style[i]=ws_visible | ws_child|ws_tabstop |ws_border | es_uppercase ;}
if (coore[i][4]==2 ) {style[i]=ws_visible | ws_child |ws_tabstop |ws_border |es_number;}
if (coore[i][4]==3 ) {style[i]=ws_visible | ws_child|ws_tabstop |ws_border |es_autohscroll ;}
if (coore[i][4]==4 ) {style[i]=ws_visible | ws_child|ws_tabstop |ws_border|es_autovscroll|es_multiline ;}
p_edit->hedit[i] =createwindow( "edit","",style[i],
coore[i][0],coore[i][1],coore[i][2],coore[i][3],hwndfiche,null,null, null);
}
}
Ici, il y a plusieurs styles de contrôle d'édition représentés.
- un style normal,
- un style ou l'affichage ne se fait qu'en majuscules pour le nom,
- un style ou l'on ne peut afficher que des nombres pour les numéros de téléphones, le numéro de la rue et le code postal.
- un style ou le texte peut défiler horizontalement pour les mails
- un style multi-lignes pour la note.






