CreateEnhMetaFile 関数は拡張形式メタファイル用のデバイスコンテキストを作成する。このデバイスコンテキストはデバイス独立な図を保存するために使用できる。(Unicode)
CreateEnhMetaFileW hdc, lpFilename, lprc, lpDesc
hdc : [intptr] 拡張メタファイル用のリファレンスデバイスへのハンドル。NULL を指定可能。詳細は備考を参照。 lpFilename : [wstr] 作成する拡張メタファイルのファイル名へのポインタ。NULL の場合、拡張メタファイルはメモリ上に置かれ、DeleteEnhMetaFile で削除されると内容が失われる。 lprc : [var] 拡張メタファイルに保存する図の寸法(0.01 ミリ単位)を指定する RECT 構造体へのポインタ。 lpDesc : [wstr] 図を作成したアプリケーションの名前と図のタイトルを指定する文字列へのポインタ。NULL を指定可能。詳細は備考を参照。
(プラグイン / モジュール : gdi32.dll)
CreateEnhMetaFile 関数は拡張形式メタファイル用のデバイスコンテキストを作成する。このデバイスコンテキストはデバイス独立な図を保存するために使用できる。(Unicode) [戻り値] 関数が成功した場合、戻り値は拡張メタファイル用のデバイスコンテキストへのハンドルとなる。関数が失敗した場合、戻り値は NULL となる。 [備考] テキスト引数で Unicode 文字を使う必要がある場合は CreateEnhMetaFile をワイド文字関数として使う。テキスト引数で Windows 文字セットの文字を使う必要がある場合はこの関数を ANSI 関数として使う。システムは hdcRef パラメータで指定されたリファレンスデバイスを使用して、図が元々表示されていたデバイスの解像度と単位を記録する。hdcRef パラメータが NULL の場合、現在のディスプレイデバイスをリファレンスとして使う。lpRect パラメータが指す RECT 構造体の left と top メンバは、それぞれ right と bottom メンバより小さくなければならない。矩形の辺上の点も図に含まれる。lpRect が NULL の場合、グラフィックスデバイスインターフェイス (GDI) はアプリケーションが描画した図を囲む最小矩形の寸法を計算する。可能な場合は lpRect パラメータを指定すべきである。lpDescription パラメータが指す文字列は、アプリケーション名と図名の間に null 文字を含み、2 つの null 文字で終わらなければならない。例:"XYZ Graphics Editor\0Bald Eagle\0\0"(\0 は null 文字)。lpDescription が NULL の場合、拡張メタファイルヘッダに対応するエントリは入らない。アプリケーションは、この関数で作成したデバイスコンテキストを使ってグラフィックス図を拡張メタファイルに保存する。このデバイスコンテキストを識別するハンドルは任意の GDI 関数に渡せる。アプリケーションが図を拡張メタファイルに保存した後、PlayEnhMetaFile を呼ぶことで任意の出力デバイス上に図を表示できる。図を表示する際、システムは lpRect パラメータが指す矩形とリファレンスデバイスからの解像度データを使って図を配置・スケーリングする。この関数が返すデバイスコンテキストには、新しいデバイスコンテキストに関連付けられているのと同じデフォルト属性が含まれる。アプリケーションは GetWinMetaFileBits を使って拡張メタファイルを古い Windows メタファイル形式に変換しなければならない。拡張メタファイルのファイル名には .emf 拡張子を使うべきである。
| プラグイン / モジュール | gdi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_gdi32_gen2.hs |