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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0412
yuuto拡張ダイアログについて2未解決


yuuto

リンク

2018/4/12(Thu) 14:33:32|NO.84012

ダイアログの表示についてです。
拡張ダイアログ(64〜)の使い方がわかりません。

dialog "あいうえお",64,"拡張ダイアログ"
とやってもなにも出てきません。
どうすれば拡張ダイアログができるのでしょうか。



この記事に返信する


Seal

リンク

2018/4/12(Thu) 16:28:52|NO.84013

ダイアログを開く

dialog "message",p1,"option"

p1=0〜(0) : ダイアログのタイプ設定解説
Windowsの標準的な各種ダイアログボックスを画面に表示します。
dialog命令で出したダイアログは、 HSPのウィンドウとは別にポップアップして現われます。

ユーザーの操作によりダイアログを閉じるまでは、 HSPスクリプトの続きは実行されません。

ダイアログのタイプは、p1の設定によって変わります。

タイプ : 内容
-----------------------------------------------------
0 : 標準メッセージボックス + [OK]ボタン
1 : 警告メッセージボックス + [OK]ボタン
2 : 標準メッセージボックス + [はい][いいえ]ボタン
3 : 警告メッセージボックス + [はい][いいえ]ボタン
16 : ファイルOPEN(開く)ダイアログ
17 : ファイルSAVE(保存)ダイアログ
32 : カラー選択ダイアログ(固定色)
33 : カラー選択ダイアログ(RGBを自由に選択)
64〜 : 拡張ダイアログ

タイプ0〜3の場合は、"message" で指定した内容を表示するメッセージボックスが現われます。また、"option"でメッセージボックスのタイトルバー文字列を指定することができます。(省略した場合はタイトルに何も表示されません)
メッセージボックスが閉じられると、押したボタンの情報がシステム変数statに代入されます。この時、変数statの内容は、

1 :「OK」ボタンが押された
6 :「はい」ボタンが押された
7 :「いいえ」ボタンが押された

のようになります。

タイプ16〜17の場合は、ファイル一覧から選択をするためのファイル選択ダイアログが現われます。この時、 "message"にロード(またはセーブ)するファイルの拡張子(3文字まで)を指定して、 その拡張子だけが表示されるようにすることができます。("*"を指定するとすべてのファイルが表示されます)
また、"option"で拡張子の詳細、たとえば "txt"ならば、"テキストファイル"などの補助的な説明がダイアログの「ファイルの種類」に表示されます。
"option"は省略することも可能です。

例 :
dialog "txt",16,"テキストファイル"
dialog "STAT="+stat+"\nNAME="+refstr,0,"結果"
stop

ファイル選択が完了すると、その結果がシステム変数statに代入されます。
変数statが1ならば、正常に選択されたことを意味します。変数statが0ならば、キャンセルされたかエラーが発生したことを意味しています。
「|」記号により区切ることで複数のファイル種別を指定することが可能です。

例 :
dialog "txt|log",16,"テキストファイル|ログファイル"
dialog "STAT="+stat+"\nNAME="+refstr,0,"結果"
stop

タイプ32〜33の場合は、カラー選択をするダイアログが表示されます。色選択が終了すると、選択した色のRGBデータがシステム変数、 ginfo_r,ginfo_g,ginfo_bに代入されます。また、変数 statが0ならば、キャンセルされたかエラーが発生したことを意味しています。1ならば、正常に選択されたことを意味します。

例 :
dialog "",33
dialog "R="+ginfo_r+"/G="+ginfo_g+"/B="+ginfo_b,0,"結果"
stop


タイプ64以降の値は、ランタイムごとに用意される拡張ダイアログのために予約されています。 サポート外のタイプが指定された場合には、何も実行されません。

とのことです。



あらや(旧名あまら)

リンク

2018/4/13(Fri) 16:22:40|NO.84025

基本的に現状では64以降は使えません。
http://dev.onionsoft.net/trac/openhsp/browser/trunk/hsp3/win32gui/hsp3gr_wingui.cpp#L651

上記URLの667行目〜669行目が64以降で行なわれる処理にあたりますが
何の処理も無くreturnしているのがわかると思います。



【ランタイムごとに用意される拡張ダイアログのため〜】という説明で
何らかの方法を使えば64以降が使えそうに思えますが、
それを利用したランタイムやプラグインなどを
(少なくとも私は)見たことが無いので、現在使えないという結論になります。

もし使いたいというのであればご自分でランタイムから作成する
という形しか無いかと思われます。



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