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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1205
可変ウィンドウについて4解決


リンク

2010/12/5(Sun) 21:55:34|NO.36135

たびたび失礼します。
可変ウィンドウを導入し、その上から
mesboxやlistboxなどといった、サイズの指定できるもの
を可変ウィンドウとサイズを同期させて、
表示するにはどうしたらいいでしょうか?

このソースはサンプルソースです。
#include "user32.as"
screen , ginfo(20), ginfo(21) ; サイズ可変ウィンドウ化 GetWindowLong hwnd, -16 SetWindowLong hwnd, -16, stat | $10000 | $40000 width 300, 300 stop
このscreen のp2,p3部分をobjsizeで指定すればいいと思いましたが、
スクロールバーが消え、めちゃくちゃになりました。

どうすればよろしいでしょうか?
ご教示よろしくおねがいします。



この記事に返信する


u

リンク

2010/12/5(Sun) 23:09:51|NO.36138

WM_SIZINGメッセージなどを受け取ったらその都度コントロールのサイズを変更するのが一般的だと思います。



ESZET

リンク

2010/12/6(Mon) 12:02:46|NO.36143

こんな感じでしょうか?

#include "obj.as" #include "user32.as" #define WM_RESIZE 0x5 //ウインドウのリサイズ txt = "" screen , ginfo(20), ginfo(21) GetWindowLong hwnd, -16 SetWindowLong hwnd, -16, stat | $10000 | $40000 width 300, 300 oncmd gosub *resize, WM_RESIZE //リサイズされたら割り込み mesbox txt, ginfo_winx, ginfo_winy, 5 stop *resize size = ginfo_winx, ginfo_winy,0,0 resizeobj 0, size, 1 //リサイズ return



beat

リンク

2010/12/6(Mon) 23:13:36|NO.36150

以前 私はこんな感じにしていました、参考になれば。

#include "user32.as"
#define WM_SIZE 0x00005 //ウィンドウサイズ変更 #define WS_MAXIMIZEBOX 0x10000 //最大化ボタン #define WS_THICKFRAME 0x40000 //サイズ変更可能 screen 0, ginfo_dispx, ginfo_dispy : width 300, 300 GetWindowLong hwnd, -16 SetWindowLong hwnd, -16, stat | WS_THICKFRAME | WS_MAXIMIZEBOX sdim text mesbox text, ginfo_winx, ginfo_winy : hMesbox = objinfo(stat, 2) oncmd gosub *resize, WM_SIZE stop *resize ;x = lparam & $FFFF : y = (lparam >> 16) & $FFFF SetWindowPos hMesbox, 0, 0, 0, ginfo_winx, ginfo_winy, 0 return



リンク

2010/12/7(Tue) 22:34:42|NO.36153

ESZETさん,beatさん
ありがとうございました!
とても参考になりました!



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