VisualCのDocViewでSplitterを使う

今、人から頼まれてプログラムを書いている。
いつも自分で作るのは、MacやUNIX系なので、
C++よりもPerlやShellスクリプト、SQLでなんとかなる。
ただWindows上でプログラムを作ろうとすると、どうしても
VisualStudioを利用することになってしまう。
よくできた開発環境だと思うが、どうもわかりにくい、
変に親切なのが、変にプログラムを書く者からすると、
妙に使いにくい。
GUIのプログラムは、どうしてもコーディング量が増えてしまうので、
どうしても各開発環境の用意しているモジュールを使わないと、
手間がかかってしまう。
さて、今回は久しぶりに一からつくることになったので、
基本部分からコーディングしていく。
・書類を使うので、DocViewを使う。
・作るのに時間があまり猶予ないのでMFCで作る。
・画面は最初からスプリットする。
などを考えると、MFCのウィザードでDocViewでSplitterを使えば、
簡単である・・。
でもDocViewって、最初にTemplateを定義しないと・・
で、そこに二つのViewを登録できないし・・
CSplitterVieから派生させたクラスを登録して・・
などを考えていたが、どうも思ったものができない。
いろいろとするが、結局はもとのとおりとなった。
また同じようなものを作るときの参考にメモしておく。
まず、SDIでMFCスケルトンを作成。
CWinAppのInitInstanceで、CSingleDocTemplateするときに、
Viewの登録で適当なView(最悪NULLでも)を登録。
CFrameWndのローカルに、CSplitterWndのメンバ宣言。
OnCreateClientでCreateStaticして、
CreateViewを必要ペインだけView作成。
OnCreateClientの戻り値は、上の戻り値を返す。
派生元のOnCreateClientは呼ばなくていいです。
こんな感じで作れます。
Docのメッセージなどはそろぞれにいくみたい。
とりあえず、この雛形から作業進めていきます。
新しい環境ほしいけど、とりあえず、前に購入したのが
高かったし、慣れているので、まだ6使ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です