hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
ウィンドウとオブジェクトのリサイズ - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

小ワザ

ウィンドウとオブジェクトのリサイズ

ウィンドウサイズを変更したときに一緒にオブジェクトのサイズを変更するサンプルです。

サイズ変更可能なウィンドウを作る

ウィンドウID1以上のウィンドウは、標準でサイズを自由に変えることが可能なスタイルを持ちます。
このスタイルで作成したウィンドウの端にマウスカーソルを合わせ、アイコンが変わったところでドラッグすることでウィンドウサイズを変更することが出来ます。

オブジェクトのサイズを変更する

  • objsize
    標準命令ではobjsize命令が用意されています。この命令は、オブジェクトを配置する際の標準のオブジェクトサイズを指定できます。オブジェクトを設置する前に実行する必要があります。
  • resizeobj
    llmod3またはobjモジュールの命令です。
    すでに設置してしまったオブジェクトのサイズを変更することが出来ます。

ウインドウのサイズが変更されたことを知る

OSからのメッセージを受け取ることによって、ウィンドウサイズが変更されたことを知ることが出来ます。
oncmd命令を使ってメッセージを受け取ります。
「ウインドウのサイズが変更」されたことを検出するには次のように使います。

#define WM_SIZE 0x5	;ウインドウのサイズが変更
oncmd goto *resz, WM_SIZE

参考資料:WinAPI Database for VB Programmer - ウィンドウメッセージ一覧表示

サンプルを見てみる

+  ウィンドウサイズ変更にあわせてオブジェクトのサイズを変更するサンプル

oncmd命令は、「oncmd goto」に設定するとリサイズ中にオブジェクトサイズが変更されないようです。 「oncmd gosub」を利用するようにしてください。
(理由はわかりません。)

コメント

  • しかしこれ、ウィンドウのリサイズはオブジェクトサイズ変わらないんですよね。サイズ変更中まで連動させるにはどうしたらいいのやら。まあいいか。 -- GENKI? 2009-06-27 (土) 20:11:00
    • oncmd gotoをoncmd gosubに変えたら上手くいきました。fujidigさんありがとー! [bsmile2] -- GENKI? 2009-06-27 (土) 21:08:05
  • おお! [a2] スゴイですね! 使わしていただきます♪ -- SPK? 2012-10-27 (土) 20:42:35

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2012-10-27 (土) 20:42:35 (406d)