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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0121
Kcls命令で画面がちゃんとクリアされない3未解決


K

リンク

2014/1/21(Tue) 22:20:25|NO.59445

HSP3.32bを使っています.

screen 0, 100, 100, 0
cls 4

上のコードで, 画面を黒でクリアすることができませんでした.

screen 0, 150, 100, 0
cls 4

しかし, 上のコードを実行すると, ちゃんと画面が黒でクリアされていました.

みなさんの環境ではどのような結果になりましたか?



この記事に返信する


fortunehill

リンク

2014/1/21(Tue) 22:56:11|NO.59447

/*ご参考*/

screen 0, 125,37,0 #uselib "user32 #func global GetSystemMetrics "GetSystemMetrics" sptr GetSystemMetrics 28 ;SM_CXMIN ウィンドウの最小幅 mes stat GetSystemMetrics 29 ;SM_CYMIN ウィンドウの最小高 mes stat wait 100 cls 4



リンク

2014/1/22(Wed) 09:05:10|NO.59459

ウィンドウが小さすぎるのが原因です。clsに限らず、boxfもこうなりますよ。



MillkeyStars

リンク

2014/1/22(Wed) 11:31:40|NO.59462

ウィンドウの、枠・アイコン・最小化・最大化・閉じるボタンを含めたサイズよりクライアント領域のサイズが小さければ書き換えできない領域が出るのが自然です。
これは Windows の仕様ですので、問題ありません。

fortunehill さんのスクリプトにて、ウィンドウ枠自体(アイコン・ボタン類含む)の必要サイズを取得できるので、クライアントサイズがそれを下回らない程度にクライアント領域を設定してください。
HSP側から行う、cls・boxf などの描画命令は、クライアント領域を超えないようになるように作られています。



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