Progress Wheel Control

HMG Samples and Enhancements

Moderator: Rathinagiri

Post Reply
User avatar
gfilatov
Posts: 1068
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Progress Wheel Control

Post by gfilatov »

Hello All,

Please take a look for my first attempt to create a new Progress Wheel Control in HMG.
capture.png
capture.png (28.95 KiB) Viewed 3321 times
I've attached also a sample application for your review. 8-)

Your feedback is welcome :arrow:
Attachments
ProgressWheel.zip
Progress Wheel Control Test
(894.95 KiB) Downloaded 162 times
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
User avatar
Claudio Ricardo
Posts: 367
Joined: Tue Oct 27, 2020 3:38 am
DBs Used: DBF, MySQL, MariaDB
Location: Bs. As. - Argentina

Re: Progress Wheel Control

Post by Claudio Ricardo »

Look very good and can change all properties in run time !
Great job !!!
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
User avatar
jairpinho
Posts: 420
Joined: Mon Jul 18, 2011 5:36 pm
Location: Rio Grande do Sul - Brasil
Contact:

Re: Progress Wheel Control

Post by jairpinho »

great job, we need more visual aids as well as line graph in real time
Jair Pinho
HMG ALTA REVOLUÇÃO xBASE
HMG xBASE REVOLUTION HIGH
http://www.hmgforum.com.br
User avatar
gfilatov
Posts: 1068
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Re: Progress Wheel Control

Post by gfilatov »

Claudio Ricardo wrote: Mon Nov 02, 2020 10:13 pm Look very good and can change all properties in run time !
Great job !!!
Hello Friends,

Thanks for your feedback and attention.

I've prepared an other sample application (see screen shot).
capture2.png
capture2.png (12.86 KiB) Viewed 2549 times
The all source code of this example is below:

Code: Select all

/*
 * MINIGUI - Harbour Win32 GUI library Demo
 *
 * Copyright 2020 Grigory Filatov <gfilatov@inbox.ru>
 */

#include "hmg.ch"
#include "winprint.ch"
#include "i_winuser.ch"

FUNCTION Main

   DEFINE WINDOW  main ;
	CLIENTAREA 810, 390 ;
	TITLE 'Progress Wheel Control Demo' ;
	ICON 'MAINICON' ;
	MAIN ;
	FONT 'MS Sans Serif' SIZE 9

     DEFINE FRAME Frame_1
            ROW	8
            COL	16
            WIDTH 380
            HEIGHT 175
            CAPTION 'Inner size'
     END FRAME

     DEFINE LABEL Label_1
            ROW    155
            COL    75
            WIDTH  10
            HEIGHT 15
            VALUE  '0'
            VCENTERALIGN .T.
     END LABEL  

     DEFINE LABEL Label_2
            ROW    155
            COL    195
            WIDTH  15
            HEIGHT 15
            VALUE  '50'
            VCENTERALIGN .T.
     END LABEL

     DEFINE LABEL Label_3
            ROW    155
            COL    320
            WIDTH  15
            HEIGHT 15
            VALUE  '90'
            VCENTERALIGN .T.
     END LABEL

     DEFINE PROGRESSWHEEL PW_1
            ROW    30
            COL    22
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            INNERSIZE 0
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE PROGRESSWHEEL PW_2
            ROW    30
            COL    145
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            INNERSIZE 50
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE PROGRESSWHEEL PW_3
            ROW    30
            COL    268
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            INNERSIZE 90
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE FRAME Frame_2
            ROW	8
            COL	416
            WIDTH 380
            HEIGHT 175
            CAPTION 'Inner color'
     END FRAME

     DEFINE LABEL Label_4
            ROW    155
            COL    422
            WIDTH  114
            HEIGHT 15
            VALUE  'White'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL  

     DEFINE LABEL Label_5
            ROW    155
            COL    545
            WIDTH  114
            HEIGHT 15
            VALUE  'Gray'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL

     DEFINE LABEL Label_6
            ROW    155
            COL    668
            WIDTH  114
            HEIGHT 15
            VALUE  'Black'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL

     DEFINE PROGRESSWHEEL PW_4
            ROW    30
            COL    422
            WIDTH  114
            HEIGHT 114
            VALUE  25
            INNERSIZE 50
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE PROGRESSWHEEL PW_5
            ROW    30
            COL    545
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER GRAY
            INNERSIZE 50
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE PROGRESSWHEEL PW_6
            ROW    30
            COL    668
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER BLACK
            INNERSIZE 50
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE FRAME Frame_3
            ROW	203
            COL	16
            WIDTH 380
            HEIGHT 175
            CAPTION 'Text'
     END FRAME

     DEFINE LABEL Label_7
            ROW    350
            COL    22
            WIDTH  114
            HEIGHT 15
            VALUE  'Standard'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL  

     DEFINE LABEL Label_8
            ROW    350
            COL    145
            WIDTH  114
            HEIGHT 15
            VALUE  'Custom'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL

     DEFINE LABEL Label_9
            ROW    350
            COL    268
            WIDTH  114
            HEIGHT 15
            VALUE  'Custom 2'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL

     DEFINE PROGRESSWHEEL PW_7
            ROW    226
            COL    22
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            INNERSIZE 50
     END PROGRESSWHEEL

     DEFINE PROGRESSWHEEL PW_8
            ROW    226
            COL    145
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            INNERSIZE 50
     END PROGRESSWHEEL

     PW_SetCustomText( 'PW_8', thiswindow.Name, {| Position, Max | hb_ntos( Position ) + '/' + hb_ntos( Max ) } )

     DEFINE PROGRESSWHEEL PW_9
            ROW    226
            COL    268
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            INNERSIZE 60
     END PROGRESSWHEEL

     PW_SetCustomText( 'PW_9', thiswindow.Name, {| Position, Max | hb_ntos( Position ) + ' from ' + hb_ntos( Max ) } )

     DEFINE FRAME Frame_4
            ROW	203
            COL	416
            WIDTH 380
            HEIGHT 175
            CAPTION 'Colors (ColorRemain/ColorDoneMax)'
     END FRAME

     DEFINE LABEL Label_10
            ROW    350
            COL    422
            WIDTH  114
            HEIGHT 15
            VALUE  'BtnFace/Green'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL  

     DEFINE LABEL Label_11
            ROW    350
            COL    545
            WIDTH  114
            HEIGHT 15
            VALUE  'Black/Yellow'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL

     DEFINE LABEL Label_12
            ROW    350
            COL    668
            WIDTH  114
            HEIGHT 15
            VALUE  'White/SkyBlue'
            VCENTERALIGN .T.
            CENTERALIGN .T.
     END LABEL

     DEFINE PROGRESSWHEEL PW_10
            ROW    226
            COL    422
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORDONEMAX LGREEN
            COLORREMAIN nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE PROGRESSWHEEL PW_11
            ROW    226
            COL    545
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORDONEMAX YELLOW
            COLORREMAIN BLACK
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            SHOWTEXT .F.
     END PROGRESSWHEEL

     DEFINE PROGRESSWHEEL PW_12
            ROW    226
            COL    668
            WIDTH  114
            HEIGHT 114
            VALUE  25
            COLORDONEMAX cColorToArray( 'SkyBlue' )
            COLORREMAIN WHITE
            COLORINNER nRGB2Arr( GetSysColor( COLOR_BTNFACE ) )
            SHOWTEXT .F.
     END PROGRESSWHEEL

   END WINDOW	

   Main.Center
   Main.Activate	
	
RETURN NIL


FUNCTION cColorToArray( gr )

   LOCAL data, hexNumber, r

   INIT PRINTSYS
   data := HBPRNCOLOR( gr )
   RELEASE PRINTSYS

   hexNumber := DECTOHEXA( data )
   r := Rgb( HEXATODEC( SubStr( HexNumber, -2 ) ), HEXATODEC( SubStr( HexNumber, 5, 2 ) ), HEXATODEC( SubStr( HexNumber, 3, 2 ) ) )

RETURN HMG_n2RGB( r )
It is a Harbour MiniGUI power (an above work is based on the wonderful BosTaurus library) 8-)
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
User avatar
gfilatov
Posts: 1068
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Re: Progress Wheel Control

Post by gfilatov »

Hello,

I've attached a recent version of a sample application with a simple animation of Progress Wheel Control for your review.

Your feedback is welcome.

Enjoy 8-)
Attachments
demo2.zip
Sample application
(925.27 KiB) Downloaded 160 times
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
User avatar
Claudio Ricardo
Posts: 367
Joined: Tue Oct 27, 2020 3:38 am
DBs Used: DBF, MySQL, MariaDB
Location: Bs. As. - Argentina

Re: Progress Wheel Control

Post by Claudio Ricardo »

Muy lindo y moderno, el " Inner text " es la cereza del postre.
Lo incluiré en mi proximo proyecto... chau antiguo " Progress bar " :lol:

Very cute and modern, the "Inner text" is the icing on the cake.
I'll include it in my next project ... bye old "Progress bar" :lol:
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
Post Reply