いよいよコンソール周辺のクラスを追加していく。

resource.hで、

GUI出力機能を持つコンソールとしてIDC_STREAMCONSOLEをリソースIDに定義。

WindowListItemsPanel.cppで、

ペンとブラシを黒に。

StreamConsole.hを追加して、

CWindowListControlの派生クラスとして定義。

StreamConsole.cppでは、

m_pWindowListItemsPanel->Createでパネルを作成したら、デフォルトアイテム(1番最初のアイテム)を挿入して、m_pWindowListItemsPanel->Get(0)でそれを取得して、CConsoleオブジェクトが子ウィンドウになるように配置。

MainWindow.hで、

CStreamConsoleオブジェクトポインタm_pStreamConsoleとCConsoleオブジェクトm_pConsoleを持つ。

MainWindow.cppでは、

CStreamConsoleオブジェクトを持つ。

MainApplication.cppは、

CStreamConsoleとCConsoleをウィンドウクラス登録。

Console.hは、

CScalableEditBoxPanelの派生クラス。

Console.cppは、

m_pEditBoxにCConsoleCoreオブジェクトポインタを入れてCreate。

ConsoleCore.hは、


CScalableEditBoxの派生クラス。
コマンド文字列m_ptszCommandStringや、入力コマンドを取得するGetCommandStringなど独自のメンバを持つ。

ConsoleCore.cppは、

GetCommandStringでは入力されたテキストを取得。
OnKeyDownでリターンキーが押されたら、GetCommandStringでテキストを取得して、それをメッセージボックスで表示。

f:id:BG1:20170503110536p:plain

"hoge"と入力し、リターンを押すと、

f:id:BG1:20170503110618p:plain

メッセージボックスで入力した"hoge"が表示される。

・コンソール周辺のクラスを追加 · bg1bgst333/VizCommand@3eb154b · GitHub