[C/C++] Common Dialog Box: GetOpenFileName, aucun effet...

Common Dialog Box: GetOpenFileName, aucun effet... [C/C++] - C++ - Programmation

Marsh Posté le 24-02-2003 à 20:01:53    

  Salut,
 
voila le code qui pose problème:
 

Code :
  1. OPENFILENAME ofn;
  2. char buf[255];
  3. ZeroMemory(&ofn, sizeof(OPENFILENAME));
  4. ofn.lStructSize = sizeof(OPENFILENAME);
  5. ofn.hwndOwner = h;
  6. ofn.lpstrFile = buf;
  7. ofn.nMaxFile = sizeof(buf);
  8. ofn.lpstrFilter = "All\0*.*\0";
  9. ofn.nFilterIndex = 1;
  10. ofn.lpstrFileTitle = NULL;
  11. ofn.nMaxFileTitle = 0;
  12. ofn.lpstrInitialDir = NULL;
  13. ofn.Flags = OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST|OFN_NONETWORKBUTTON;
  14. ofn.lpstrTitle = "Choose the file";
  15. if(GetOpenFileName(&ofn) == TRUE)
  16. {
  17. //...
  18. }


 
Quand ce code est exécuté ça ne fait rien, aucune dialog ne s'ouvre... (pas d'erreur de compilation) ?
 
merci
  ANT

Reply

Marsh Posté le 24-02-2003 à 20:01:53   

Reply

Marsh Posté le 24-02-2003 à 20:36:27    

Un petit extrait de la MSDN :
"The GetOpenFileName and GetSaveFileName functions return FALSE if the buffer is too small to contain the file information. The buffer should be at least 256 characters long."
 
De plus, si tu regardes bien, c'est des TCHARs qui sont demandés. Cela n'a pas d'influences en MBCS mais ton code ne marchera plus en UNICODE.
 
Si c'est pas ça, regarde le résultat de la fonction CommDlgExtendedError pour savoir ce qui cloche.
 
--edit--
correction de tags


Message édité par gatorette le 24-02-2003 à 20:39:15

---------------
each day I don't die is cheating
Reply

Marsh Posté le 24-02-2003 à 20:42:23    

ok merci, d'ailleur char x[257] au minimum

Reply

Sujets relatifs:

Leave a Replay

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