ホーム
ダウンロード
改版履歴
トラブルシューティング
開発
ユーザー登録について
連絡
リンク
|
グリッド外部モジュールのプログラム仕様
値定義とマクロ 構造体 関数
値定義とマクロ
ライブラリの識別コード |
EXTLIB_ID_GRID |
0x04502ac8 |
言語識別 |
英語 |
GRIDLIB_LANG_ENG |
0 |
日本語 |
GRIDLIB_LANG_JAP |
1 |
その他 |
GRIDLIB_LANG_OTHER |
0 |
本体プログラムに対する動作の指示を行うためのフラグ値 |
色項目を設定可能 |
GRDLIB_FLG_STD_COLOR |
0x00000001 |
間隔項目を設定可能 |
GRDLIB_FLG_STD_SPAN |
0x00000002 |
表示制限項目を設定可能 |
GRDLIB_FLG_STD_DISPCTRL |
0x00000004 |
グリッド描画関数の呼出し前にペン(GDI)を自動的に作成・選択を禁止 |
GRDLIB_FLG_DWC_NO_PEN |
0x00001000 |
グリッド印刷関数の呼出し前にペン(GDI)を自動的に作成・選択を禁止 |
GRDLIB_FLG_DWC_NO_PEN_ON_PRINT |
0x00002000 |
グリッド描画・印刷関数の呼出し前に自動的に描画範囲をクリッピングすることを禁止 |
GRDLIB_FLG_DWC_NO_CLIPCANVAS |
0x00010000 |
グリッド設定ダイアログの各項目の設定状態を示すフラグ |
グリッドの表示制限が設定状態 |
GRDLIB_FLG_ENABLE_DISPCTRL |
0x00000001 |
簡易的なマクロ |
0.1mm単位値を論理値に変換 |
M2LOGICAL( val,
factor ) |
論理値を0.1mm単位値に変換 |
LOGICAL2M( val,
factor ) |
0.01mm単位値を論理値に変換 |
HM2LOGICAL(
val, factor ) |
論理値を0.01mm単位値に変換 |
LOGICAL2HM(
val, factor ) |
構造体
GRDS_INITINFO
|
本体が初期情報・条件を得るために使
|
DWORD |
dwVersion |
ライブラリのバージョン番号(上位16ビット:マイナー番号,下位16ビット:メジャー番号) |
DWORD |
dwFlags |
本体プログラムに対する動作の指示を行うためのフラグ |
DWORD |
dwAllocSize |
各ライブラリ特有の情報を格納するために本体が確保するバッファサイズ(最大1024 * 100まで)
|
TCHAR |
lpszDesc[80] |
ライブラリに関する記述(名前・説明等) |
GRDS_STDPARAM
|
本体からグリッド設定ダイアログの標準項目の設定状況を通知するために使用
|
DWORD |
dwFlags |
グリッド設定ダイアログの各項目の設定状態を示すフラグ |
COLORREF |
clrGrid |
グリッドの色 |
SIZE |
sizeSpan |
グリッドの間隔
|
DWORD |
dwPixel |
表示制限有効時のピクセル値 |
SIZE |
sizeFactor |
0.1mm単位値と論理値の相互変換のために使用
簡易的なマクロを参照 |
関数
必須関数 |
ライブラリ内で必ず定義する必要がある関数 |
オプション関数 |
必要ならばライブラリ内で定義する関数 |
DWORD WINAPI extlib_GetId( void
) |
必須関数 |
ライブラリのロード時にグリッド外部ライブラリを識別するために本体から呼ばれる。 |
戻り値 |
EXTLIB_ID_GRIDを返す |
void WINAPI grid_GetDefault( LPVOID
lpData, int nLanguage ) |
オプション関数 |
本体プログラムがライブラリ用にアロケートしたバッファに初期データを設定するために呼ばれる。 |
戻り値 |
なし |
LPVOID* |
lpData |
ライブラリがgrid_GetInfoでdwAllocSizeで指定したサイズのライブラリ専用バッファ。 dwAllocSize==0の場合はこの関数は呼び出されない。 このバッファは,本体アプリケーション内で,オブジェクト複製時に単純コピーされる可能性があるので,バッファ内にポインタ情報や共有不可能なハンドル等を含めないように注意が必要。 |
int |
nLanguage |
本体がどの言語で動作しているかをライブラリに通知 |
void
WINAPI grid_Draw( HDC hDC, const RECT* lpR, SIZE sizeCanvas,
LPVOID lpData, const GRDS_STDPARAM* lpStdParam ) |
オプション関数 |
本体プログラムでグリッドの描画が必要時に呼ばれる。 |
戻り値 |
なし |
HDC |
hDC |
グリッドを描画するデバイスコンテキスト。 デバイスコンテキストは本体アプリケーションがgrid_Drawを呼び出す前に保存し,戻ったときに復元しているので,ライブラリでそれらの処理を追加する必要はない。 |
const RECT* |
lpR |
グリッドを描画する対象となっている矩形領域。 常に用紙(キャンバス)全体に描画するような処理をしていると,キャンバスがある倍率以上で拡大表示された場合に,GDI内でオーバーフローが発生し,描画されない場合があるので注意が必要。 |
SIZE |
sizeCanvas |
用紙(キャンバス)のサイズが0.1mm単位の整数値で格納されている。 座標原点は用紙(キャンバス)左上が(0,0)。 |
LPVOID |
lpData |
ライブラリがgrid_GetInfoでdwAllocSizeで指定したサイズのライブラリ専用バッファ。 dwAllocSize==0又はアロケートできなかった場合はNULLが引き渡される。 このバッファは,本体アプリケーション内で,オブジェクト複製時に単純コピーされる可能性があるので,バッファ内にポインタ情報や共有不可能なハンドル等を含めないように注意が必要。 |
const GRDS_STDPARAM* |
lpStdParam |
本体プログラムのグリッド設定ダイアログの標準項目の設定内容。 grid_GetInfoで設定を有効にした項目が存在しない場合でも,何らかの設定内容が格納されて呼び出される。 |
void WINAPI grid_Print(
HDC hDC, const RECT* lpR, SIZE sizeCanvas, LPVOID lpData, const
GRDS_STDPARAM* lpStdParam ) |
オプション関数 |
本体プログラムで印刷・印刷プレビュー時に呼ばれる。 |
ライブラリでこの関数を定義した場合に呼ばれる。 詳細はgrid_Drawと同じ。 |
POINT WINAPI grid_Snap(
POINT ptPos, SIZE szCanvas, LPVOID lpData, const GRDS_STDPARAM*
lpStdParam ) |
オプション関数 |
本体プログラムでマウスポインタをグリッドへ吸着する必要があるときに,座標を調整するために呼ばれる。
マウスの移動時にに呼ばれるので,できるだけ速やかな効率のよい処理をするように作成する必要がある。 |
戻り値 |
調整した座標 |
POINT |
ptPos |
本体プログラムにおけるマウス現在位置(論理座標)。 |
SIZE |
szCanvas |
用紙(キャンバス)のサイズが0.1mm単位の整数値で格納されている。 座標原点は用紙(キャンバス)左上が(0,0)。 |
LPVOID |
lpData |
ライブラリがgrid_GetInfoでdwAllocSizeで指定したサイズのライブラリ専用バッファ。 dwAllocSize==0又はアロケートできなかった場合はNULLが引き渡される。 このバッファは,本体アプリケーション内で,オブジェクト複製時に単純コピーされる可能性があるので,バッファ内にポインタ情報や共有不可能なハンドル等を含めないように注意が必要。 |
const GRDS_STDPARAM* |
lpStdParam |
本体プログラムのグリッド設定ダイアログの標準項目の設定内容。 grid_GetInfoで設定を有効にした項目が存在しない場合でも,何らかの設定内容が格納されて呼び出される。 |
int WINAPI
grid_SetupDialog( HWND hWnd, LPVOID lpData, int nLanguage ) |
オプション関数 |
本体プログラムのグリッド設定ダイアログにおいて,オプションの設定ボタンが押された時に呼ばれる。
ライブラリで,オプションとしてユーザーに指定してもらう情報がある場合にこの関数を定義する。 |
戻り値 |
IDOK: 設定が有効 IDCANCEL: 設定が無効 |
HWND |
hWnd |
本体プログラムの現在のアクティブウィンドウのハンドル。 |
LPVOID |
lpData |
ライブラリがgrid_GetInfoでdwAllocSizeで指定したサイズのライブラリ専用バッファ。 dwAllocSize==0又はアロケートできなかった場合はNULLが引き渡される。 このバッファは,本体アプリケーション内で,オブジェクト複製時に単純コピーされる可能性があるので,バッファ内にポインタ情報や共有不可能なハンドル等を含めないように注意が必要。 |
int |
nLanguage |
本体がどの言語で動作しているかをライブラリに通知 |
void WINAPI
grid_Profile( LPCTSTR lpszPath, LPCTSTR lpszSection, LPVOID
lpData, BOOL bSave ) |
オプション関数 |
ライブラリ固有の情報をプロファイルに保存・復元したい場合にこの関数を定義する。
本体プログラムはプロファイルにアクセスする必要がある時に,この関数を呼び出す。 通常は,GetPrivateProfileInt(...),
GetPrivateProfileString(...), WritePrivateProfileString(...)
等を使用してプロファイルを保存・復元する。 |
戻り値 |
なし |
LPCTSTR |
lpszPath |
プロファイルのファイル名 |
LPCTSTR |
lpszSection |
プロファイルにおける,各ライブラリがアクセスできるセクション名。 プロファイルは,ユーザー毎に個別に作成され,複数のライブラリの情報が各セクション毎に書き込まれることになる。 セクション名は,本体プログラムが自動的に決定する。 |
LPVOID |
lpData |
ライブラリがgrid_GetInfoでdwAllocSizeで指定したサイズのライブラリ専用バッファ。 dwAllocSize==0又はアロケートできなかった場合はNULLが引き渡される。 このバッファは,本体アプリケーション内で,オブジェクト複製時に単純コピーされる可能性があるので,バッファ内にポインタ情報や共有不可能なハンドル等を含めないように注意が必要。 |
BOOL |
bSave |
TRUE: 保存 FALSE:
復元 |
|