HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0402
ssメニューバーの自作4未解決


ss

リンク

2009/4/2(Thu) 16:40:27|NO.24341

メニューバーを自作しようと思うのですが、なかなかうまくいきません。
メニューのオーナードローという方法もあるようなのですが、
いろいろな都合により自作したほうが手っ取り早いのです。
どなたか、簡単でいいですのでサンプルを下さるとありがたいです。



この記事に返信する


いかろ

リンク

2009/4/2(Thu) 17:10:42|NO.24343

汚いソース&見栄えが悪いですけどこんな感じですか?
後はこれに付け加えていけばいいと思います。

#define menu_bar_sizex 100 #define menu_bar_sizey 20 #define pull_downy 200 #define contents_max 3 buffer 2 color 200,200,200:boxf buffer 3 color 240,240,240:boxf buffer 4 repeat 2 pos cnt*menu_bar_sizex,0 gcopy cnt+2,0,0,menu_bar_sizex,menu_bar_sizey mes "ファイル" loop buffer 5 repeat 2 pos cnt*menu_bar_sizex,0 gcopy cnt+2,0,0,menu_bar_sizex,menu_bar_sizey mes "編集" loop buffer 6 repeat 2 pos cnt*menu_bar_sizex,0 gcopy cnt+2,0,0,menu_bar_sizex,menu_bar_sizey mes "ヘルプ" loop buffer 7 gcopy 2,0,0,menu_bar_sizex,pull_downy repeat 5 pos 0,cnt*20 mes "項目"+cnt loop gsel 0,1 repeat redraw 0 color 255,255,255:boxf repeat contents_max pos cnt*menu_bar_sizex,0 if (mousex>=cnt*menu_bar_sizex)&(mousex<(cnt+1)*menu_bar_sizex)&(mousey>=0)&(mousey<=20){ gcopy cnt+4,menu_bar_sizex,0,menu_bar_sizex,menu_bar_sizey pos cnt*menu_bar_sizex,20 gcopy 7,0,0,menu_bar_sizex,pull_downy }else{ gcopy cnt+4,0,0,menu_bar_sizex,menu_bar_sizey } loop await redraw 1 loop



ss

リンク

2009/4/2(Thu) 17:16:55|NO.24345

うーん・・・
できればモジュールにしてもらって、命令一つで
メニューの項目を追加するなんてことできないでしょうか・・・
そうすればメニューの管理も楽なんで・・・



hspail

リンク

2009/4/2(Thu) 17:43:22|NO.24346

配列変数で管理するとよいでしょう。


#module #deffunc AddMenu str name menu@(c) = name c++ return #deffunc AddItem str name if c != _c : c2 = 0 _c = c item@(c-1, c2) = name c2++ return #global sdim menu, 1000, 10 sdim item, 100000, 10, 100 AddMenu "ファイル" AddItem "新規" AddItem "開く" AddMenu "編集" AddItem "元に戻す" AddItem "やり直し" AddMenu "ヘルプ" AddItem "バージョン情報" // 配列変数 item の構造を表示 repeat 3 pos cnt*200, 0 print "["+menu(cnt)+"] ("+cnt+")" repeat 10 print "("+cnt2+", "+cnt+")="+item(cnt2, cnt) loop cnt2++ loop

あとはいかろさんのサンプルと組み合わせてできますね?
全部他人に作ってもらおうとるするのではなく、自分で作ってみて、わからないところがあったら質問するようにしましょう。



e

リンク

2009/4/2(Thu) 20:43:51|NO.24351

>うーん・・・
>できればモジュールにしてもらって、命令一つで
>メニューの項目を追加するなんてことできないでしょうか・・・
>そうすればメニューの管理も楽なんで・・・

これこそ、こんな質問にマジレスなんかする必要ない。



ONION software Copyright 1997-2023(c) All rights reserved.