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


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0815
auau警告、注意、情報以外の ダイアログ画像にしたい2未解決


auau

リンク

2022/8/15(Mon) 10:10:11|NO.96958

警告、注意、情報以外の
ダイアログ画像にしたいのですがどうすればいいでしょうか。



この記事に返信する


沢渡

リンク

2022/8/15(Mon) 15:41:50|NO.96961

Vista以降のみですが、いのびあさん作のmodTaskDialogを使えば
ダイアログに表示されるアイコンを好きなものにできるようです。
https://hsp.moe/#taskdialog
以下のコードは、ソースコードと同じフォルダに「test.ico」という名前の
適当なアイコンファイルを用意して実行してください。

#include "modTaskDialog.as" #include "user32.as" #include "kernel32.as" #include "shell32.as" //実行ファイルのアイコンを取得 dim x,16 sdim fn,65536 GetModuleFileNameW 0,varptr(fn),32763 ExtractIconExW varptr(fn),0,varptr(x),0,1 hIcon1=x(0) dim fn //アイコンファイルからアイコンを取得 x=0 ExtractAssociatedIcon hinstance,"test.ico",varptr(x) hIcon2=stat onexit *exit //ダイアログを表示する前にモジュール内部のパラメータを弄る //参考:https://docs.microsoft.com/en-us/windows/win32/api/commctrl/nf-commctrl-taskdialogindirect //https://docs.microsoft.com/en-us/windows/win32/api/commctrl/nf-commctrl-taskdialogindirect //modTaskDialog.asの中身も参照。 //↓・ダイアログのメインアイコンにアイコンハンドルを指定する場合はTDF_USE_HICON_MAINを付加。 //・フッタアイコンにアイコンハンドルを指定する場合はTDF_USE_HICON_FOOTERを付加。 //・通常のアイコンを使うのならTDF_USE_HICON_MAINやTDF_USE_HICON_FOOTERを付加してはいけない。 //・[x]ボタンで閉じられるようにするならTDF_ALLOW_DIALOG_CANCELLATIONを付加。 //・オリジナルボタンをリスト表示したいならTDF_USE_COMMAND_LINKSを付加。 dwFlags@mtd = TDF_ALLOW_DIALOG_CANCELLATION | TDF_USE_HICON_MAIN | TDF_USE_HICON_FOOTER //↓オリジナルボタン以外に表示するボタンを | で組み合わせる。使えるものについてはmodTaskDialog.asの中身を参照。 dwCommonButtons@mtd = TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON //↓デフォルトで選択されているボタンを指定。使えるものについてはmodTaskDialog.asの中身を参照。 //オリジナルボタンを選択状態にするにはオリジナルボタンのIDを指定。IDは101から始まる。 nDefaultButton@mtd = IDCANCEL //モジュールの仕様上、第5パラメータでは最低一つはオリジナルボタンを指定しなければならない。 DialogVistaEx "実験用ダイアログ","表示テスト","これはテストです","TestTestTest","はい(&Y)",hIcon2,hIcon1 mes stat stop *exit //終了時にアイコンを破棄。 DestroyIcon hIcon1 DestroyIcon hIcon2 end



沢渡

リンク

2022/8/19(Fri) 00:36:36|NO.96978

追記です。
上記のコードではアイコンファイルからアイコンを読み込んでいますが、
dllのような複数のアイコンが収録されたファイルから読み込むこともできます。
たとえば、「//アイコンファイルからアイコンを取得」の次の2行を以下のように変更すれば、
shell32.dllの番号27のアイコン(赤い正方形にiと書かれたアイコン)を
読み込むことができます。

x=27 ExtractAssociatedIcon hinstance,"shell32.dll",varptr(x)



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