- ベストアンサー
Windowsプログラミング 窓の分割について
Windowsプログラミング初心者です。現在C言語によるGUIプログラミングを 作っているのですが、ウィンドウを分割して、その分割された各々のウィンドウ領域(例えば3つに分割すると)1つ目の領域にはログ1、2つ目の領域にはログ2、3つ目の領域にはログ3とか出せるように、窓を分割したいのですが、それに関する関数などをご教授していただけないでしょうか。 宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ATL/WTLを使ってもCでごりごり書くよりは格段に楽にスプリッタウィンドウが実現できるようなので調べてみました。 ATLもExpress Editionにはついていませんが、WTLは別途入手可能です。 CodeZine:ATL/WTLプログラミング 1:ATL/WTLの概要と基本(WTL, Windowsアプリケーション, C, ATL) http://codezine.jp/a/article.aspx?aid=178 PlatformSDKを入手してちょっと作業すれば、Visual Studio 2005 EEでも WTLが使えるようです。 Visual C++ Express Editionを使ってみる(WTL編) http://freepg.fc2web.com/cpp/topic_vce_002.html 申し訳ありませんが、2005 EEを実際にインストールして試せない(製品版使ってますので)ので 今でも確実にできるという保証はできませんのでご了承ください。 WTLを使ってどのようにするかは、以下のページなどを参考にされるとよいと思います。 スプリッタウィンドウ http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl20-01/index.html CodeZine:ATL/WTLプログラミング 5:スプリッタウィンドウ(C, ATL, WTL, Windowsアプリケーション) http://codezine.jp/a/article/aid/346.aspx WTLでエクスプローラ形式のウインドウを作る (UsefullCode.net) http://www.usefullcode.net/2007/01/wtl_2.html
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
字数制限が厳しいのでポイントだけかいつまんで。 スプリッタウィンドウの最大の特徴はペイン(分割された各領域のこと)の大きさを 調整することができるというところにあると思います。また、自前で実現するにあたって 一番面倒になるのはそこでしょう。 > ウィンドウを分割して、それぞれに違ったログを表示 > 又は > ダイアログボックスをリソースエディタで作り、それを分割して > それぞれの枠にログを表示(可能???) Windowsの場合、各種のボタンなんかもウィンドウの一種で(近い将来は変わるらしいですが)、 ウィンドウの上にウィンドウを重ねるということは簡単にできます。 ですので、領域を固定していいというのであればメインウィンドウの 上にウィンドウを複数貼り付けてそこに別々の内容を描画するということはできます。 ただ下敷きになっている親ウィンドウと上に乗っている(複数の)子ウィンドウの 連携は面倒になりそうな気はします。 お手軽に済ませていい(ただし制限はきつい)なら、エディットコントロールを 貼り付けるとか。 ダイアログベースでも同様の構成はできると思いますが、問題がないかどうかは すぐには断言できません。
お礼
回答ありがとうございます。 まずはATL/WTLにチャレンジしてみます。 ありがとうございました。
- sakusaker7
- ベストアンサー率62% (800/1280)
ひょっとしてスプリッタウィンドウのことを言ってますか? もしそうならCでやる(MFCを使わない)のは茨の道ですよ。 Visual C++ プログラミング講座 「スプリッタウィンドウの生成法及び、各ペインへのアクセス方法」 http://homepage2.nifty.com/kot9a/extra/vcpp/vcpp_02.htm 教授→× 教示→○
お礼
回答と指摘ありがとうございます。リンクを拝見させていただいたのですが、スプリッタウィンドウでした。まさにこれを作りたいのです。 MFCを使わないと厳しいということなのですが、VC++2005 Express editionはFree版なら持っているのですが、Free版はMFCは使えないですよね・・。MFCを使わないで、何かいい方法はアイデアはないですか?? ご教示お願いいたします。
お礼
回答ありがとうございます。 早速すべてのリンクを拝見させていただきました。C/C++初心者にはハードルが少し高いけど、WTLのスケルトンは何とか構築出来ました。 少し観点を変えて、ダイアログボックスをリソースエディタで作り、それをスプリットウィンドウみたいにすることの方が、簡単ですか。またそれは可能ですか??本当は上記リンクのように、MFCが使えないならATL/WTLを使って、構築するのが正当だと思うのですが・・。最悪やりたい事は ウィンドウを分割して、それぞれに違ったログを表示 又は ダイアログボックスをリソースエディタで作り、それを分割して それぞれの枠にログを表示(可能???) ダイアログの方が、リソースエディタを使えて、ログの表示も WM_COMMANDイベントで、振り分けてやればいいと思っているのですが、 可能ですか?? ご教示、お願いいたします