Api Windows : Cherche code complet pour GetOpenFileName(...)

Api Windows : Cherche code complet pour GetOpenFileName(...) - C++ - Programmation

Marsh Posté le 01-08-2005 à 17:26:01    

Bonjour !
je n'arrive pas a utiliser cette fonction  :??:  
je cherche un code (en entier) qui montre son utilisation .
Merci
++

Reply

Marsh Posté le 01-08-2005 à 17:26:01   

Reply

Marsh Posté le 01-08-2005 à 17:28:38    

Reply

Marsh Posté le 01-08-2005 à 17:39:25    

Justement c'est la le probleme je n'arrive pas a la faire marcher  :heink:  
la fenetre ne s'affiche pas

Reply

Marsh Posté le 01-08-2005 à 18:01:03    

Montres ton code


Message édité par slash33 le 01-08-2005 à 18:01:24
Reply

Marsh Posté le 01-08-2005 à 20:02:55    

C'est sur une boite de dialogue on appuie sur le bouton "ok" ca doit afficher la boite parcourrir qaund on appuit sur le bouton ok de la boite parcourrir ca doit fermer les 2 boites de dialogue :
 

Code :
  1. // dans la LRESULT CALLBACK MaProc(...)
  2. case IDC_OK:
  3.  OPENFILENAME st;
  4.  char buffer2[256];
  5.  buffer2[0] = ' ';
  6.  memset(&st,0,sizeof(OPENFILENAME));
  7.  st.lStructSize    = sizeof(OPENFILENAME);
  8.  st.hwndOwner    = NULL;
  9.  st.lpstrFilter    = "Images*.bmp;*.jpeg";
  10.  st.lpstrFile    = buffer2;
  11.  st.nMaxFile    = 255;
  12.  st.lpstrTitle    = "Recherche d'images";
  13.  st.Flags    = NULL;
  14.  st.lpstrInitialDir = NULL;
  15.  if(GetOpenFileName(&st));   // renvoie TRUE quand on clique sur ok de parcourrir
  16.     PostQuitMessage(0);
  17.  return FALSE;


 
jai le resultat suivant : je clique sur le 1er ok la boite e dialogue se ferme voila

Reply

Marsh Posté le 02-08-2005 à 08:56:36    

Ce code là me paraît suspect:

Code :
  1. if(GetOpenFileName(&st));   //  oh le ; en trop qui fait qu'aucun test n'est fait et que PostQuiMessage(0) est TOUJOURS appelée!
  2.             PostQuitMessage(0);

Reply

Marsh Posté le 02-08-2005 à 09:56:33    

oui c'est une erreur  :whistle:  
 
mais ca ne marchait toujours pas ... mais jai trouvé  :bounce:
 

Code :
  1. buffer2[0] = '\0';     // c'était ca


 
Merci de ton aide tu ma permis de retrouver une erreur  :jap:  

Reply

Marsh Posté le 02-08-2005 à 11:02:33    

Oups j'avais pas vu l'erreur...
Ca devais faire quelque chose de pas catholique dans la mémoire.

Reply

Marsh Posté le 02-08-2005 à 11:03:41    

A la place de 256, tu devrais plutôt utiliser le #define MAX_PATH

Reply

Marsh Posté le 02-08-2005 à 13:02:18    

c'est ce que jai fais ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed