回 帖 发 新 帖 刷新版面

主题:有没有做的漂亮的菜单,给出来几个大家一起观摩观摩??

搜了下本区几个菜单的,都是做的十分简单的.
怎么才能做出漂亮的菜单呢?  我想难就难在设计上,确切的说应该在美工上吧!  大家有没有做的漂亮的菜单啊?有的话摆出几个来分享分享!!!!呵呵

回复列表 (共3个回复)

沙发

各人有各人的喜好
正所谓萝卜青菜。。。。
你有想法,付诸行动就是了
记得注意点运行速度
搞清楚什么才是最重要的

板凳

这玩意要漂亮就只能贴图片了...限于640x480x16色容易实现点...所以..你的图片也受到了限制.要点渐变的效果也就显示得麻麻点点.(一般来说我是用photoshop软件把24位的图片变成16色的图片.再用程序处理成QB能读取的格式)..另外加一句:用put显示图片.只能显示1/4屏幕大小.也就是说.你要显示640x480就得分四次显示(四张图片是预先存好了的.QB能读取的格式).
诚然这种程序能写出来.但毕竟咱们是业余的..写出来的可移植性非常弱.你是很难看懂调用的....
所以结论就是DOS的QB程序又带汉字.又带鼠标.还有菜单.640x480x16色....
凑合这先用吧

3 楼

DECLARE FUNCTION wins% (z$)
PRINT wins("abc,efg,123,4567")

DEFINT A-Z
FUNCTION wins (z$)
t1 = 1
t2 = 1
IF LEFT$(z$, 1) = "?" THEN
   xscr = 1
   t1 = VAL(MID$(z$, 2, 3))
   z$ = MID$(z$, 11)
ELSE
   'scrc ts$
END IF
x = CSRLIN
y = POS(0)
s$ = z$
l = LEN(s$) \ 2
DIM a$(l)
i = INSTR(s$, ",")
DO WHILE i
   j = j + 1
   a$(j) = LEFT$(s$, i - 1)
   s$ = MID$(s$, i + 1)
   IF LEN(a$(j)) > ml THEN ml = LEN(a$(j))
   i = INSTR(s$, ",")
LOOP
a$(0) = s$   '标题
IF j < 1 OR ml < 1 THEN EXIT FUNCTION
IF j > 22 THEN j = 22
ml = ml + (ml MOD 2)
IF ml > 74 THEN ml = 74
IF x + j > 23 THEN x = (24 - j) \ 2
IF y + ml > 75 THEN y = (76 - ml) \ 2
IF a$(0) <> "" THEN x2 = 1 ELSE x2 = 0
x2 = 1
LOCATE x, y, 0
'txx j + x2 + 1, ml

LOCATE , , 0
IF x2 > 0 THEN
  COLOR 31, 1
  LOCATE x + 1, y + 5
  PRINT LEFT$(a$(0), ml - 2);
END IF

x = x + x2
y = y + 3
COLOR 0, 7
FOR i = 1 TO j
    LOCATE x + i, y
    a$(i) = LEFT$(a$(i) + SPACE$(ml), ml)
    PRINT a$(i);
NEXT
DO
  IF t1 > j THEN t1 = 1
  IF t1 < 1 THEN t1 = j
  COLOR 0, 7
  LOCATE x + t2, y
  PRINT a$(t2);
   COLOR 31, 5
   LOCATE x + t1, y
   PRINT a$(t1);
  t2 = t1
  LOCATE 1, 80, 0
  tout# = TIMER
  DO
    SLEEP 1
    IF TIMER - tout# > 1800 THEN EXIT FUNCTION
    k$ = INKEY$
  LOOP WHILE k$ = ""
  SELECT CASE k$
  CASE CHR$(0) + CHR$(72): t1 = t1 - 1      '上
  CASE CHR$(0) + CHR$(80): t1 = t1 + 1      '下
  CASE CHR$(0) + CHR$(71), CHR$(0) + CHR$(73), CHR$(0) + CHR$(119): t1 = 1
  CASE CHR$(0) + CHR$(81), CHR$(0) + CHR$(79), CHR$(0) + CHR$(117): t1 = j
  CASE CHR$(49) TO CHR$(57): t1 = ASC(k$) - 48   '1-9
  CASE CHR$(27), CHR$(48): W = -1
  CASE CHR$(13): W = t1
  END SELECT
LOOP UNTIL W
'IF ts$ <> "" THEN scrc ts$
COLOR 7, 0
IF W > 0 THEN
   wins = W
   z$ = LTRIM$(RTRIM$(a$(W)))
ELSE
   z$ = ""
END IF
END FUNCTION

我来回复

您尚未登录,请登录后再回复。点此登录或注册