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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0619
centerlistboxの拡張Yサイズについて8未解決


center

リンク

2010/6/19(Sat) 20:09:47|NO.33322

Windows7ですが、listbox命令でobjsize命令も兼用して、
画面ぴったりに収まるようにレイアウトしたいのですが、どうも拡張Yサイズってのがわからなくて、
数値をいじっても画面ぴったりに収まりません。
どうしてでしょうか?
	screen 0,100,100,0
pos 0,0:objsize 100,100:listbox list,120,"AAAAA\nBBBBB\nCCCCC"



この記事に返信する


Kpan

リンク

2010/6/19(Sat) 20:30:00|NO.33323

表示文字列が途中切れしないようサイズ調整されます。
http://hsp.tv/play/pforum.php?mode=all&num=32987
http://hsp.tv/play/pforum.php?mode=pastwch&num=1198



whoさん

リンク

2010/6/19(Sat) 20:36:02|NO.33324

実行したときに、ウィンドウのサイズが100×100ではないような気がします。



center

リンク

2010/6/19(Sat) 20:44:04|NO.33325

>>Kpanさん
回答ありがとうございます。
なるほど、そうだったんですか。

どうしてもぴったり表示させたいのですが、フォントサイズを弄るしかないんでしょうか?
また、拡張Yサイズとobjsizeの第2パラメータ(Yサイズ)とはどう違うのでしょうか?
最適な数値がわからないので教えてください。



center

リンク

2010/6/19(Sat) 20:45:36|NO.33326

>>whoさんさん(何かすみません。。)
それはタイトルバーとかも含めたサイズってことですよね?
ちょっと質問が悪かったと思いますが、あくまでも画面サイズのことなんで気にしないでください^^;



Hiroaki Software

リンク

2010/6/19(Sat) 20:56:11|NO.33327

>whoさん
クライアント領域は126×100になってます



info

リンク

2010/6/20(Sun) 01:22:20|NO.33330

リストボックスに [ LBS_NOINTEGRALHEIGHT ]
のウインドウスタイルを追加すると大丈夫です。

少し前に、同じ質問が有りましたので、そちらも参考にしてください。
>> ttp://hsp.tv/play/pforum.php?mode=all&num=32987



木村

リンク

2010/6/20(Sun) 12:43:37|NO.33342

 拡張Yサイズとobjsize指定のYサイズとの違いについて調べてみました。
(参考資料として下記のスクリプトを流しながら読んでください)

m="A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nL\nM\nN\nO\nP\nQ\nR\nS\nT\nU\nV\nW\nX\nY\nZ" dim k,5,3,3 repeat 48,1 color 128,128,128 if cnt\2=0 : color 0,255,128 if cnt\4=0 : color 0,192,192 if cnt\8=0 : color 64,64,255 line -1,cnt*10,640,cnt*10 if cnt\2=0 : line -1,cnt*10+1,640,cnt*10+1 if cnt\8=0 : line -1,cnt*10-1,640,cnt*10-1 loop repeat 45 a=cnt\3 : b=cnt/3\3 : c=cnt/3/3 : logmes "("+a+","+b+","+c+")" objsize 40,40+a*20 : font "MS 明朝",10+c*2 : objmode 2 pos a*200+c*40,b*(b+1)*40 : listbox k(a,b,c),b*80,m loop
 フォントの違う5種類のリストボックスを単位とし、右方向にはobjsizeのYサイズを+20ずつ、
下方向にはlistboxの拡張Yサイズを+100ずつ増加させて、リストボックスを作っています。
 このスクリプトから分かるlistbox命令の性質は
1,Yサイズは『objsizeY+listbox拡張Y』の範囲内で“大体”近い値を取る
2,フォントが違ってもリストボックスのサイズが『objsizeY+listbox拡張Y』を上回る事は無い

 つまり、listbox命令とは

 いかなる場合でも、『objsizeY+listbox拡張Y』以内のサイズのリストボックスを作る命令
と、言えるようです。

 じゃあ、解決法は? と言われるかと思いますが、そこはinfoさんがリンクを張られた先を
御覧下さいと言う事になります。長文失礼いたしました。



メロンパン

リンク

2010/6/20(Sun) 14:33:52|NO.33345

僕の場合は、Windowsオブジェクトにこだわる理由もないので、
リストボックスとほぼ同じ挙動をするようなスクリプトを自分で組みました。
独自性や拡張性も増えるし、何より楽しいですよ♪



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