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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1203
しゃぷれはにゃよタブ管理ってできますか?3未解決


しゃぷれはにゃよ

リンク

2023/12/3(Sun) 16:34:56|NO.100715

Windowsメモ帳のクローンを作りたいと思っています
・タイトルのついたタブ
・それぞれの✖ボタンで閉じる
・右の+を押して増やせる
等のやり方がわかりません
なお、選択した奴は配列に内容を入れておいて、mesboxで反映させようかなと思っています
難しそうですが、概念コードでもいいのでお願いします。



この記事に返信する


あいそとーぷ

リンク

2023/12/4(Mon) 01:45:49|NO.100718

初心者ながらタブっぽいものを作ってみました。
ご自由にお使いください。

sx = 640 sy = 480 screen 0,sx,sy title "メモ帳" onclick gosub *click TABMAX = 6 //タブの上限 font msgothic,20 tabNum = 1 //タブの数 nowTab = 0 //現在のタブ a = 0 sdim tabName,,TABMAX //タブの名前 tabName.0 = "NewTab"+a a++ *main //タブの描画 redraw 0 if(tabNum == 0):end //タブの数が0なら終了 color 255,255,255 boxf color repeat tabNum line 100*(cnt+1),0, 100*(cnt+1),25 pos 100*cnt+5,5 mes tabName.cnt pos 100*(cnt+1)-15,0 mes "x" loop line 0,25, 100*nowTab,25 line 100*(nowTab+1),25, sx,25 //一番後ろに+ if (tabNum != TABMAX){ pos 100*tabNum+5,5 mes "+" } redraw 1 await 33 goto *main *click mx = mousex my = mousey if (my<=25){ repeat tabNum if(100*cnt<=mx && mx<100*(cnt+1)-15){ //タブ選択 nowTab = cnt }else:if( 100*(cnt+1)-15<=mx && mx<100*(cnt+1) ){ //タブ削除 for i,cnt,tabNum-1,1 tabName(i) = tabName(i+1) next if(nowTab==tabNum-1 || nowTab>cnt) :nowTab-- tabNum-- } loop if(100*tabNum<=mx && mx<=100*tabNum+20){ //タブ作成 tabName(tabNum) = "NewTab"+a a++ tabNum++ } } return



nennneko5787

リンク

2023/12/6(Wed) 18:29:59|NO.100756

タブコントロールを使えばできます。
http://lhsp.s206.xrea.com/hsp_object6.html



沢渡

リンク

2023/12/7(Thu) 20:41:51|NO.100770

タブコントロールにどうやって「×ボタン」や「+ボタン」を実装するのか、
試しにbutton命令で作ったボタンをタブコントロールの子ウィンドウ
(ウィンドウ全体から見ると孫ウィンドウ)にするという方法で
やってみましたが、これだとボタンを押した時の割り込みが
発生しなくなってしまいました。

よしんばこの方法で実装可能だったとしても、
恐ろしく話が面倒になりそうな気配がありますし、
やっぱりあいそとーぷさんの「自前でタブを描画する」という
やり方がベストかもしれませんね。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100715への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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