GETFILENAME

使い方:   $s = dllfuncstr("GETFILENAME",#n1,$s2,$s3,$s4);
説明: 「ファイルを開く」コモンダイアログを表示して、 ユーザーが選んだファイル名を返します。
引数:
#n1 : オーナーウィンドウのウィンドウハンドル(または 0)
$s2 : ダイアログのタイトル文字列(ex. "ファイルの参照")
$s3 : 初期フォルダ名(\初期ファイル名)
"" または "." を指定すると現在のフォルダになります。
また、現在のフォルダで初期ファイル名を指定したい時は ".\初期ファイル名" として下さい。
$s4 : 「ファイルの種類」コンボボックスに追加するフィルタ文字列 (複数指定可。なければ "" を指定)

(一つの)フィルタ文字列の書式は以下の通りです。
    "explain(ext[;ext...])"

    explain: 説明文
    ext: 拡張子指定(例:"*.txt")
    (複数ある場合はセミコロンで区切って指定)
返り値: ダイアログで指定されたファイルのフルパス名が返ります。
ファイルが複数指定された場合は、 フォルダ名に続けてファイル名を "|" で区切ったものが返ってきます ("dirname|file1|file2|..")。
キャンセルの場合は "" が返ります。
例:
$selectfile = dllfuncstr("GETFILENAME",
                hidemaruhandle(0),
                "ファイルを選択して下さい",
                "C:\\windows",
                "'実行ファイル(*.com;*.exe)' 'スクリーンセーバー(*.scr)'"
            );
if ($selectfile != "") {
    message "選択されたファイルは " + $selectfile + " です";
}


GETDIRNAME

使い方:   $s = dllfuncstr("GETDIRNAME",#n1,$s2,$s3);
説明: 「フォルダの指定」コモンダイアログを表示して、 ユーザーが選んだフォルダ名を返します。

なお、各フォルダは名前順にソートされます (GETDIRNAMEEX() も同様)。
引数:
#n1 : オーナーウィンドウのウィンドウハンドル(または 0)
$s2 : ダイアログのタイトル文字列(ex. "フォルダの参照")
$s3 : 初期フォルダ(&ファイル)名("" ならカレントフォルダ)
返り値: ダイアログで指定されたフォルダ名が返ります。 キャンセルの場合は "" が返ります。
例:
$selectdir = dllfuncstr("GETDIRNAME",
                hidemaruhandle(0),
                "フォルダを選択して下さい",
                "C:\\windows"
            );
if ($selectdir != "") {
    message "選択されたフォルダは " + $selectdir + " です";
}


GETDIRNAMEEX

使い方:   $s = dllfuncstr("GETDIRNAMEEX",#n1,$s2,$s3,#n4);
説明: 「フォルダの指定」コモンダイアログを表示して、 ユーザーが選んだフォルダ名を返します。 GETDIRNAME 関数とは異なり、 フォルダの作成・名前の変更・削除ができるようになっています。
引数:
#n1 : オーナーウィンドウのウィンドウハンドル(または 0)
$s2 : ダイアログのタイトル文字列(ex. "フォルダの参照")
$s3 : 初期フォルダ(&ファイル)名("" ならカレントフォルダ)
#n4 : 1 を指定するとフォルダ操作ができるようになります。
0 を指定するとフォルダ操作を禁止します。
返り値: ダイアログで指定されたフォルダ名が返ります。 キャンセルの場合は "" が返ります。
例:
$selectdir = dllfuncstr("GETDIRNAMEEX",
                hidemaruhandle(0),
                "フォルダを選択して下さい",
                "C:\\windows",
                1
            );
if ($selectdir != "") {
    message "選択されたフォルダは " + $selectdir + " です";
}


GETCOLOR

使い方:   $s = dllfuncstr("GETCOLOR",#n1,$s2,$s3);
説明: 「色の指定」コモンダイアログを表示して、 ユーザーが選んだ色を RGB 値の文字列で返します。
引数:
#n1 : オーナーウィンドウのウィンドウハンドル(または 0)
$s2 : ダイアログのタイトル文字列(ex. "フォルダの参照")
$s3 : 初期色指定
(色指定については こちらを参照して下さい)
空白またはカンマで区切って(※)複数の色を 指定することができますが、 その場合最初の指定が初期選択色、 それ以降の指定はユーザー定義の色指定になります。

(Ver.1.XX との互換性により) RGB 値による指定の場合に限り、 "#FF0000#010101#F0F0F0" のように 連続して指定することもできます。
返り値: ダイアログで選択された色指定(+ユーザー定義色)が RGB 値で返ります。 キャンセルの場合は "" が返ります。
例:
$selectcolors = dllfuncstr("GETCOLOR",
                    hidemaruhandle(0),
                    "色を選択して下さい",
                    "white #0F0F0F #E0E0E0" // "white #0F0F0F#E0E0E0" もOK
                );
// $selectcolors == "#??????#0F0F0F#E0E0E0" (#?????? はユーザーが選んだ色)
if ($selectcolors != "") {
    message "選択された色は " + leftstr($selectcolors,7) + " です";
}


GETFONT

使い方:   $s = dllfuncstr("GETFONT",#n1,$s2,$s3);
説明: 「フォントの選択」コモンダイアログを表示して、 ユーザーが選んだフォント名その他の属性を返します。
引数:
#n1 : オーナーウィンドウのウィンドウハンドル(または 0)
$s2 : ダイアログのタイトル文字列(ex. "フォルダの参照")
$s3 : 初期フォント名&属性指定

$s3 (と返り値)の書式は以下の通りです。
    "face,size,color,attr"

    face: フォント名
    size: フォントサイズ (単位は pt)
    color: 色指定 (こちらを参照して下さい)
    attr: 属性指定 (以下の文字の組み合わせ)
    bボールド体
    iイタリック体
    u下線あり
    s打ち消し線あり
    (例: "biu" …ボールド&イタリック&下線あり)
返り値: ダイアログで指定されたフォント指定が返ります。 キャンセルの場合は "" が返ります。
例:
$selectfont = dllfuncstr("GETFONT",
                    hidemaruhandle(0),
                    "フォントを選択して下さい",
                    "MS Pゴシック,12,black,bi"
                );
if ($selectfont != "") {
    $face = dllfuncstr("GETTOKEN",$selectfont,",");
    $size = dllfuncstr("GETTOKEN","",",");
    $color = dllfuncstr("GETTOKEN","",",");
    $attr = "(なし)";
    if (dllfunc("HASMORETOKENS")) {
        $$a = dllfuncstr("GETTOKEN","",",");
        if (strstr($$a,"b") != -1) $attr = "ボールド";
        if (strstr($$a,"i") != -1) {
            if (strlen($attr) > 0) $attr = $attr + ",";
            $attr = $attr + "イタリック";
        }
        if (strstr($$a,"u") != -1) {
            if (strlen($attr) > 0) $attr = $attr + ",";
            $attr = $attr + "下線あり";
        }
        if (strstr($$a,"s") != -1) {
            if (strlen($attr) > 0) $attr = $attr + ",";
            $attr = $attr + "打ち消し線あり";
        }
    }
    message "選択されたフォントは\n" + 
            " フォント名: " + $face + "\n" + 
            " サイズ  : " + $size + " pt\n" + 
            " 色    : " + $color + "\n" + 
            " 属性   : " + $attr + "\n" + 
            "です";
}