いよいよコンソール周辺のクラスを追加していく。
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でテキストを取得して、それをメッセージボックスで表示。
"hoge"と入力し、リターンを押すと、
メッセージボックスで入力した"hoge"が表示される。