Vcl.Graphics.TCanvas.Handle
Delphi
property Handle: HDC read GetHandle write SetHandle;
C++
__property HDC Handle = {read=GetHandle, write=SetHandle, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | Vcl.Graphics.pas Vcl.Graphics.hpp |
Vcl.Graphics | TCanvas |
説明
キャンバスのハンドルを指定します。
Handle プロパティは,キャンバスのデバイスコンテキストへの Windows GDI ハンドルを指定します。
Handle プロパティは,キャンバスが描画する必要があるデバイスコンテキスト HDC に設定します。ウィンドウコントロールが Windows のペイントメッセージに応答すると,描画用の HDC が PaintWindow メソッドに渡されます。それ以外の場合は,ウィンドウでコントロールの GetDeviceContext メソッドを呼び出して HDC を取得できます。また Windows では,プリンタ用またはメモリイメージ用の HDC を取得する API 呼び出しが提供されています。
Handle プロパティを読み出すと,デバイスコンテキストに渡すハンドルが必要な API 呼び出しに,TCanvas オブジェクトで提供される描画サービスを追加できます。ほとんどの場合,Windows GDI の呼び出しでは HDC が必要になります。
TCanvas は HDC を持たないので,アプリケーションは HDC を作成して Handle プロパティを設定する必要があります。また,キャンバスで HDC が不要になったときは,アプリケーションが HDC を解放する必要があります。すでに正規の HDC を持っているキャンバスの Handle プロパティを設定しても,最初の HDC の解放は自動的には行われません。
メモ: TControlCanvas などの TCanvas の下位オブジェクトは HDC を持ちます。このようなオブジェクトには Handle プロパティを設定しないでください。これらのオブジェクトは独自の Handle を取り出して解放します。