Passage d'une variable par des dialogbox

Soyez le premier à donner votre avis sur cette source.

Vue 5 932 fois - Téléchargée 499 fois

Description

Je suis novice en C++, j'ai appris récemment à faire des fenêtres et DialogBox, et comme j'ai mis a peu près 3 ou 4 semaines pour un peu comprendre, alors j'ai pensé que ce petit programme allait aider des novices comme moi ^_^ à comprendre plus vite.
C'est juste pour voir l'utilisation des DialogBox.

Conclusion :


Pas de BUG connu, réalisé avec Visual C++.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
y4ri > faut faire un projet win32 APP GUI et non console.
Messages postés
5
Date d'inscription
jeudi 4 novembre 2004
Statut
Membre
Dernière intervention
30 avril 2009

Svp aide moi chui un debutant , quand je compile pa de probleme mais quand j'execute , build , il me mé se message d'erreur
--------------------Configuration: main - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/main.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

main.exe - 2 error(s), 0 warning(s)


quesqu'il fau faire aidé moi svp
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
multiple de 4 est pour un alignement correct des donnees, 'normalement' le compilo devrait corriger cela lui meme mais il vaut mieux prendre l'habitude de faire bien par soi meme. Un mauvais alignement entraine d'enormes pertes de performances.
Ceci est du a l'architecture des x86, si on veut lire/ecrire 1 octet, la donnee visee peut se trouver ou l'on veut, si on accede a 2 octets alignement sur multiple de 2, si 4 aligne sur multi de 4.
Messages postés
173
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
22 août 2008

Juste par curiosité, pour les buffers dont la taille est un multiple de 4, je suppose, que l' on y gagne niveau perfs, mais il se passe quoi au juste (pour que ca aille plus vite ) ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Salut,

il y a aussi les sources des bouquins indiques plus haut:
http://brunews.free.fr/brunews/download/CP5Sources.zip
http://brunews.free.fr/brunews/download/JR4Sources.zip

Commence par Petzold (CP5) et toujours MSDN en reference ultime.

inutile de decomposer wParam si tu ne traites que des clics buttons, la partie haute(HIWORD) sera toujours 0.
Evite declarations de variables dans la proc de fenetre, celle ci traitera ses messages beaucoup plus vite.
char buff[501]; NON toujours multiple de 4 sur processeur 32 bits, besoin de 501 sera donc 504.
Dans une dialog, traite WM_INITDIALOG et retourne 1 qui sert a placer correctement le focus, quasi tous les autres cas doivent retourner 0.
Verifier si texte a ete entre, nbr caracteres en retour de GetDlgItemText.

char buff[504];

LRESULT CALLBACK MainProc(HWND Dlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message) {
case WM_INITDIALOG:
// autre code d'initialisation ici
return 1;
case WM_COMMAND:
switch(wParam) {
case IDOK: //Clique sur le bouton OK de la boîte de dialogue
//Boîte de message qui affiche le contenu de buff
if(GetDlgItemText(Dlg, IDC_ELEMENT1, buff, 500))
MessageBox(Dlg, buff, "Contenu de ELEMENT1", MB_OK);
return 0;
case IDCANCEL:
EndDialog(Dlg, 0);
}
}
return 0;
}

Bonne continuation.
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.