Récup' le chemin de GetOpenFileName dans un edit [c++] - C++ - Programmation
Marsh Posté le 18-06-2006 à 17:45:02
Phaydrinix a écrit : salut |
2 solutions, qui en fait n'en sont qu'une seule :
- en utilisant la fonction SetDlgItemText()
- en utilisant la fonction SendMessage() avec le message WM_SETTEXT.
pourquoi ces solutions sont en fait qu'une seule ? parce que SetDlgItemText() envoie tout simplement un WM_SETTEXT au controle souhaité.
Phaydrinix a écrit : |
tu parles de la fenêtre de sélection de fichier ? ben c'est normal ! tu as déja vu une fenêtre de sélection de fichier rester affichée quand tu as sélectionné ton fichier toi ?
Marsh Posté le 18-06-2006 à 19:59:49
non je ne parle pas de la fenetre de dialog !! je parle de la fenetre hote...
bon je vais tester SetDlgItemText().
Merci !
Marsh Posté le 18-06-2006 à 20:22:01
Bon je fais un double poste vu qu'il y a une "micro maintenance".
Donc msdn dis que SetDlgItemText ce compose comme sa :BOOL SetDlgItemText(handle dialog box, handle EDIT, valeur retourné si échoué);
Donc je fais :
Code :
|
Et le compilo me sort : initializer expression list treated as compound expression.
...
Marsh Posté le 18-06-2006 à 20:47:17
Salut !
Moi j'avait appris a le faire a partir de ce site :
http://chgi.developpez.com/windows/dlgstd/
Marsh Posté le 18-06-2006 à 21:18:50
Lorsque tu fais cec i
if(GetOpenFileName(&st))
PostQuitMessage(0);
tu demandes à l'appli de se détruire !!!!
Il faut faire
if(GetOpenFileName(&st))
SetDlgItemText(HWnd_Fenetre, ID_EDIT1, st.buffer2);
Marsh Posté le 18-06-2006 à 21:21:05
Phaydrinix a écrit : Bon je fais un double poste vu qu'il y a une "micro maintenance".
|
euh... WM_SETTEXT n'est pas un message que ta fenêtre reçoit hein !
c'est toi qui envoie ce message à ton controle par SendMessage() pour stipuler le texte que tu souhaites y écrire. mais tu n'en as pas besoin si tu
de plus, c'est quoi ce BOOL devant SetDlgItemText ? là je crois qu'il te manque carrément des bases ! et de Win32, et de programmation ! quand on appelle une fonction, on ne met pas son type de retour devant...
Marsh Posté le 19-06-2006 à 17:07:03
Merci tout le monde sa marche.
Juste pour répondre à Harkonnen
Citation : là je crois qu'il te manque carrément des bases ! et de Win32, et de programmation ! quand on appelle une fonction, on ne met pas son type de retour devant... |
Sûr' qu'il me manque des base, si seulement on pouvait les apprendrent au collège sa m'arangerai !! le BAC pour moi c'est pas encore maintenant !!
Marsh Posté le 19-06-2006 à 17:12:35
Phaydrinix a écrit : Sûr' qu'il me manque des base, si seulement on pouvait les apprendrent au collège sa m'arangerai !! le BAC pour moi c'est pas encore maintenant !! |
n'espere pas apprendre la prog à l'école de toute façon, même en classe supérieure. l'expérience d'une grande partie des membres de ce forum tend à prouver que les profs enseignent une très mauvaise façon de programmer, et qu'il vaut mieux apprendre tout seul
Marsh Posté le 20-06-2006 à 11:17:55
La programmation n'a jamais fait partie des programmes de l'Education Nationale.
La philosophie de l'EN a été pendant longtemps que tout le monde était capable de se former seul, était capable d'écrire ses propres programme. On s'est aperçu bien évidemment que c'était faux, mais rien n'a été fait pour la programmation. Les formations dispensées aux professeurs sont des formations sur l'utilisation des logiciels.
Pour le reste, c'est la bonne volonté des profs, avec tout ce que celà comporte comme à-cotés (manque de connaissance, de méthodes ...).
Marsh Posté le 20-06-2006 à 15:56:16
Il n'y a aucune école supérieur qui se spécialise là-dedans ? C'est quand même bizarre... Mais c'est vrai que de faire un cours de programmation serai bien compliqué...
Marsh Posté le 18-06-2006 à 17:08:54
salut
Je fait un programme Win32 en C++ et je me demande comment faire pour que quand on sélectionne un fichier dans la dialog GetOpenFileName celui-ci s'affiche dans un contrôle de type EDIT.
Et j'ai un autre problème, quand je sélectionne le fichier dans la dialog, cela me détruit la fenêtre....
Voici le code :
je sais que le chemin est réprésenter par buffer mais comment le récupérer ?