Syntax
BOOL cpxWriteEditForm( ICmnPilot *pICmnPilot, int idxBBS, const TMes *pMes, BOOL bEditMes, LPCSTR lpSourceFormBuf, LPCSTR lpDestFormPath );
Parameters
- pICmnPilot
[in] ICmnPilotインターフェースのポインタ
このインターフェースでCMNの機能を利用することが可能です。- idxBBS
[in] 掲示板のインデックス(0ベース)
掲示板情報がない場合は -1。
-1 の場合には idxBBS を使用する ICmnPilot のメソッドに idxBBS を渡すことはできませんのでご注意ください。
- pMes
[in] 返信発言または再編集発言の発言情報
新規発言の場合はNULL。
NULL以外の場合、bEditMesがTRUEの場合は再編集発言、FALSEの場合は新規の返信発言です。
- bEditMes
[in] 再編集フラグ
再編集の場合はTRUE/それ以外はFALSE。
再編集する発言が返信発言かどうかは、親発言番号があるかどうか等で判断してください。
pMesがNULLの場合には無効です。
- lpSourceFormBuf
[in] カスタマイズ元フォームデータ領域
Extensionsフォルダの .frm の内容が渡されます。
フォームがない場合はNULL。- lpDestFormPath
[in] 出力先フォームのパス
Return Value
フォームを出力した場合はTRUE、出力しない場合はFALSEを戻します。
Remarks
フォームエディタ用のフォームを出力します。
エクステンションと一緒に配布するフォーム定義ファイル(.frm)の内容をカスタマイズする場合に使用します。
条件によってフォーム項目の表示・非表示を切り替える場合には、 .frm 上では表示する可能性のある全項目を記述し、非表示の項目を当メソッドで削除してください。
但し .frm に select タグが存在する場合には、option タグを当メソッドで追加することは可能です。
ICmnPilotインターフェースを使用して各種値を参照することはできますが、値を変更することはできません。
メインのメッセージループからコールされるので、長時間(1秒以上)掛かる処理を行なう場合には別スレッドを生成して行なうなど、 メッセージループが停止しないようにしなければなりません。
フォームを出力しない場合はFALSEを戻すのみです。
ICpxの他のメソッドとは独立したインスタンスでコールされます。
Example
C++
BOOL _stdcall MyCpx::cpxWriteEditForm (ICmnPilot *pICmnPilot, int idxBBS, const TMes *pMes, BOOL bEditMes, LPCSTR lpSourceFormBuf, LPCSTR lpDestFormPath) { FILE *fp; fp = fopen (lpDestFormPath, "wb"); : // フォーム出力 : fclose (fp); return TRUE; }Delphi
function TMyCpx.cpxWriteEditForm (pICmnPilot: ICmnPilot; idxBBS: Integer; const pMes: PTMes; bEditMes: LongBool; lpSourceFormBuf: LPCSTR; lpDestFormPath: LPCSTR): LongBool; stdcall; begin : AssignFile (fp, 'lpDestFormPath'); : // フォーム出力 : CloseFile (fp); Result := TRUE; end;