C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 58 を表示中)
■33414 / )  Re[3]: プレビューの仕様
□投稿者/ とっちゃん (375回)-(2009/02/27(Fri) 16:51:44)
とっちゃん さんの Web サイト
No33397 (おへそ七 さん) に返信
> CView::DoPrintPreview()の中に「CWnd* pMainWnd = GetParentFrame()」
> という記述がありましたので、ここを修正してみようと思い
> DoPrintPreview()を派生させましたが、「protectedメンバにアクセス」
> のコンパイルエラー(CViewViewのメンバを参照している)が解消できず
> 先へ進めない状況です。
>
CPreviewView::m_pPreviewState のあたりですか?
自分のコード見たら、CPreviewViewも派生してましたw

ちと、チェックしてみましたけど、DoPrintPreview をオーバーライドせずに
フレームウィンドウをトップにするのは無理みたいなので、いくつかのfriend定義もオーバーライドが必要です。

MFCの印刷回りは、あちこちで密約関係を結んでおり(C++的には、friend class CHoge となりますがw)
うまいこと回避「できない」ように作られています。

そのため、カスタマイズする場合は、それぞれに派生クラスを用意して新たな密約関係を結びなおすという
なんだか泥臭い手法を取らなければならない部分があります。


>>#どこかわからんならまずヘルプをくまなく探してくださいね。
>
互換性のところとかたどっていくといろいろ書いてますよ。
消えちゃったものとかもあるような気はしますが...


> VS2005のヘルプやネットを探しましたが、やりかたが下手なせいか
> 解決につながる記事を見つけ出すことができませんでした。
>
ネットを探すなら英語圏も行かないときついと思いますよ。
VS2002以降日本語のWin32Nativeなネタはほとんどないですから。

返信 編集キー/


管理者用

- Child Tree -