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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0920
京浜東北・根岸線サイズ改変可能ウィンドウでサイズが改変された時にテキストボックスもサイズ変更するようにできますか?2解決


京浜東北・根岸線

リンク

2019/9/20(Fri) 20:02:08|NO.88457

ほぼ内容をタイトルに入力しちゃってますが、
サイズが変更出来るウィンドウでサイズ変更されたら、テキストボックスもサイズ変更するようにできますか?
ウィンドウタイマーでやろうと考えたんですけど、0.5秒ごとにサイズ変更されるのはちょっと違和感ですし、一番上にまた戻っちゃうのも欠点です。
メモ帳(C:\System32\notepad.exe)のようにスマート(?)にサイズ変更する方法はありますか?
説明が下手ですみません。



この記事に返信する


Ponyo

リンク

2019/9/20(Fri) 22:20:29|NO.88458

...これで、あってますかね?違ってたらごめんなさい(^^;)


// *** インクルード *** // #include "user32.as" #include "obj.as" ; [!] APIを使用するのが面倒くさい人用 // *** ウィンドウメッセージの定義 *** // #define WM_SIZE 0x0005 // *** ウィンドウの作成や設定 *** // screen 0, GINFO_DISPX, GINFO_DISPY, 0, -1, -1, 640, 360 title "ウィンドウサイズに伴うオブジェクトサイズの変更" GetWindowLong hwnd, -16 SetWindowLong hwnd, -16, stat | $10000 | $40000 sendmsg hwnd, $112, $F030 // *** ウィンドウメッセージの割り込み *** // oncmd gosub *_OnSize, WM_SIZE // *** オブジェクトの設置 *** // textBox = "" repeat 256 textBox = textBox + "文字を埋めます" loop font "Yu Gothic UI", 20 objmode 2 mesbox textBox, GINFO_WINX, GINFO_WINY, 1 objectID = stat ; [!] オブジェクト関係の命令は stat にオブジェクトIDが返されます gosub *_OnSize ; [!] 初期のみ実行 stop // *** ウィンドウサイズ変更時 *** // *_OnSize getobjsize r, objectID r(0) = GINFO_WINX r(1) = GINFO_WINY resizeobj objectID, r return

★今回はAPIから簡単にオブジェクトサイズを変更できる「obj」というモジュールを使用していただきました。
今回のポイントはウィンドウメッセージです。知ってたら飛ばしてください。

例えば、ウィンドウが終了したり、クリックしたり、動いたり...など(詳細→http://note.phyllo.net/?eid=1106271)
簡単(?)に言えば、対象のウィンドウに何かが起きるのを検知するセンサーのようなものです。
→今回の場合は、ウィンドウのサイズが変更された時に指定したラベル(*_OnSize)に飛ぶようにしています。

※objのモジュールについてはHDLの方をご確認ください。



京浜東北・根岸線

リンク

2019/9/21(Sat) 16:38:40|NO.88471

ありがとうございました。
それで合っています。
無事にできました。



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