VizCommand #28 listコマンドでリストビューでファイルリストを表示

アイコン表示のファイルリストを表示する"list"コマンドを実装する。

resource.hで、

独自メッセージとしてUM_STREAMCOMMANDを定義。

StreamConsole.hに、

リソースIDを持つメンバm_nId、OnUserMessage、OnStreamCommand、OnListを追加。

StreamConsole.cppで、

後述するCConsoleにもSetProcWindowを実装しているので、pConsole->SetProcWindowで自身のウィンドウハンドルを指定。

UM_STREAMCOMMANDでOnStreamCommandを呼ぶ、

コマンドと引数を分離して、"list"コマンドならOnListを呼ぶ。

リストビューで引数のパスのファイルリストを表示。
(即席で作ったので酷いコードになっている。いずれ修正したい。)

MainWindow.cppで、

ストリームコンソールが復活。

ListControlPanel.hは、

commctrl.hのインクルードを追加。

ListControlPanel.cppは、

InitCommonControlsでコモンコントロールの初期化。

Console.hは、

m_hProcWndとSetProcWindowを追加。

Console.cppは、

"list"コマンドならUM_STREAMCOMMANDを投げる。
(コマンドと引数のパースがいろんなとこに散らばっている。今後修正したい。)

ここでObjeqtNoteなどでは定義しているBinaryFile.hを追加。

BinaryFile.cppは、

OnListでファイル検索などに使っている。

f:id:BG1:20170505075359p:plain

comctl32.libやshlwapi.libをリンクする必要がある。

f:id:BG1:20170505075532p:plain

適当にファイルを置いて、

f:id:BG1:20170505075556p:plain

"list"のあとに、スペース区切りでパスを入れて、リターンキーを押すと、

f:id:BG1:20170505075647p:plain

こんな感じでアイコン一覧でファイルリストが表示される。

・listコマンドでリストビューでファイルリストを表示 · bg1bgst333/VizCommand@83492be · GitHub