|
|
用新DiskEmu修改版如何制作反白选单?
下面引用由bradyzhu在 2002/11/14 07:13pm 发表的内容:
能大概说一下用啥方法吗,也许我可以写在代码里。
毕竟用代码比用脚本来构架功能容易。 可以用DOM来处理方便的XML,当用户在程序界面输入值的时候,程序把相应的属性填上就可以了,最后再遍历整个XML就可以生成相应的cmd文件了。
大概的XML架构如下:
<MenuList>
<Menu id="diskemu">
<label id="entrypoint">
<logo time="" bmpfile=""/>
</label>
<label id="setdac">
<setdac dest="" R="" G="" B=""/>
<setdac dest="" R="" G="" B=""/>
...
</label>
<label id="backcolor">
<backcolor>1</backcolor>
<cls />
<transparent>on</transparent>
</label>
<label id="colorblock">
<colorblock color="" x1="" y1="" x2="" y2=""/>
<colorblock color="" x1="" y1="" x2="" y2=""/>
...
</label>
<label id="maintext">
<forecolor>1</forecolor>
<print>1</print>
<print>2</print>
<!--总共24个print-->
...
</label>
<label id="drawtext">
<drawtext fgcolor="" bgcolor="" x="" y="">t</drawtext>
...
<setdefault>menutime</setdefault>
<goto>~</goto>
</label>
<label id="keymap">
<onkey keycode="1" todo="goto run1"/>
<onkey keycode="2" todo=""/>
<goto>~</goto>
</label>
<label id="menutime">
<!--突显菜单-->
<menubar from="" to=""/>
<menucolor fgcolor="" bgcolor=""/>
<highlight />
<highlight line=""/>
<!--时间显示-->
<timerpos x="" y=""/>
<timercolor fgcolor="" bgcolor=""/>
<getkey showtime="" keycode=""/>
<colorblock color="" x1="" y1="" x2="" y2=""/>
<!--按键处理-->
<onkey keycode="entr" setkey=""/>
<onkey keycode="up" goto=""/>
<onkey keycode="down" goto=""/>
<setdefault>menu1</setdefault>
<goto>keymap</goto>
</label>
<!--菜单项1-->
<label id="menu1">
<menubar from="" to=""/>
<menucolor fgcolor="" bgcolor=""/>
<highlight />
<highlight line=""/>
<onkey keycode="entr" setkey=""/>
<onkey keycode="up" goto=""/>
<onkey keycode="down" goto=""/>
<setdefault>menu1</setdefault>
<goto>keymap</goto>
</label>
<!--克隆菜单项1,再修改相应的属性,即可生成菜单项2-->
<label id="menu2">
<menubar from="" to=""/>
<menucolor fgcolor="" bgcolor=""/>
<highlight />
<highlight line=""/>
<onkey keycode="entr" setkey=""/>
<onkey keycode="up" goto=""/>
<onkey keycode="down" goto=""/>
<setdefault>menu2</setdefault>
<goto>keymap</goto>
</label>
<!--执行菜单项1的命令-->
<label id="run1">
...
</label>
</Menu>
<!--克隆上面的,再修改id,即可生成子菜单-->
<Menu id="submenu1">
</Menu>
</MenuList>
|
|