Classe progressbar

Contenu du snippet

Encore une petite classe mais pour les ProgressBar cette fois ci !!!

Source / Exemple :


// Dans vôtre projet ajouter ProgressBar.cpp
// Dans vôtre code principal incluer ProgressBar.h
// modifier WM_INITDIALOG

//*****************//
//Variable Globales//
//*****************//

ProgressBar Bar1; // Construction du controle nommé Bar1

//**********************//
// Fichier ProgressBar.h//
//**********************//

#ifndef __PROGRESSBAR_H
#define __PROGRESSBAR_H

#include <windows.h>
#include <commctrl.h>

class ProgressBar
{
private:
HWND hBar;
public:
BOOL Init(HWND hwndbar); //Initialise le controle
BOOL SetRange(int nMinRange,int nMaxRange); //Définis la position Minimale et Maximale
void Hide(BOOL bVisible); //Afiche ou Cache le controle
BOOL IsVisible(void); //Détermine si le controle est visible
int SetStep(int nStep); //Définis le pas
int SetPos(int nPos); //Définis la valeur du controle
int Increment(int nIncrement);//Incrémente de nIncrement la valeur du controle
int IncrementStep(void);//Incrémente d'un pas définis par SetStep la valeur du controle
};

#endif

//************************//
// Fichier ProgressBar.cpp//
//************************//

#include "ProgressBar.h"

BOOL ProgressBar::Init(HWND hwndbar) //Initialise le controle
{
if (!InitCommonControls)
   {
      return FALSE;
   }

hBar=hwndbar;

if (hBar==NULL)
	{
   	return FALSE;
   }
return TRUE;
}

BOOL ProgressBar::SetRange(int nMinRange,int nMaxRange) //Définis la position Minimale et Maximale
{
if ((nMinRange<0) || (nMaxRange>65535))
	{
	return FALSE;
   }

if(SendMessage(hBar,PBM_SETRANGE,0,MAKELPARAM(nMinRange,nMaxRange))==0)
	{
   return FALSE;
   }
return TRUE;
}

int ProgressBar::SetStep(int nStep) //Définis le pas
{
int nOldStep;
nOldStep=SendMessage(hBar,PBM_SETSTEP,(WPARAM)nStep,0);
return nOldStep;
}

int ProgressBar::Increment(int nIncrement) //Incrémente de nIncrement la valeur du controle
{
int nOldPos;
nOldPos=SendMessage(hBar,PBM_DELTAPOS,(WPARAM)nIncrement,0);
return nOldPos;
}

int ProgressBar::IncrementStep(void) //Incrémente d'un pas définis par SetStep la valeur du controle
{
int nOldPos;
nOldPos=SendMessage(hBar,PBM_STEPIT,0,0);
return nOldPos;
}

int ProgressBar::SetPos(int nPos) //Définis la valeur du controle
{
int nOldPos;
nOldPos=SendMessage(hBar,PBM_SETPOS,(WPARAM)nPos,0);
return nOldPos;
}

void ProgressBar::Hide(BOOL bVisible) //Afiche ou Cache le controle
{
if (bVisible==TRUE)
	{
   	ShowWindow(hBar,SW_HIDE);
   }
else
	{
   	ShowWindow(hBar,SW_SHOW);
   }
}

BOOL ProgressBar::IsVisible(void) //Détermine si le controle est visible
{
return IsWindowVisible(hBar);
}

//******************//
//Dans WM_INITDIALOG//
//******************//

Bar1.Init(hwnd); // Initialisation du controle

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (wood51)