forum.vdsworld.com Forum Index forum.vdsworld.com
Visit VDSWORLD.com
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Gradient Window, Gradient Menu...

 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Visual DialogScript 3 Source Code
View previous topic :: View next topic  
Author Message
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Thu Oct 03, 2002 12:15 am    Post subject: Gradient Window, Gradient Menu... Reply with quote

Ok, it may not be practical, but maybe it'll give ya
some ideas (it may look different in VDS4)...

The main window "File" menu is a text element, so
ALT+F doesn't activate it.
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Code:

OPTION SCALE, 96
OPTION DECIMALSEP, "."
%%title = "Main Test Window"
TITLE By Mac
  DIALOG CREATE,%%title,-1,0,300,200,CLICK
  %%color = FF0000
  rem -- Adjust to fit window width, narrow window needs smaller divisor --
  %%divisor = 128
  rem -- Get RGB increments needed to fade color --
  %%inc1 = "0"@div(@diff($FF,$@substr(%%color,1,2)),%%divisor)
  %%inc2 = "0"@div(@diff($FF,$@substr(%%color,3,4)),%%divisor)
  %%inc3 = "0"@div(@diff($FF,$@substr(%%color,5,6)),%%divisor)
  %%color = $00FF0000
  %x = 0
  REPEAT
    if @equal(@mod(%x, 2), 0)
       DIALOG ADD,STYLE,Style%x,,,,%%color
       DIALOG ADD,TEXT,BG%x,0,%x,2,200,,,Style%x
       %%color = @sum(%%color, $00%%inc1%%inc2%%inc3)
    end
    %x = @succ(%x)
  UNTIL @greater(%x, 300)
  DIALOG ADD,STYLE,S1,,,,BLACK
  DIALOG ADD,Text,File,5,5,,," &File ",,CLICK,TRANSPARENT
  DIALOG ADD,Text,Line,20,2,296,1,,,,S1
DIALOG SHOW

:EVLOOP
  WAIT EVENT
  rem -- %e is event, %d is dialog number that issued it (0,1,2,etc.)--
  Parse "%e;%d", @event(D)
  goto %e

:CLICK
  GOSUB CLoseMenu
  goto EVLOOP

:FileMENU
:FileCLICK
  rem -- In case menu is already open --
  GOSUB CLoseMenu
  rem -- Store Menu child window ID, X/Y and width/height --
  %%menu = @succ(%d)

  rem %%menuX = @mousepos(X)
  %%menuX = @sum(@winpos(%%title, L), 5)
  rem %%menuY = @mousepos(Y)
  %%menuY = @sum(@winpos(%%title, T), 44)

  %%menuW = 100
  %%menuH = 70
  rem -- Use zero width/height here for animated menu --
  DIALOG CREATE,"Menu",%%menuy,%%menuX,0,0,NOTITLE

  %%color = FF0000
  rem -- Adjust to fit window width, narrow window needs smaller divisor --
  %%divisor = 50
  rem -- Get RGB increments needed to fade color --
  %%inc1 = "0"@div(@diff($FF,$@substr(%%color,1,2)),%%divisor)
  %%inc2 = "0"@div(@diff($FF,$@substr(%%color,3,4)),%%divisor)
  %%inc3 = "0"@div(@diff($FF,$@substr(%%color,5,6)),%%divisor)
  %%color = $00FF0000
  %x = 0
  REPEAT
    if @equal(@mod(%x, 2), 0)
       DIALOG ADD,STYLE,ChildStyle%x,,,,%%color
       DIALOG ADD,TEXT,ChildBG%x,0,%x,2,200,,,ChildStyle%x
       %%color = @sum(%%color, $00%%inc1%%inc2%%inc3)
    end
    %x = @succ(%x)
  UNTIL @greater(%x, 300)

  DIALOG ADD,STYLE,Style1,,,,WHITE
  DIALOG ADD,STYLE,Style2,,,,BLACK
  DIALOG ADD,STYLE,Style3,,,,DKBLUE,WHITE
  DIALOG ADD,STYLE,Style4,Wingdings,11
  DIALOG ADD,STYLE,Style5,Wingdings,11,,DKBLUE,WHITE

  rem -- Draw the trim for the menu box --
  DIALOG ADD,TEXT,TOP,0,0,100,1,,,Style1
  DIALOG ADD,TEXT,LEFT,0,0,1,70,,,Style1
  DIALOG ADD,TEXT,BOTTOM,69,0,100,1,,,Style2
  DIALOG ADD,TEXT,RIGHT,0,99,1,70,,,Style2

  DIALOG ADD,TEXT,Menu0icon,5,5,25,,@chr(49),,CLICK,Style4,TRANSPARENT
  DIALOG ADD,TEXT,Menu0iconHL,5,5,25,,@chr(49),,CLICK,Style5
  DIALOG ADD,TEXT,Menu0,5,30,65,,"File Open",,CLICK,TRANSPARENT
  DIALOG ADD,TEXT,Menu0HL,5,30,65,,"File Open",,CLICK,Style3

  DIALOG ADD,TEXT,Menu1icon,25,5,25,,@chr(60),,CLICK,Style4,TRANSPARENT
  DIALOG ADD,TEXT,Menu1iconHL,25,5,25,,@chr(60),,CLICK,Style5
  DIALOG ADD,TEXT,Menu1,25,30,65,,"Save",,CLICK,TRANSPARENT
  DIALOG ADD,TEXT,Menu1HL,25,30,65,,"Save",,CLICK,Style3

  DIALOG ADD,GROUP,MenuLine1,45,2,96,2,,,Style1

  DIALOG ADD,TEXT,Menu2icon,50,5,25,,@chr(77),,CLICK,Style4,TRANSPARENT
  DIALOG ADD,TEXT,Menu2iconHL,50,5,25,,@chr(77),,CLICK,Style5
  DIALOG ADD,TEXT,Menu2,50,30,65,,"Exit",,CLICK,TRANSPARENT
  DIALOG ADD,TEXT,Menu2HL,50,30,65,,"Exit",,CLICK,Style3
  %%lastmenuitem = 2
  %x = 0
  REPEAT
    DIALOG HIDE, Menu%xiconHL
    DIALOG HIDE, Menu%xHL
    %x = @succ(%x)
  UNTIL @greater(%x, %%lastmenuitem)
  DIALOG SHOW

  REM -- Animate Menu --
  %%numW = 1
  %%numH = 1
  REPEAT
    if @greater(%%menuH, %%numH)
       %%numH = @fadd(%%numH, ".1")
    end
    if @greater(%%menuW, %%numW)
       %%numW = @fadd(%%numW, 1)
    end
    WINDOW POSITION,"Menu",,,%%numW,%%numH
  UNTIL @both(@equal(%%numH, %%menuH), @equal(%%numW, %%menuW))

  %x = 0
  REPEAT
    if @greater(%%lastmenuitem, %x)
       %x = @succ(%x)
    else
       %x = 0
    end
    if @both(@both(@greater(@mousepos(X),%%menuX), @greater(@sum(%%menuX, %%menuW), @mousepos(X))), @both(@greater(@mousepos(Y),@sum(%%menuY, @dlgpos(Menu%x, T))), @greater(@sum(18,%%menuY, @dlgpos(Menu%x, T)),@mousepos(Y))))
       DIALOG SHOW, Menu%xiconHL
       DIALOG SHOW, Menu%xHL
    else
       DIALOG HIDE, Menu%xiconHL
       DIALOG HIDE, Menu%xHL
    end
    Parse "%e;%d", @event(D)
  UNTIL %e
  if @equal(@substr(%e,1,4), "Menu")
     %x = @substr(%e,5)
     goto Menu%x
  end
  goto %e

:Menu0
  GOSUB CloseMenu
  %f = @filedlg()
  goto EVLOOP

:Menu1
  GOSUB CloseMenu
  INFO Save something here. @tab()
  goto EVLOOP

:Menu2
  GOSUB CloseMenu
:CLOSE
  EXIT

rem ---- GOSUB ROUTINES ----

:CloseMenu
  if %%menu
     DIALOG SELECT, %%menu
     DIALOG CLOSE, %%menu
     %e = @event()
     %%menu = ""
  end
  exit

Cheers, Mac

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Visual DialogScript 3 Source Code All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum

Twitter@vdsworld       RSS

Powered by phpBB © 2001, 2005 phpBB Group