Skit3000 Admin Team

Joined: 11 May 2002 Posts: 2166 Location: The Netherlands
|
Posted: Sat Nov 30, 2002 2:34 pm Post subject: VDS Status |
|
|
Hi all,
I made a script that simulates a status bar. There are a few thing in it which VDS doesn't have, like a little icon/bitmap (Like Internet Explorer has) and a progress bar. This should also work on VDS 4. An maybe I will add, some day, support for multiply rows.
Well, enough of talking, here it is...
_______________________________________________________________________________________________________________________________________
| Code: |
DIALOG CREATE,VDS Status,-1,0,256,153,RESIZABLE
DIALOG ADD,BUTTON,BUTTON1,4,186,64,24,Set Status
DIALOG ADD,EDIT,EDIT1,6,0,180,19,Hello
DIALOG ADD,EDIT,EDIT2,40,0,180,19,50
DIALOG ADD,BUTTON,BUTTON2,38,186,64,24,Set Progress
DIALOG SHOW
rem Name |Text |Progresswidth|Bitmap |Font
%%AddStatus = Status1|Hello|100 |@windir()\explorer.exe|Arial
gosub AddStatus
rem Name: The name of the statusbar. Only 'useful' when
rem you use child windows.
rem Text: The text that should be displayed.
rem Progresswidth: The width of the progress bar in pixels. This
rem can be leaved empty, but then some functions don't
rem work proper.
rem Bitmap: With this you can put a bitmap in the status bar.
rem If you don't want them, let this one empty. You
rem can't use other EXE icons then the first one.
rem Font: Here you can specify the font that the status bar
rem will use. Can be left empty.
:Evloop
wait event
goto @event()
:Button1button
rem You can set the status bar just like a normal one...
dialog set,Status1,@dlgtext(edit1)
goto evloop
:Button2button
rem Setting the progress bar is easy. Use the status bar name with
rem 'Progress' after it.
dialog set,Status1Progress,@dlgtext(edit2)
goto evloop
:Resize
rem This is a little difficulter, but you probably won't need it. It's
rem only useful when you make a program that must be resizable
%%Status1Text = @dlgtext(status1)
%%RemoveStatus = status1
gosub RemoveStatus
%%AddStatus = status1|@dlgtext(edit1)|100|@windir()\explorer.exe|Arial
gosub AddStatus
dialog set,Status1Progress,@dlgtext(edit2)
goto evloop
:Close
exit
rem This must be included in all your code...
rem ---- ---- -- -------- -- --- ---- ----
:AddStatus
parse "%%AddStatus;%%Text;%%ProgressWidth;%%Bitmap;%%Fontname",%%AddStatus
if @equal(@pos(%%AddStatus,%%AllStatus),0)
DIALOG ADD,STYLE,%%AddStatus"STYLE3",%%Fontname,8,,BACKGROUND,BLACK
DIALOG ADD,STYLE,%%AddStatus"STYLE2",,6,,WHITE,WHITE
DIALOG ADD,STYLE,%%AddStatus"STYLE1",,6,,GRAY,GRAY
end
%%AllStatus = %%AllStatus|%%AddStatus
DIALOG ADD,TEXT,%%AddStatus"TEXT1",@diff(@dlgpos(,H),19),1,@diff(@dlgpos(,W),2),17,,,%%AddStatus"STYLE1"
DIALOG ADD,TEXT,%%AddStatus"TEXT2",@diff(@dlgpos(,H),2),1,@diff(@dlgpos(,W),2),1,,,%%AddStatus"STYLE2"
DIALOG ADD,TEXT,%%AddStatus"TEXT3",@diff(@dlgpos(,H),18),2,@diff(@dlgpos(,W),2),16,,,%%AddStatus"STYLE3"
DIALOG ADD,TEXT,%%AddStatus"TEXT4",@diff(@dlgpos(,H),19),@diff(@dlgpos(,W),2), 1,18,,,%%AddStatus"STYLE2"
if @not(@null(%%Bitmap))
DIALOG ADD,BITMAP,%%AddStatus"BITMAP",@diff(@dlgpos(,H),19),4,16,16,%%Bitmap
%%Textpos = 20
else
%%Textpos = 0
end
DIALOG ADD,TEXT,%%AddStatus,@diff(@dlgpos(,H),17),@fadd(3,%%Textpos),,,%%Text,%%AddStatus"STYLE3"
if @not(@null(%%ProgressWidth))
DIALOG ADD,PROGRESS,%%AddStatus"PROGRESS",@diff(@dlgpos(,H),19),@diff(@dlgpos(,W),@fadd(%%ProgressWidth,2)),%%ProgressWidth,18,50
end
DIALOG SHOW
exit
:RemoveStatus
DIALOG REMOVE,%%RemoveStatus"TEXT1"
DIALOG REMOVE,%%RemoveStatus"TEXT2"
DIALOG REMOVE,%%RemoveStatus"TEXT3"
DIALOG REMOVE,%%RemoveStatus"TEXT4"
DIALOG REMOVE,%%RemoveStatus"BITMAP"
DIALOG REMOVE,%%RemoveStatus
if @not(@null(%%ProgressWidth))
DIALOG REMOVE,%%RemoveStatus"PROGRESS"
end
exit
|
|
|