windows.hをインクルードするとWindows APIのGetObject()はANSI/Unicode版のGetObjectA/GetObjectWに再定義されますが、この影響でMQDocument::GetObject()まで名前が変更されてしまいIntellisense使用時にマッピングされた関数名になってしまうので、あえてundefしております。
必要であればコメントアウトしても構いませんが、SDKの更新のたびに変更が必要になるので、それよりもWindows APIのほうをANSI/Unicode版のGetObjectA/GetObjectW()を直接呼び出すほうが手間もかからないと思います。
なお、GUIの描画にはWindows APIではなくMQWidgetベースのクラスの利用を推奨しております。こちらを利用すれば本体との外観の統一、High-DPIやマルチプラットフォームへの対応も容易になるメリットもあります。標準添付のプラグインではGetObjectはまったく使用していません。
2017-05-31 10:17
詳細な説明ありがとうございました。
GDIはMQWidgetを使っています。クリップボードへアクセスするのにGetObjectを使っています。
atlgdi.h(CDCなどのラッパー使っている)で大量のエラーが出るのでとりあえずコメントアウトでいきたいと思います。
2017-05-31 20:12
>こういった解決策を見つけました。GetObjectだけでいいのでMQPlugin.hに追加してもらえないでしょうか?
こういったコードをSDKに含めるべきかどうかは難しいですが、それよりこちらをご自身のコード内からwindows.hの後ろに追加でincludeすれば簡単に解決するのではないでしょうか。
2017-06-01 09:52