begin process at 2012 05 29 01:28:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

[c++] boite "ouvrir" mais apres ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[c++] boite "ouvrir" mais apres ?

lundi 25 avril 2005 à 15:35:02 | [c++] boite "ouvrir" mais apres ?

devoX

Bonjours,
J'ai creer une petite interface avec 1 bouton ouvrir et une zone de texte static.
apres avoir afficher une boite de dialog "ouvrir", j'aimerais que le contenu du fichier que je vient d'ouvrir s'affiche dans une zone "static text" est ce possible ? si oui comment fait on svp
je precise que je debute et j'apprend sous Vc++
merci a tous.
lundi 25 avril 2005 à 18:52:32 | Re : [c++] boite "ouvrir" mais apres ?

yoyo269

Membre Club
Grâce à la fenêtre ouvrir, tu obtiens le nom complet du fichier ("C:\....\fichier.ext").
Il faut maintenant ouvrir le fichier avec fopen et ensuite extraire les données qui y sont contenues grâce à fread.
Une fois toutes les données récoltées, t'as plus qu'à afficher dans le static avec SetWindowText.

Voilà, bon courage.

YOYO, @+.
YOYO
mardi 26 avril 2005 à 13:53:20 | Re : [c++] boite "ouvrir" mais apres ?

devoX

je ne parviens pas a le faire avec SetWindowText...ou dois-je la metre cette fonction ?

en faite j'ai fais mon programme  ( il fonctionne ) en mode console, mais ou dois-je metre le code que j'ai creer pour qu'il fonctionne avec l'interface ?

par example la j'entre le nom du fichier a ouvrir, va t'il le stoker dans une variable ? si c'est le cas alors mon code devra faire apel a cette variable, mais ou dois-je metre mon code ? dans la methode OnOuvrir() ....

houlala je pige rien du tout la plz help

merci de votre aide.


mardi 26 avril 2005 à 16:22:33 | Re : [c++] boite "ouvrir" mais apres ?

yoyo269

Membre Club
En mode console tu peux utiliser la fenêtre Ouvrir de windows ?

YOYO, @+.
YOYO
mardi 26 avril 2005 à 19:54:53 | Re : [c++] boite "ouvrir" mais apres ?

thedestiny

C'est bizarre, avant tu voulez utiliser un Static ( API je suppose ? ) et maintenant tu parles de console ?!

Je suis prêt à déposer une source pour t'aider si tu le souhaites mais il faudrait un peu éclaircir l'affaire.

mardi 26 avril 2005 à 20:25:04 | Re : [c++] boite "ouvrir" mais apres ?

devoX

non pas du tout, en faite je vous explique.

Au debut j'ai creer un programme en mode console qui consistait a ouvrir un fichier et a afficher son contenue en hexa, ayant reussit a faire cela en mode console je me suis dis qu'il serai bien de faire une interface avec Vc++....donc je l'ai dessiné, et j'ai commencer par "coder" le fonctionement du bouton ouvrir ( simple coier /coller de msdn.com ) et maintenant je suis bloquer.
J'ai aucune idée de comment refaire en mode graphique ce que j'ai fait en mode console...
J'espere que vous me comprenez 
Merci pour vos reponses.
mardi 26 avril 2005 à 20:51:04 | Re : [c++] boite "ouvrir" mais apres ?

thedestiny

Bien maintenant j'ai compris :)

BOOL LoadFile(HWND hEdit, LPSTR pszFileName)
{
   HANDLE hFile;
   BOOL bSuccess = FALSE;

   hFile = CreateFile(pszFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
      OPEN_EXISTING, 0, 0);              //  On ouvre le fichier pour la lecture
   if(hFile != INVALID_HANDLE_VALUE) 
   {
      DWORD dwFileSize;
      dwFileSize = GetFileSize(hFile, NULL);        // On récupère sa taille
      if(dwFileSize != 0xFFFFFFFF)
      {
         LPSTR pszFileText;
         pszFileText = (LPSTR)GlobalAlloc(GPTR, dwFileSize + 1);   // On prépare
         if(pszFileText != NULL)
         {
            DWORD dwRead;
            if(ReadFile(hFile, pszFileText, dwFileSize, &dwRead, NULL))     // On lit le fichier
            {
               pszFileText[dwFileSize] = 0; // Null terminator
               if(SetWindowText(hEdit, pszFileText))                // On affiche le contenu
                  bSuccess = TRUE;
            }
            GlobalFree(pszFileText);         // On libère
         }
      }
      CloseHandle(hFile);         // On ferme le fichier
   }
   return bSuccess;
}

J'espère que ca sera utile :)

mardi 26 avril 2005 à 20:53:51 | Re : [c++] boite "ouvrir" mais apres ?

yoyo269

Membre Club
Faut que tu revois complètement ton programme, le Win32 et le console ça se mixe pas comme ça.
La plupart des trucs que t'as fait en console tu peux les mettre de côté.
Reprenons.
Je parle uniquement en Win32 :
Est-ce que tu arrives à ouvrir la fenêtre "Ouvrir" de windows et si oui montre moi ton code qui fait cela avec toutes les déclarations qui vont avec ?

YOYO, @+.
YOYO
mardi 26 avril 2005 à 21:00:17 | Re : [c++] boite "ouvrir" mais apres ?

devoX

Oui j'ouvre la fenetre ouvrir en cliquant sur un bouton que j'ai fais.
voici le code :

void CProjetDlg::OnOuvrir()
{
 CString OpenFilter;
OpenFilter = "Text File (*.txt)|*.txt||";

CFileDialog FileOpenDialog(
      TRUE,
      NULL,
      NULL,
      OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_PATHMUSTEXIST,
      OpenFilter,                       // filter
      AfxGetMainWnd());               // the parent window
if(FileOpenDialog.DoModal()==IDOK)
    {
        CFile File;
        VERIFY(File.Open(FileOpenDialog.GetPathName(),CFile::modeRead));
    }
 
}

c'est du copier/coller de www.msdn.com

mardi 26 avril 2005 à 21:24:48 | Re : [c++] boite "ouvrir" mais apres ?

devoX

merci thedestiny mais je fais quoi avec ce code, je le met ou ? car en creeant les fenetres je me retrouve avec plin de .cpp et de .h

d'autre part dans BOOL LoadFile(HWND hEdit, LPSTR pszFileName)

Quel sont les type passés en parametres...je n'ai jamais vu ca ( HWND et LPSTR)

merci.


1 2

Cette discussion est classée dans : ouvrir, static, boite, zone, apres


Répondre à ce message

Sujets en rapport avec ce message

Boite de dialogue pour imprimer ??? [ par darkjck ] Savez vous si il existe une fonction pour ouvrir une boite de dialogue pour l'imprimante pour une application Win32 ? un peu comme celle pour ouvrir o comment forcer une boite de dialogue "ouvrir" ou "enregistrer sous" au premier plan [ par nixon666 ] Je crèe une boite de dialogue "ouvrir" ou "enregistrer sous" avec la commande GetOpenFileName et GetSaveFileName, mais lorsque j'exécute la première f Ouvrir un fichier à la "Windows" [ par CyberP ] Comment afficher la boite de dialogue de choix de fichier classique de windows ? (ex : dans Word, si l'on fait fichier -> ouvrir, une boite de dialogu transparence [ par trif ] J'ai une zone de type STATIC qui contient une image.je n'arrive pas a ecrire par dessus.j'ai essayé de superposer une autre zone STATIC qui contient l Ouvrir Boite de Dialog sans rendre la main [ par glipper ] Bonjour,Je voudrais qu'une de mes fonctions de mon programme ouvre une boite de dialog, mais tout en continuant à s'executer... pour le moment, lorsqu fermeture de boite de dialogue [ par gus2647 ] Bonjour,Je voudrais ouvrir une boite de dialogue a partir d une methode et la fermer a la fin de la methodepour l instant j arrive a l ouvrir mais pas Boite De Dialogue "Ouvrir" [ par LordBob ] Bonjour a tous,voila j'essaie de faire une boite de dialogue de type "Ouvrir", j'ai donc cela comme code:BOOL dlgFileOpen(HWND hOwner, char* fName, co Les boite de dialogue standard (classe CCommunDialog) [ par gagaet22 ] Bonjour à tous et merci de votre attention !!J utilise la Boite standard Ouvrir pour me donner une adresse. Mais j aimerais bien la configurer, affich Zone graphique dans boite dialogue [ par goutbouyo ] Salut,Je me suis fait un petit générateur de map et j'aimerais bien insérer une zone graphique dans ma boite de dialogue pour voir le rendu de ma map boite ouvrir/enregistrer sans mfc ? [ par devoX ] bonjours a tous, je souhaiterais faire apparaitre une boite de dialogue ouvrir/enregistrer lors de l'appuis sur les boutons correspondants...cela sans


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,026 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales