デバイスコンテキストへのハンドルの取得方法

[戻る]
しげ 2001/11/07(水) 22:01:04
MFCで作成したピクチャボックスにAPIの関数で文字を表示したいのですが
第一引数にデバイスコンテキストへのハンドルを指定するとあります
ハンドルはどのようにしたら求められますか?
よろしくお願いします

CdS 2001/11/07(水) 23:14:57
MFCなら
    CDC *pDC = GetDlgItem(IDC_STATIC1)->GetDC();
という感じでいいのではないでしょうか。どうしてもHDCということなら
    HDC hDC = ::GetDC(GetDlgItem(IDC_STATIC1)->m_hWnd);
でしょうか。

しげ 2001/11/08(木) 15:23:16
    
 pDCはデバイスコンテキストのポインタ
 hDCはデバイスコンテキストですがハンドルと同じものなのですか?
 API関数の引数としては
 API関数(pDC, , );

 または
 API関数(hDC, , );
 でよいということですか?

 素人でよくわかりません、お手数ですがよろしくお願いします

CdS 2001/11/08(木) 22:12:04
例えば
    TextOut(hDC, ...);
というのをMFCでは
    pDC->TextOut(...);
と書きます。もちろん実体なら
    cDC.TextOut(...);

一言で言えばラッピングしているということなんですけど...。
どう説明していいのかよく分からないので、まあ、勉強してください。

しげ 2001/11/11(日) 20:47:03
[[解決]]
CdSさんありがとうございました。
お陰さまで解決しました。
m_pict.GetDC()->GetSafeHdc();及び
::GetDC(GetDlgItem(IDC_STATIC1)->m_hWnd);
を使ってみました。

古いスレッドには追加発言できません。