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 :

n curseurs dynamiques


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut n curseurs dynamiques
    Bonjour, voici ma question : Comment être averti qu'un slider dynamique a été bougé (son curseur)? Merci.

  2. #2
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    salut,

    tu reçois un message WM_HSCROLL ou WM_VSCROLL (suivant si la trackbar est horizontale ou verticale)

    ça se gère comment un scrollbar ...

    @+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Voici mon code pour faire plus simple :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    void CDlg_Demo_Slider::OnOK() 
    {
     
     
     
    register int i,j;
    CString	m_Heure;
    for (j=0;j<nb_slider;j++)
    	{
     
    	i=(*pSliderCtrl[j]).GetPos();  //position de chaque curseur en mémoire (i)
     
    	m_Heure.Format("%02d:%02d",i/60,i%60);
     
     
    }
     
     
    	CDialog::OnOK();
     
    }
     
     
    void CDlg_Demo_Slider::affich_slider() 
    {
    CString strTemp;
    int j;
     
    int heure_min, heure_max;
     
    if (!(pSliderCtrl=(CSliderCtrl**)malloc(sizeof(CSliderCtrl*)*nb_slider))) 	// réservation mémoire	   
    	return;
    if (!(pWndHeure=(CWnd**)malloc(sizeof(CWnd*)*nb_slider))) 	// réservation mémoire	   
    	return;
    if (!(pString=(CString**)malloc(sizeof(CString*)*nb_slider))) 	// réservation mémoire	   
    	return;
    if (!(heure_coupure=(int*)malloc(4*nb_slider))) 	// réservation mémoire	   
    	return;
     
     
    heure_min=1500;heure_max=0;
    for (j=0;j<nb_slider;j++)
    	{
    	heure_coupure[j]=240+(120*j)/nb_slider;
    	if (heure_coupure[j]<heure_min)
    		heure_min=heure_coupure[j];
    	if (heure_coupure[j]>heure_max)
    		heure_max=heure_coupure[j];
    	}
     
     
    for (j=0;j<nb_slider;j++)
    	{
     
    	RECT rect={20,20,20,20};
    	pSliderCtrl[j]=new CSliderCtrl();
    	pString[j]=new CString();
     
    	DWORD dwStyle = TBS_NOTICKS | WS_CHILD | WS_VISIBLE | WM_HSCROLL  ;
     
    	(*pSliderCtrl[j]).Create(dwStyle|TBS_BOTTOM|TBS_HORZ ,rect, m_parametres,m_OK.GetDlgCtrlID()+(10000+j));
     
    	(*pSliderCtrl[j]).SetWindowPos(&m_OK,120,10+(j*20),175,20,SWP_NOZORDER);
    	(*pSliderCtrl[j]).SetRange(0,heure_max-heure_min+60);
    	(*pSliderCtrl[j]).SetPos(heure_coupure[j]-heure_min+30);	//retrait de chq slider pour les différencier
     
     
     
     
     
    	(*pString[j]).Format("%02d:%02d",heure_coupure[j]/60,heure_coupure[j]%60);
     
    	pWndHeure[j] = new CWnd;
    	pWndHeure[j]->Create(_T("STATIC"), *pString[j], WS_CHILD | WS_VISIBLE,
           CRect(300, 10+j*20, 380, 30+j*20), this, 1234);
    /*
    	pWndHeure[j]->DestroyWindow();
    	pWndHeure[j]->Create(_T("STATIC"), *pString[j], WS_CHILD | WS_VISIBLE,
           CRect(300, 10+j*20, 380, 30+j*20), this, 1234);
    */	}
     
     
     
    }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Bonjour j'ajoute encore une question : Savez-vous comment modifier la valeur de l'info-bulle de chaque curseur (je ne veux pas des entiers mais un format hh:mm)? Merci.

Discussions similaires

  1. [PL/SQL] Curseur dynamique
    Par dcollart dans le forum Oracle
    Réponses: 2
    Dernier message: 09/11/2009, 10h08
  2. [web] TK: curseur dynamique
    Par JC_007 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 30/10/2006, 14h09
  3. Curseur dynamique
    Par dcollart dans le forum Oracle
    Réponses: 1
    Dernier message: 09/05/2006, 11h06
  4. ODBC et curseurs dynamique!!!
    Par F@keur dans le forum MFC
    Réponses: 7
    Dernier message: 30/03/2005, 20h05
  5. Enregistrement issu d'un curseur dynamique
    Par vanessaf22 dans le forum SQL
    Réponses: 26
    Dernier message: 15/04/2004, 13h26

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