重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

タイトルに記載の関数に限らないのですが、msdnなどを見ると、
同じ関数でも引数と戻り値が異なるのですが、どういう事か教えていただけないでしょうか?

例)GetDCの場合

HDC GetDC(
HWND hWnd // ウィンドウのハンドル
);

一方では
CDC* GetDC( );



SDKとMFCの違いという事でしょうか?
もしその場合、MFCのソースにてSDKの関数は記述できないという事でしょうか?
というか、MFCとかSDKっていうのは何に依存するのでしょうか?
(プロジェクト?クラス?)

思いっきり初心者なのでどなたか教えてくださいm(__)m
または、参考になるホームページなどがございましたらご教授願いますm(__)m

A 回答 (1件)

SDKの関数と、MFCの関数は、同じ名前であっても「クラスが異なる」ので「別の関数」です。



HDC GetDC(HWND hWnd);
は「名前なしクラス」に属す、ライブラリ関数です。

CDC* GetDC();
は「CWndクラス」に属し、メンバ関数です。メンバ関数ですので、CWndオブジェクトが無ければ呼び出せません。

両方を同時に使用する場合は、それぞれのヘッダーファイルをインクルードして使用します。

この回答への補足

すいません、お礼に記載の内容は解決済みです。
(msdnに載ってました)

>両方を同時に使用する場合は、それぞれのヘッダーファイルを
>インクルードして使用します。
とのことですが、エラーになってしまいました・・・。
明示的に記述する方法などが必要なのでしょうか?

補足日時:2009/12/10 16:53
    • good
    • 0
この回答へのお礼

ご回答ありがとうございますm(__)m

質問とはずれてしまいますが、使いたい関数から、「何をインクルードすべきか」というのが簡単に分かるようなホームページなりツールのようなものはございますでしょうか?

お礼日時:2009/12/10 16:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!