CloseEnhMetaFile 拡張メタファイル用デバイスコンテキストのクローズ

Cの宣言:

HENHMETAFILE CloseEnhMetaFile(HDC hDC);

VBの宣言:

Declare Function CloseEnhMetaFile Lib "gdi32" (ByVal hDC As Long) As Long

説明:

CreateEnhMetaFileで取得した拡張メタファイル用デバイスコンテキストをクローズし、描画された内容を元に拡張メタファイルを作成してそのハンドルを返す。

引数の意味は以下の通り。
hDC クローズする拡張メタファイル用デバイスコンテキストのハンドル。

戻り値は、取得結果の拡張メタファイルのハンドルである。関数の実行に失敗した場合、NULLが返される。

VBのサンプル:

円を描画する拡張メタファイルを作成し、アプリケーション名および画像名を設定して"c:\pic\test.emf"という名前で保存する。
'拡張メタファイルの作成
Private Sub Command1_Click()

    Dim hDC As Long '拡張メタファイル用デバイスコンテキストのハンドル
    Dim hEmf As Long '拡張メタファイルのハンドル
    Dim r As RECT ' 拡張メタファイルの描画領域
    Dim Description As String 'アプリケーションと画像名
    
    '拡張メタファイルの描画領域を設定
    r.Left = 0
    r.Top = 0
    r.Right = 10000
    r.Bottom = 10000
    
    '作成元アプリケーションと画像名の設定
    Description = "sample application" & vbNullChar & "test picture" & vbNullChar & vbNullChar
    
    '拡張メタファイル用デバイスコンテキストを作成
    hDC = CreateEnhMetaFile(0, "c:\pic\test.emf", r, Description)

    '円を描画
    SetMapMode hDC, MM_HIMETRIC
    Ellipse hDC, 0, 0, 10000, -10000
    
    '拡張メタファイル用デバイスコンテキストのクローズ
    hEmf = CloseEnhMetaFile(hDC)
    
    '拡張メタファイルのクローズ
    DeleteEnhMetaFile hEmf

End Sub

(original text:2000/01/27 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。