• ベストアンサー

Windowsプログラミング 窓の分割について

Windowsプログラミング初心者です。現在C言語によるGUIプログラミングを 作っているのですが、ウィンドウを分割して、その分割された各々のウィンドウ領域(例えば3つに分割すると)1つ目の領域にはログ1、2つ目の領域にはログ2、3つ目の領域にはログ3とか出せるように、窓を分割したいのですが、それに関する関数などをご教授していただけないでしょうか。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

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

MON-Q
質問者

お礼

回答ありがとうございます。 早速すべてのリンクを拝見させていただきました。C/C++初心者にはハードルが少し高いけど、WTLのスケルトンは何とか構築出来ました。 少し観点を変えて、ダイアログボックスをリソースエディタで作り、それをスプリットウィンドウみたいにすることの方が、簡単ですか。またそれは可能ですか??本当は上記リンクのように、MFCが使えないならATL/WTLを使って、構築するのが正当だと思うのですが・・。最悪やりたい事は ウィンドウを分割して、それぞれに違ったログを表示             又は ダイアログボックスをリソースエディタで作り、それを分割して それぞれの枠にログを表示(可能???) ダイアログの方が、リソースエディタを使えて、ログの表示も WM_COMMANDイベントで、振り分けてやればいいと思っているのですが、 可能ですか?? ご教示、お願いいたします

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

字数制限が厳しいのでポイントだけかいつまんで。 スプリッタウィンドウの最大の特徴はペイン(分割された各領域のこと)の大きさを 調整することができるというところにあると思います。また、自前で実現するにあたって 一番面倒になるのはそこでしょう。 > ウィンドウを分割して、それぞれに違ったログを表示 >             又は > ダイアログボックスをリソースエディタで作り、それを分割して > それぞれの枠にログを表示(可能???) Windowsの場合、各種のボタンなんかもウィンドウの一種で(近い将来は変わるらしいですが)、 ウィンドウの上にウィンドウを重ねるということは簡単にできます。 ですので、領域を固定していいというのであればメインウィンドウの 上にウィンドウを複数貼り付けてそこに別々の内容を描画するということはできます。 ただ下敷きになっている親ウィンドウと上に乗っている(複数の)子ウィンドウの 連携は面倒になりそうな気はします。 お手軽に済ませていい(ただし制限はきつい)なら、エディットコントロールを 貼り付けるとか。 ダイアログベースでも同様の構成はできると思いますが、問題がないかどうかは すぐには断言できません。

MON-Q
質問者

お礼

回答ありがとうございます。 まずはATL/WTLにチャレンジしてみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

ひょっとしてスプリッタウィンドウのことを言ってますか? もしそうならCでやる(MFCを使わない)のは茨の道ですよ。 Visual C++ プログラミング講座 「スプリッタウィンドウの生成法及び、各ペインへのアクセス方法」 http://homepage2.nifty.com/kot9a/extra/vcpp/vcpp_02.htm 教授→× 教示→○

MON-Q
質問者

お礼

回答と指摘ありがとうございます。リンクを拝見させていただいたのですが、スプリッタウィンドウでした。まさにこれを作りたいのです。 MFCを使わないと厳しいということなのですが、VC++2005 Express editionはFree版なら持っているのですが、Free版はMFCは使えないですよね・・。MFCを使わないで、何かいい方法はアイデアはないですか?? ご教示お願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • cygwinでのGUIプログラミングのしかたin Windows

    2ヶ月ほど前からC言語の勉強をしており、基本ライブラリ程度は使えるようになり、C++の文法を吸収しはじめてます。 そこで、そろそろGUIプログラミングをしたいなと思ったのですが、プログラミング環境としてはCUIが好きで、GUIアプリであるVisual C++などはできれば使いたくありません。というかマウス操作が頻繁なプログラミングは格好がわるい・・(変わり者でしょうか。) そこで耳にした(というかネットで調べまくった)のが、cygwinを使えばVisual C++などなしでもGUIプログラミングができるというような事柄なのですが、そういうようなことが書いてあるサイトって、ほとんどが(というか見たところでは全部が)、「しかし、ここではVisual C++で勉強をしていきましょう」などの内容で、cygwinでのGUIプログラミング方法について有用な情報を得ることはできませんでした。 なので、cygwinで本当にWindows用GUIプログラミングができるのか、もしそうであれば、その方法や大まかな流れなどのご教授、あるいはURIや書籍の紹介をしてほしく思います。

  • Windowsプログラミングについて

    C、C++、Java、JavaScriptは6年やってますので多少できます。それでWindowsプログラミングに挑戦しようと、VisalC++6.0を勧められたのでやってみたらさっぱりわからなくて、何度も挫折しました。 色々フリーソフトを作りたいのですが、初心者向きのWindowsプログラミングの言語って何がお勧めですか?

  • 「Windowsプログラミング」について

    よく本屋さんで「Windowsプログラミング」というのを見かけますが 言語は何なのでしょうか?VBとかC++なのでしょうか? プログラミング言語として「Windows」と言うのがあるわけではないですよね? 他のプログラミング言語を使用してWindowsを操作することを 「Windowsプログラミング」いうのでしょうか? アドバイス宜しくお願い致します。

  • MFC 分割ウィンドウのそれぞれ窓の描画に関して

    MFCプログラミング初心者ですが、宜しくお願いいたします。 ---------------プログラム環境--------------- WinXP2 Visula Studio 2005 Pro -------------------------------------------- 現在、上記の環境で、SDIプログラムを書いています。 ご教示していただきたいことは、分割ウィンドウにおけるそれぞれの窓の 表示内容を変えたいということです。TCP/IPのプログラムで、受信したMessageをstrstrなどで振り分けて、各々の窓に表示したいのですが、 どういう風にやればいいのですか?? なお、一つのViewに受信メッセージを表示させることは出来ました。 非常に困っています。 現在、CMainFrame::OnCreateClient(~~~)とMainFrame.cppに書き、 ウィンドウを3分割にしております。 m_wndSplitter.CreateStatic(this,1,2); m_wndSplitter.CreateStatic(&m_wndSplitter,2,1,WS_CHILD | WS_VISIBLE,WS_BORDER,m_wndSplitter.IdFromRowCol(0,1)); m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(??View)),~~ m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(??View)),~~ m_wndSplitter1.CreateView(1,0,RUNTIME_CLASS(??View)),~~ この用に記述しております。 説明しずらいのですが、??Viewの箇所にスケルトンの時にできていたView クラスを入れてやると、そのエリアに受信メッセージが表示されます。 初心者なので、まと外れかもしれませんが、新しいViewクラスを作成して なにかやれば、よいのでしょうか?? 現在3つのウィンドウにそれぞれの メッセージを表示させたいので、Viewクラスはそれぞれ3個なければ、いけないのでしょうか?? わかりずらい説明で申し訳ないですが、宜しくお願いいたします。

  • GUIアプリケーション プログラミング

    今、C言語を勉強しているのですが、今やっているのは、GUIプリケーションのプログラミングではありません。 GUIプリケーションのプログラミングとそうでないものは基本的には、おなじなのですか? ある程度勉強してから、GUIのやつをやろうと思っているのですが。

  • windowsプログラミングがしたい

    Visual C++ 2008 Express Editionを使い、C言語でWINDOWSをプログラミングをやりたいんですが、 どういう風に設定すればできるのでしょうか。 ご存知の方教えてください。

  • 異なるプログラミング言語を連携する手段はある?

    異なるプログラミング言語を連携する手段はあるでしょうか? 例えば、JavaでGUIの処理を書いておいて、計算をC言語で書いておく。まず、C言語で処理させてその結果をJavaが受け取りJavaのGUIで表示する。のような。 よろしくお願いします。

  • C言語からWindowsプログラミングに挑戦しているのですが・・・。

    現在C言語を使い、簡単なプログラミングは組めます。 そこで、Windowsプログラミングをやろうと、 「猫でもわかるWindowsプログラミング」を買いやり始めました。 正直、難しいです。 わからない所がたくさんで、Windowsプログラムを組んでいるみなさんは、用語を覚えているのでしょうか? 勉強法としては、やはりソースの羅列でしょうか?

  • windowsプログラミングの試験、問題集について

    c言語のwindowsプログラミングを学ぼうかと思っているのですが、 その際、何か試験や問題などを目標にして学びたいと思っています。 しかし、検索してみたところ、c言語の試験や問題集はあっても、 windowsプログラミングの試験、問題集は見つかりませんでした。 windowsプログラミングの試験、問題集は本当にないのでしょうか? また、なぜないのか、知っている方や勉強のための いい目標になるものを知っている方がいたら、ぜひ教えてください。 よろしくお願いします。

  • プログラミング言語の選択について

    プログラミング言語の選択について こんにちは。 最近本格的にプログラミングを始めてみようと思うようになりました。 (現在vbscript,htmlができます) 目標はguiのソフトウェアを作ることです。 おすすめの言語がありましたら教えてください。