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

MFC Discussion :

probleme d'effet inverse avec les spinup automatique.


Sujet :

MFC

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut probleme d'effet inverse avec les spinup automatique.
    Je veux qu'un spin puisse incrémenter/désincrementé un champ edit au format int automatiquement.

    Je trouve la réponse à ma question dans la faq :

    http://c.developpez.com/faq/vc/?page...pinUpAutoBuddy

    J'essaye, ca marche, sauf que j'obtient le resultat inverse de celui souhaité :

    quand je clique sur la fleche vers le haut, ca me désincrement et vis et versa . Et impossible de mettre la main sur une éventuelle propriété qui permetterait de fixer le probleme.

    Connaissez vous ce probleme? est ce normal?

    je suis sous visual 2003, je travaille avec les MFC, j'ai fais plusieurs test dont une sur une Dlg Vierge pas de variable associé aux controles, pas d'event non plus, je crée juste un edit, que je met en numérique, puis un spin en autobuddy, allign right,Set buddy integer, et je m'assure que les tabstop se suivent.

  2. #2
    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
    Points : 17 323
    Points
    17 323

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    mais oui biensur !!!!

    suffisait d'y penser, merci farscape

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    J'ai fais ce que tu m'as dis, j'ai meme fais une vérif derriere avec un GetRange qui me retourne bien un (pour l'exemple) min = 800, max = 1

    et ca ne change rien au probleme

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    Bon, ca m'a saoulé, alors je l'ai fais a la main.

    voici mon 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
    void CmaDlg::OnDeltaposSpinJumpto(NMHDR *pNMHDR, LRESULT *pResult)
    {
    	LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
    	//ptControl est un pointeur CWnd global que j'utilise pour parler directement à tous mes controles
    	//Mon code
    		int x;
    		CString buf;
     
    		ptControl = static_cast <CEdit*> (GetDlgItem(IDC_EDIT_JUMPTO));
    		ptControl->GetWindowText(buf);
    		x=atoi(buf);
    		if(pNMUpDown->iDelta <0) x++;
    		if(pNMUpDown->iDelta >0 ) x--;
    		buf.Format(_T("%d"),x);
    		ptControl->SetWindowText(buf);
    	//Fin de mon code
    	*pResult = 0;
    }
    Si vous avez des questions ou suggestions n'hesitez pas.

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    je vais refaire un essai ...

  7. #7
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    voili j'ai fais l'essai ça fonctionne tres bien:
    contexte : Edit avec spinup auto buddy et option set buddy integer.
    attention le tab order de l'edit et du spin up doit etre consecutif.
    et code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    static_cast<CSpinButtonCtrl *>(GetDlgItem(IDC_SPIN1))->SetRange(0,100);

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/11/2010, 03h14
  2. Problème avec les insertions automatiques
    Par Belgario dans le forum Word
    Réponses: 4
    Dernier message: 21/07/2008, 14h02
  3. Probleme de Z-buffer avec les mesh
    Par b4cksp4ce dans le forum DirectX
    Réponses: 2
    Dernier message: 28/01/2008, 22h38
  4. Réponses: 1
    Dernier message: 15/05/2007, 17h31
  5. Réponses: 5
    Dernier message: 15/05/2007, 16h19

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