ビューのハンドルの取得の方法は?

[戻る]
カド 2003/12/09(火) 21:34:12
環境はWIN98 VC++6.0 MFCです。

良く分かっていないので変なことを聞いているかもしれませんが。

一般的にビューは白色でフォームは灰色ですよね。

1.ビューはフォームの上に白いウィンドウを貼った物なのでしょうか?

2.フォームのハンドルは以下で取得できますが、ビューのハンドルはどうすれば
  取得できますか?

    HDC         hDC;         // デバイスコンテキストのハンドル
    hDC = ::GetDC(m_hWnd);

以上ご指導ください。

sugar 2003/12/10(水) 09:18:58
う〜ん・・・
「フォーム」って、CFormViewのことで合ってるんでしょうか。
VBではフォームという呼び方は一般的ですが。

> 1.ビューはフォームの上に白いウィンドウを貼った物なのでしょうか?
>
“感覚的には”私は逆だと思ってます。
ビュー=CView、フォーム=CFormViewという解釈で話してますが。
CFormViewはCViewから派生してできていますからね。

> 2.フォームのハンドルは以下で取得できますが、ビューのハンドルはどうすれば
>  取得できますか?
>
カドさんが示すコードは、デバイスコンテキストのハンドルを取得するものですが、
カドさんの言う「ハンドル」とは、デバイスコンテキストのことなのですか?
デバイスコンテキストはウィンドウに対して存在するもので、
CViewもCFormViewもCWndから派生していますから、
カドさんが示すコードで取得できると思うのですが。

#ビューのハンドルって言うと、ウィンドウハンドルをイメージしてしまう…。

カド 2003/12/10(水) 20:43:10
回答ありがとうございます。

>「フォーム」って、CFormViewのことで合ってるんでしょうか。
そうです。ちゃんと本を調べて使ったのですが。


>“感覚的には”私は逆だと思ってます。
>CFormViewはCViewから派生してできていますからね。

確かにそうですね。ちゃんとそう本に書いてありました。
調べ方が足りませんでした。

>デバイスコンテキストはウィンドウに対して存在するもので、
>CViewもCFormViewもCWndから派生していますから、
>カドさんが示すコードで取得できると思うのですが。

どうしてもCView内のコードが動かなかったので、何か間違っているのかと思い質問しました
が、動くようになりました。
原因は分からずじまいです。

カド 2003/12/10(水) 21:49:24
[[解決]]
解決マーク忘れてました。

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