int RalAssociateDlg( RALASSOCIATESTRUCT *pAssociate );
RALASSOCIATESTRUCT *pAssociate; | /* RALASSOCIATESTRUCT構造体アドレス */ |
関連付けダイアログを表示します。
引数
pAssociate 情報の受け渡しを行うためのRALASSOCIATESTRUCT構造体のアドレスを指定します。
RALASSOCIATESTRUCTは以下のように定義されています。
struct tagRalAssociateStruct
{HWND hWndOwner,
hWndDialog,
hWndNotify;DLGPROC pfnPreprocess,
pfnPostprocess;PCTSTR pszDialogCaption,
pszProgramBrowseCaption,
pszIconBrowseCaption;PCTSTR pszExtension; DWORD cbExtension; PCTSTR pszKey; DWORD cbKey; PCTSTR pszClass; DWORD cbClass; PCTSTR pszVerb; DWORD cbVerb; PCTSTR pszMenuItem; DWORD cbMenuItem; PCTSTR pszCommandLine; DWORD cbCommandLine; PCTSTR pszIconPath; DWORD cbIconPath; int iIndex; DWORD dwOption; }; typedef struct tagRalAssociateStruct RALASSOCIATESTRUCT;
各構造体メンバは以下の用途に使用されます。
hWndOwner 関連付けダイアログのオーナウィンドウハンドルを指定します。
hWndOwnerにはNULLを指定できます。
hWndOwnerにNULLを指定した場合はオーナウィンドウは設定されません。
hWndOwnerは呼び出し側が指定します。hWndDialog 作成されたモードレスダイアログのウィンドウハンドルが格納されます。
hWndDialogはRAD_CREATEMODELESSDIALOGオプションが指定された場合のみ有効です。
RAD_CREATEMODELESSDIALOGオプションについて詳しくはdwOptionを参照してください。
hWndDialogはRalAssociateDlgがセットします。hWndNotify メッセージ送信先のウィンドウハンドルを指定します。
hWndNotifyが指定されている場合は内蔵のダイアログプロシジャから以下のメッセージを送ります。WM_INITDIALOG 内蔵のダイアログプロシジャに送られたWM_INITDIALOGメッセージです。
第一パラメータには内蔵ダイアログプロシジャに渡されたモノをそのまま送ります。
第二パラメータにはダイアログのウィンドウハンドルを渡します。WM_COMMAND 内蔵のダイアログプロシジャに送られたWM_COMMANDメッセージです。
第一及び第二パラメータには内蔵ダイアログプロシジャに渡されたモノをそのまま送ります。送られたメッセージに対してはTRUEまたはFALSEを戻り値として返す必要があります。
TRUEの場合はメッセージに対して適切な処理が行われたモノとみなしてRalAssociateDlgはそれ以上処理を行いません。
FALSEの場合は通常通り処理を行います。
コールバックが指定されている場合はメッセージ送信の戻り値は意味をなしません。
hWndNotifyにはNULLを指定できます。
hWndNotifyにNULLを指定した場合はメッセージ送信を行いません。
hWndNotifyは呼び出し側が指定します。pfnPreprocess 前処理コールバック関数アドレスを指定します。
pfnPreprocessが指定されている場合は内蔵のダイアログプロシジャがその関数を呼び出します。
前処理コールバック関数は通常のダイアログプロシジャと同じインタフェースである必要があります。
前処理コールバック関数コールはダイアログがメッセージを受け取る毎に毎回行われます。
pfnPostprocessと違い、pfnPreprocessはRalAssociateDlgがメッセージ処理を行うよりも先に呼び出されます。
RalAssociateDlgはダイアログに送られたメッセージ全てを前処理コールバック関数に渡します。
第一及び第二パラメータはダイアログに渡されたモノをそのまま前処理コールバック関数に渡します。
前処理コールバック関数はTRUEまたはFALSEを返す必要があります。
TRUEの場合はメッセージに対して適切な処理が行われたモノとみなしてRalAssociateDlgはそれ以上処理を行いません。
FALSEの場合は通常通り処理を行います。
pfnPreprocessにはNULLを指定できます。
pfnPreprocessにNULLを指定した場合は前処理コールバック関数呼び出しを行いません。
pfnPreprocessは呼び出し側が指定します。pfnPostprocess 後処理コールバック関数アドレスを指定します。
pfnPostprocessが指定されている場合は内蔵のダイアログプロシジャがその関数を呼び出します。
後処理コールバック関数は通常のダイアログプロシジャと同じインタフェースである必要があります。
後処理コールバック関数コールはダイアログがメッセージを受け取る毎に毎回行われます。
pfnPreprocessと違い、pfnPostprocessはRalAssociateDlgがメッセージ処理を行った後に呼び出されます。
RalAssociateDlgはダイアログに送られたメッセージ全てを後処理コールバック関数に渡します。
第一及び第二パラメータはダイアログに渡されたモノをそのまま後処理コールバック関数に渡します。
後処理コールバック関数はRalAssociateDlgがメッセージを処理した後に呼び出されるため、戻り値は無視されます。
pfnPostprocessにはNULLを指定できます。
pfnPostprocessにNULLを指定した場合は後処理コールバック関数呼び出しを行いません。
pfnPostprocessは呼び出し側が指定します。pszDialogCaption 関連付けダイアログのキャプションを指定します。
pszDialogCaptionにはNULLを指定できます。
pszDialogCaptionにNULLを指定した場合は「関連付け」がキャプションとして使用されます。
pszDialogCaptionは呼び出し側が指定します。pszProgramBrowseCaption 関連付けダイアログ上でプログラムの参照を行い際に表示されるコモンダイアログのキャプションを指定します。
pszProgramBrowseCaptionにはNULLを指定できます。
pszProgramBrowseCaptionにNULLを指定した場合は「プログラムの参照」がキャプションとして使用されます。
pszProgramBrowseCaptionは呼び出し側が指定します。pszIconBrowseCaption 関連付けダイアログ上でアイコンの参照を行い際に表示されるコモンダイアログのキャプションを指定します。
pszIconBrowseCaptionにはNULLを指定できます。
pszIconBrowseCaptionにNULLを指定した場合は「アイコンの参照」がキャプションとして使用されます。
pszIconBrowseCaptionは呼び出し側が指定します。pszExtension 拡張子バッファを指定します。
RAD_FIXEXTENSIONオプションが指定された場合はpszExtensionで指定された拡張子の関連付けのみをダイアログ上で操作できます。
RAD_FIXEXTENSIONオプションが指定されていない場合は任意の拡張子の関連付けをダイアログ上で操作できます。
RAD_FIXEXTENSIONオプションについて詳しくはdwOptionを参照してください。
pszExtensionにはダイアログ上で最後に表示されていた拡張子が格納されます。
RAD_FIXEXTENSIONオプションが指定されていない場合に限りpszExtensionにはNULLを指定できます。
pszExtensionにNULLを指定した場合は拡張子は格納されません。
pszExtensionは呼び出し側が指定します。cbExtension pszExtensionで指定された拡張子バッファのサイズを指定します。
pszExtensionにNULLを指定した場合はcbExtensionは無視されます。
cbExtensionは呼び出し側が指定します。pszKey アプリケーション情報キー名バッファを指定します。
RAD_SHOWITEMDETAILオプションが指定された場合はpszKeyで指定されたアプリケーション情報の詳細をダイアログ上で操作できます。
RAD_SHOWITEMDETAILオプションが指定されていない場合は任意の拡張子の関連付けをダイアログ上で操作できます。
RAD_SHOWITEMDETAILオプションについて詳しくはdwOptionを参照してください。
pszKeyにはダイアログ上で最後に表示されていたアプリケーション情報キー名が格納されます。
RAD_SHOWITEMDETAILオプションが指定されていない場合に限りpszKeyにはNULLを指定できます。
pszKeyにNULLを指定した場合はアプリケーション情報キー名は格納されません。
pszKeyは呼び出し側が指定します。cbKey pszKeyで指定されたアプリケーション情報キー名バッファのサイズを指定します。
pszKeyにNULLを指定した場合はcbKeyは無視されます。
cbKeyは呼び出し側が指定します。pszClass アプリケーション情報名バッファを指定します。
pszClassにはダイアログ上で最後に表示されていたアプリケーション情報名が格納されます。
pszClassにはNULLを指定できます。
pszClassにNULLを指定した場合はアプリケーション情報名は格納されません。
pszClassは呼び出し側が指定します。cbClass pszClassで指定されたアプリケーション情報名バッファのサイズを指定します。
pszClassにNULLを指定した場合はcbClassは無視されます。
cbClassは呼び出し側が指定します。pszVerb 動詞バッファを指定します。
pszVerbにはダイアログ上で最後に表示されていた動詞が格納されます。
pszVerbにはNULLを指定できます。
pszVerbにNULLを指定した場合は動詞は格納されません。
pszVerbは呼び出し側が指定します。cbVerb pszVerbで指定された動詞バッファのサイズを指定します。
pszVerbにNULLを指定した場合はcbVerbは無視されます。
cbVerbは呼び出し側が指定します。pszMenuItem メニュー項目文字列バッファを指定します。
pszMenuItemにはダイアログ上で最後に表示されていたメニュー項目文字列が格納されます。
pszMenuItemにはNULLを指定できます。
pszMenuItemにNULLを指定した場合はメニュー項目文字列は格納されません。
pszMenuItemは呼び出し側が指定します。cbMenuItem pszMenuItemで指定されたメニュー項目文字列バッファのサイズを指定します。
pszMenuItemにNULLを指定した場合はcbMenuItemは無視されます。
cbMenuItemは呼び出し側が指定します。pszCommandLine コマンドラインバッファを指定します。
pszCommandLineにはダイアログ上で最後に表示されていたコマンドラインが格納されます。
pszCommandLineにはNULLを指定できます。
pszCommandLineにNULLを指定した場合はコマンドラインは格納されません。
pszCommandLineは呼び出し側が指定します。cbCommandLine pszCommandLineで指定されたコマンドラインバッファのサイズを指定します。
pszCommandLineにNULLを指定した場合はcbCommandLineは無視されます。
cbCommandLineは呼び出し側が指定します。pszIconPath アイコンパスバッファを指定します。
pszIconPathにはダイアログ上で最後に表示されていたアイコンパスが格納されます。
pszIconPathにはNULLを指定できます。
pszIconPathにNULLを指定した場合はアイコンパスは格納されません。
pszIconPathは呼び出し側が指定します。cbIconPath pszIconPathで指定されたアイコンパスバッファのサイズを指定します。
pszIconPathにNULLを指定した場合はcbIconPathは無視されます。
cbIconPathは呼び出し側が指定します。iIndex アイコンインデクスを指定します。
ダイアログが閉じられた時には最後に選択されていたアイコンインデクスが格納されます。dwOption RalAssociateDlgの動作を決定するオプションを指定します。
以下のフラグを組み合わせて指定できます。RAD_FIXEXTENSION ダイアログ上で拡張子を固定します。
このオプションを指定した場合はpszExtensionに拡張子を指定しなければなりません。
pszExtensionに指定された拡張子がダイアログ上の拡張子コンボボックスにセットされます。RAD_SHOWITEMDETAIL アプリケーション情報の表示、編集を行います。
このオプションを指定した場合はpszKeyにアプリケーション情報キー名を指定しなければなりません。
拡張子は非表示になり、アプリケーション情報キー名はディセーブルになります。
pszKeyに指定されたアプリケーション情報キー名がダイアログ上のアプリケーション情報キー名エディットボックスにセットされます。RAD_DELETEITEM 登録解除時に拡張子を削除します。
RAD_DELETEITEMが指定されていない場合はデタッチのみを行います。RAD_SHOWHIERARCHY 構造表示型のダイアログを表示します。
RAD_SHOWHIERARCHYが指定されていない場合は詳細表示型のダイアログを表示します。RAD_CREATEMODELESSDIALOG ダイアログをモードレスダイアログで作成します。
この場合はhWndDialogに作成されたダイアログのウィンドウハンドルが格納されます。
RalAssociateDlgはダイアログの作成だけを行いリターンします。
戻り値
モーダルダイアログの場合は正常終了ならDialogBox関数の戻り値、それ以外は-1を返します。
モードレスダイアログの場合は正常終了なら1、それ以外は-1を返します。