Classe progressbar

0/5 (4 avis)

Snippet vu 5 340 fois - Téléchargée 36 fois

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

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
11 juillet 2007

Les anglais aussi font autant de fautes d'ortaugraffe?
Messages postés
21
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
12 juillet 2009

c'est fou sa, faut areter de mettre des source qui marche pas depuis 30min que j'essay de reparer cette sois disant source,
les erreur s'enchaine, je trouve sa vraiment dommage que la programation française sois autant pourri par des developeurs inexperimenté ...
Allez je retourne sur la msdn ... en anglais ...
Messages postés
75
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
11 décembre 2007

C'est que tu ne connais pas l'API win32. Vla un très bon tuto:
http://win32.planet-d.net/tut_w/main.htm
Messages postés
4
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
25 février 2004

bonjour

je débute dans c++, et je cherche une progressabar ... j'ai récupéré ton source mais je ne vois pas où initialiser le controle ... aurais-tu un exemple? merci
alain, alain_gray2004@yahoo.fr

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

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

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)