Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : OPENFILENAME [ Archives / Au secours ] (mat74)

mercredi 1 février 2006 à 18:40:33 | OPENFILENAME

mat74

salut à tous,

voila je voudrais ouvrir une boite dialogue pour enregistrer un fichier, récupérer la valeur de type, et rajouter un bouton suivant la valeur de type.
j'utilise OPENFILNAME avec un CALLBACK mais je sais pas trop comment gérer le CALLBACK. Es-ce que quelqu'un connait un exemple ou pourrai m'expliquer ?

[Code]
UINT_PTR CALLBACK OFNHookProc(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM lParam)
{
 LPOFNOTIFY lpOfNotify;
 switch (uiMsg)
 {
  case CDN_TYPECHANGE:
  {
   lpOfNotify = (LPOFNOTIFY) lParam;
   char msg[1024];
   sprintf (msg,"%d",lpOfNotify->hdr.idFrom);
   SetWindowText (hWnd_global,msg);
   return false;
   }
  default:
   return false;
 }
}

BOOL Explorer_Fichier (HWND hWnd,char *type,char *nom_fichier,char *nom_fenetre,char *filtre)
{
 // on met tte la chaine nom_fichier à 0
 memset (nom_fichier,0,sizeof(nom_fichier));
 // la classe à passer en param
 OPENFILENAME ofn;
 ofn.lStructSize       = sizeof(OPENFILENAME);
 ofn.hwndOwner       = hWnd;
 ofn.hInstance       = 0;
 ofn.lpstrFilter       = filtre;
 ofn.lpstrFile       = nom_fichier;
 ofn.lpstrCustomFilter= 0;
 ofn.lpstrFileTitle     = 0;
 ofn.nFileExtension    = 0;
 ofn.nFileOffset       = 0;
 ofn.lCustData       = 0;
 ofn.lpTemplateName    = 0;
 ofn.lpstrInitialDir  = 0;
 ofn.lpstrDefExt       = 0;
 ofn.lpfnHook       = 0;
 ofn.nFileExtension    = 0;
 ofn.nFileExtension    = 0;
 ofn.nMaxCustFilter    = 0;
 ofn.nMaxFileTitle    = 0;
 ofn.nFilterIndex    = 1;
 ofn.nMaxFile       = MAX_PATH;
 ofn.lpstrTitle       = nom_fenetre;
 ofn.Flags          = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_NOCHANGEDIR;

 BOOL ret;
 if (!strcmp(type,"charger"))
  ret = GetOpenFileName (&ofn);
 else if (!strcmp(type,"enregistrer"))
 {
  ofn.lpfnHook    = (LPCCHOOKPROC)OFNHookProc;
 //      ofn.lpTemplateName = MAKEINTRESOURCE(IDD_CHARGER_RAW);
  ofn.Flags      |= OFN_ENABLEHOOK|OFN_EXPLORER/*|OFN_ENABLETEMPLATE*/;
  ret = GetSaveFileName (&ofn);
 }
 else
  ret = false;
 return ret;
}
[/code]

mercredi 1 février 2006 à 19:15:36 | Re : OPENFILENAME

BruNews

Administrateur CodeS-SourceS
Exemple de OFNHookProc() ici:
SELECTEUR IMAGE + APERCU (WIN32)
http://www.cppfrance.com/code.aspx?id=10644

ciao...
[ Lien ]
BruNews, MVP VC++



Cette discussion est classé dans : fichier, type, hwnd, ofn, lpofnotify


Répondre à ce message

Sujets en rapport avec ce message

Récupérer séparément Nom et Chemin d'un fichier [ par cartes1 ] BonjourAvec Visual studio C++ 6 en Api pur, je n'arrive pas à récupérer séparément le nom d'un fichier d'un côté et le chemin de l'autre ( sans le nom Problème de récupération de chemin valide [ par piroman14 ] Noobinho is back!!!Je souhaite faire une interface graphique pour un programme que j'ai fait en console et qui marchait correctement.La seule saisie à Problème pour iconiser une application [ par piroman14 ] Noobinho one again!!Bonjour tout le monde!Je serais très reconnaissant si vous pouviez m'aiguiller pour ce programme.Je souhaite iconiser mon applicat besoin d'aide cpp & flash [ par ced73 ] bonjour bonjour ^^ Cela va surement paraitre ridicule, mais il y deux ou trois trucs ou je sèche. Je cherche à charger un flash (.swf) dans une fe probleme d'ouverture [ par catamenia ] bonjours, mon but est d'ouvrir un fichier.voici mon code :void CRobot1Doc::OnFileOpen()   {   CString c = "C:\\RobotEriccUsers\\";     CFileDialog tes insertion dans un fichier [ par imanedaoudi ] Bonjour, Je cherche à inserer des donner de type Region dans un fichier binaire à un position bien choisi j'ai utiliser la fonction suivante: void Reg eNVIYER DES MESSAGES DANS UNE FENËTRE HeDIT [ par piroman14 ] Bonjour je souhaiterais envoyer des messages au moyen de la fonction SendMessage dans la fenêtre déjà existante hEdit.L'aide n'est pas très fournie. J QWORD ? [ par Ziman ] Bonjour,j'aimerai récupérer la taille d'un fichier, j'utilise donc GetFileSize() après l'avoir ouvert avec CreateFile(). Pour les petits fichiers, ben recuperer le message derreur excel en automation [ par avengerfrance ] Bonjour à tous ! Je souhaite recuperer le message que fait excel quand il ouvre un fichier HS (header xls ok mais contenu foireu... ou autre). J'ai fa mettre un type"record" comme clé dans un map (C++) [ par babyboo1107 ] Bonjour,Voilà j'ai un type fichier qui est un record (string nom, __int64 taille,FILETIME date) j'aimerai créer un map mais il n'accepte pas que je lu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.