IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Liste & boite dealog


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par défaut Liste & boite dealog
    bonjour
    svp j'ai crée une boite de dialog qui contient une liste , un button pour afficher l'image choisit ds la liste et le button pour l'affichage
    j'ai rencontré un pb au lecture de String selectioné ds la liste:
    j'ai écrit ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    char* g_szCimageMarquesTitles[] =
    {
    	"c:\\Marques\\marque32.bmp",
    	"c:\\Marques\\marque64.bmp",
    	"c:\\Marques\\marque128.bmp",
    	"c:\\Marques\\marque256.bmp",
    	"c:\\Marques\\marque512.bmp"
    };
     
    BOOL CContrasteDlg::OnInitDialog() 
    {
    	CDialog::OnInitDialog();
    		SetDlgItemInt(IDC_LARG, 0);
    	SetDlgItemInt(IDC_HAUT, 0);
    	SetDlgItemInt(IDC_INITGEN, 0);
     
     
    for(int i=0; i<(sizeof(g_szCimageMarquesTitles)/sizeof(g_szCimageMarquesTitles[0])); i++)
    		((CListBox*)GetDlgItem(IDC_MARQUES_CIMAGE))->AddString(g_szCimageMarquesTitles[i]);
     
     
    	return TRUE;  // return TRUE unless you set the focus to a control
    	              // EXCEPTION: OCX Property Pages should return FALSE
    }
     
    // ici ou je bloc!!!!!!!!!!
     
     
    void CContrasteDlg::OnAffchmarq() 
    {
    	// TODO: Add your control notification handler code here
    		char* Listemarqu = GetDlgItem(IDC_MARQUES_CIMAGE)->GetCurSel();
    	//CString Listemarque = GetDlgItemInt(IDC_MARQUES_CIMAGE);
    	//	m_image.LoadFile("c:\\Marques\\marque128.bmp");
    		m_image.LoadFile(Listemarque);
    		GetDlgItem(IDC_IMAGE)->InvalidateRect(NULL);
    }
    il m'affiche cet erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dlg.cpp(739) : error C2039: 'GetCurSel' : is not a member of 'CWnd'
    est ce qq1 peut m'aider!!!!!!!!!

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    cet ID "IDC_MARQUES_CIMAGE", il correspond à quel type de contrôle ?

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Si j'ai bien compris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char* Listemarqu
     = static_cast< CListBox * >(GetDlgItem(IDC_MARQUES_CIMAGE))->GetCurSel();
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre éclairé Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par défaut
    IDC_MARQUES_CIMAGE", correspond au controle ListeBox

  5. #5
    Membre éclairé Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par défaut
    j'ar ecrit ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void CContrasteDlg::OnAffchmarq() 
    {
    	// TODO: Add your control notification handler code here
    		CString Listemarque= static_cast< CListBox * >(GetDlgItem(IDC_MARQUES_CIMAGE))->GetCurSel();
    		m_image.LoadFile(Listemarque);
    		GetDlgItem(IDC_IMAGE)->InvalidateRect(NULL);
    }
    mais qd j'exécute rien ne s'affiche
    par contre qd j'ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	m_image.LoadFile("c:\\Marques\\marque128.bmp");
    la marque128.bmp s'affiche
    ????????

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    il serait quand même plus aisé d'associer une variable contrôle a ta listbox plutôt que de se balader avec des cast de partout..
    apres GetCurSel renvoie l'index de l'item selectionnée pas la chaine !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CString Listemarque;
    int n= static_cast< CListBox * >(GetDlgItem(IDC_MARQUES_CIMAGE))->GetCurSel();
            m_image.LoadFile(Listemarque);
    iif(n!=LB_ERR) static_cast< CListBox * >(GetDlgItem(IDC_MARQUES_CIMAGE))->GetText(n,Listemarque);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB]Afficher une liste dans une boite de dialogue
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 05/04/2006, 11h30
  2. [MySQL] Récupérer 2 variables issues d'une boite liste
    Par alain31tl dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/03/2006, 04h17
  3. (MFC) Redimensionner une List Control auto / Boite Dlg
    Par Guybrush113 dans le forum MFC
    Réponses: 7
    Dernier message: 23/04/2004, 09h24
  4. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10
  5. [BP7]Tri de boîte liste Windows
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 11/05/2003, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo