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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0125
ピエールウインドウの横(縦)だけを可変する方法3未解決


ピエール

リンク

2015/1/25(Sun) 23:40:34|NO.67088

HSPのウインドウを可変させるにはどんな命令を使えばいいんでしょうか?

横だけとか縦だけとかびよーーーーんて引っ張る方法を教えてください。



この記事に返信する


kanahiron

リンク

2015/1/26(Mon) 00:05:40|NO.67089


#define WM_SIZING 0x0214 scrw = 640 ;ウィンドウの幅を決める scrh = 480 gsel 0, -1 screen 1, scrw, scrh*2,0,,,,480 // 縁の幅 framesx = ginfo_sizex - ginfo_winx framesy = ginfo_sizey - ginfo_winy oncmd gosub *onMessage, WM_SIZING stop *onMessage // lparam には RECT 構造体が送られる dupptr left, lparam, 4 dupptr top, lparam+4, 4 dupptr right, lparam+8, 4 dupptr bottom, lparam+12, 4 // マウスカーソルの位置とwParamの関係: // 4 3 5 // ┌─-─┐ // 1│ │2 // └─-─┘ // 7 6 8 switch wparam case 1 case 4 case 7 left = right-scrw-framesx swbreak case 2 case 5 case 8 right = left+scrw+framesx swbreak swend return 1
これで多分大丈夫だと思います

過去に自分が似たような質問をし、その回答を改変しました
http://hsp.tv/play/pforum.php?mode=all&num=65574



kanahiron

リンク

2015/1/26(Mon) 00:11:09|NO.67090

あ 的はずれな回答だったかも…
HSPの仕様でscreenのID1以降は可変できるウィンドウになります
可変できるサイズはscreen命令の第1,2引数で指定した数までです

上に書いたのはその仕様の上で、上下方向のみを動かせるようにしたものです
逆に左右の大きさのみを変えたい場合はswitch wparam〜swendの部分をいじります

rect構造体など分からない言葉があったら検索してみてください
検索してもわからないことがあれば聞いてください



ピエール

リンク

2015/1/26(Mon) 05:55:00|NO.67092

kanahironさん

ありがとうございます。
ご提示されたサンプルで想定した動きが実現しました!

因みにウインドウの最小値を指定することは可能でしょうか?



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