Merci mais quelle fonction de vérification dois-je utiliser car je n'en ai pas la moindre idée et voici également mon code, merci.
// Dlg_Demo_Slider.cpp : implementation file
//
#include "stdafx.h"
#include "SliderMultiple.h"
#include "Dlg_Demo_Slider.h"
#include "Utilitaire.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlg_Demo_Slider dialog
CDlg_Demo_Slider::CDlg_Demo_Slider(CWnd* pParent /*=NULL*/)
: CDialog(CDlg_Demo_Slider::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlg_Demo_Slider)
//}}AFX_DATA_INIT
}
void CDlg_Demo_Slider::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlg_Demo_Slider)
DDX_Control(pDX, IDOK, m_OK);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlg_Demo_Slider, CDialog)
//{{AFX_MSG_MAP(CDlg_Demo_Slider)
ON_BN_CLICKED(IDC_BUTTON1, OnMoins)
ON_BN_CLICKED(IDC_BUTTON2, OnPlus)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlg_Demo_Slider message handlers
BOOL CDlg_Demo_Slider::OnInitDialog()
{
CDialog::OnInitDialog();
CString strTemp;
if(nb_slider-7>0)
largeur_dyna=nb_slider-7; // Variable permettant de redimensionner la largueur de la plupart des contrôles
else
largeur_dyna=0;
m_parametres= m_OK.GetParent();
nb_slider=6;
strTemp.Format("%d", nb_slider);
SetDlgItemText(IDC_NBSLIDER,strTemp);
affich_slider();
UpdateData(FALSE);
return TRUE;
}
/***************************************************************************
Incrémentation
****************************************************************************/
void CDlg_Demo_Slider::OnMoins()
{
libere_slider();
nb_slider--;
if (nb_slider<1) nb_slider=1;
CString strTemp;
strTemp.Format("%d", nb_slider);
SetDlgItemText(IDC_NBSLIDER,strTemp);
affich_slider();
UpdateData(FALSE);
}
/***************************************************************************
Décrémentation
****************************************************************************/
void CDlg_Demo_Slider::OnPlus()
{
libere_slider();
nb_slider++;
if (nb_slider>15) nb_slider=15;
CString strTemp;
strTemp.Format("%d", nb_slider);
SetDlgItemText(IDC_NBSLIDER,strTemp);
affich_slider();
UpdateData(FALSE);
}
/**************************************************************************
Création et Initialisation des Sliders
***************************************************************************/
void CDlg_Demo_Slider::OnOK()
{
// TODO: Add extra validation here
CDialog::OnOK();
}
void CDlg_Demo_Slider::affich_slider()
{
CString strTemp;
int j;
if (!(pSliderCtrl=(CSliderCtrl**)malloc(sizeof(CSliderCtrl*)*nb_slider))) // réservation mémoire
return;
for (j=0;j<nb_slider;j++)
{
RECT rect={20,20,20,20};
pSliderCtrl[j]=new CSliderCtrl();
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(1,20);
(*pSliderCtrl[j]).SetPos(j); //retrait de chq slider pour les différencier
}
}
/********************************************************************************
Libération mémoire
********************************************************************************/
void CDlg_Demo_Slider::libere_slider()
{
CString strTemp; //variable locale
int j;
for (j=0;j<nb_slider;j++)
delete (pSliderCtrl[j]); //pointeur de fenêtre
free (pSliderCtrl);
}