Stuart McLachlan
stuart at lexacorp.com.pg
Tue Apr 7 16:19:13 CDT 2009
As Gustav "suggested" - Powerbasic - specifically PB/Win 9.01
And here's the source:
<begin source>
#COMPILE EXE
#DIM ALL
#INCLUDE "Win32API.inc"
GLOBAL lMax AS LONG
'------------------------------------------------------------------------------
' Equates
'------------------------------------------------------------------------------
%WM_USER = &H400
%ID_PROGRESS = %WM_USER + 2048
'-----------------------------------------------------------------------------
' Progress dialog callback
' In %WM_INITDIALOG, we post a user defined message to the dialog's message
' queue via DIALOG POST. Posted messages are placed at bottom of the message
' queue, so this ensures dialog will be shown before the action starts.
'------------------------------------------------------------------------------
CALLBACK FUNCTION PBarDlgProc () AS LONG
LOCAL i AS LONG
SELECT CASE CB.MSG
CASE %WM_INITDIALOG
' Post a user defined (private) message to self
DIALOG POST CB.HNDL, %WM_USER + 999&, 0, 0
CASE %WM_USER + 999&
FOR i = 1 TO lmax
PROGRESSBAR STEP CB.HNDL, %ID_PROGRESS
DIALOG DOEVENTS 500' allow processor to breathe and wait 500 millisecs
NEXT
DIALOG END CB.HNDL, 0 'Done, so close dialog
END SELECT
END FUNCTION
'------------------------------------------------------------------------------
' Main entry point for the application
'------------------------------------------------------------------------------
FUNCTION PBMAIN () AS LONG
LOCAL hdlg AS DWORD
'Get time to display: x 2 because we update every 1/2 second
lMax = VAL(COMMAND$) * 2
'create Dialog
DIALOG NEW 0, "Processing - Please Wait",,, 200, 40,, 0 TO hDlg
DIALOG SET COLOR hDlg, -1, RGB(192,192,222)
CONTROL ADD PROGRESSBAR, hDlg, %ID_PROGRESS, "", 5, 12, 190, 12
'Configure Prgress bar
PROGRESSBAR SET RANGE hDlg, %ID_PROGRESS, 0, lMax
PROGRESSBAR SET STEP hDlg, %ID_PROGRESS, 1
'Lock window on top
SETWINDOWPOS hDlg, %HWND_TOPMOST, 0, 0, 0, 0, %SWP_NOMOVE OR
%SWP_NOSIZE
'show it
DIALOG SHOW MODAL hDlg, CALL PBarDlgProc
END FUNCTION
<end source>
On 7 Apr 2009 at 15:01, William Hindman wrote:
> Stu
>
> ...works perfectly Stu ...it even takes the progress meter out of the status
> bar ...just "calculating" :)
> ...looks like this is a "plug-in" solution useful in a number of scenarios.
> ...of course I'd like to be able to match the gui with my own and perhaps
> add a cancel option and a caption :)
> ...so, how was this done and is the source available? ...never hurts to ask
> :)
>
> ...gustav ...tks for your help as well in getting Stu going.
>
> ...there simply is NO place on the web like AccessD :)
>