EZSnakeCtrl-Indefinite Cyclic Progress control

Environment: Visual C++ 6 (SP2), Windows 98

I got the hunch from Netscape’s progress control in the status bar.
Since most of the complexity is hidden in the implementation, using this
is as easy as using a normal progress bar. This control is not derived
from CProgressBarctrl but from CStatic to ensure simplicity and efficiency.
An imitation of Netscape status bar as well as a dialog based demo like
that of CGradientProgress is included in the sample zip file. If
this control is used in a dialog box, simply put a CStatic Place holder
in the dialog and subclass it to CEZSnakeCtrl. Now you can customize the
look & feel of the control. Various options available are:


//Get & Set The Maximum value of the progress control
//0 is assumed as the minimum.
int GetMax();
void SetMax(int nMax);

//Get & Set the size of the snake
int GetSize();
void SetSize(int nSize);

//Get & Set the the Steps ->unit increment
int GetStep();
void SetStep(int nStep);

//Get The Head Position
int GetPos();

//Get The tail position
int GetTail();

//Get the direction of the snake
BOOL IsReverse();

//Get & Set the Gradient begin & end colors
COLORREF GetGradientEndColor();
COLORREF GetGradientStartColor();
void SetGradientFill(COLORREF clrStart,COLORREF clrEnd);

//Get & Set Background color
COLORREF GetBkColor();
void SetBkColor(COLORREF clrFG);

//Operations<>BR
int StepIt();//Move the snake.
void ResetProgress();//reset the snake

I think the demo project can do rest of the explaining.

Downloads


Download demo project – 71 Kb

Download source – 3 Kb

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read