02.リストコントロールを使う (その1)
初回は、ダイアログベースのプロジェクトを作成するところまでやりました。今回は、そのダイアログにリストコントロールを配置して、図のようなダイアログを作成するまでを書きます。
さて、ダイアログを編集するのにリソースエディタを使います。Visual Studioのリソースビューが表示されていないときは、メニューの表示→リソースビューを選び、リソースビューを表示させます。
そのソースビューのDialogの中にあるIDD_SLIDEPUZLE_DIALOGをダブルクリックして、リソースエディタを起動して下さい。
ここにリストコントロールを追加するのですが、その前に今回は使用しないスタティックテキストとOK, CANCELボタンを削除します。Ctrl+Aですべてのコントロールを選択し、deleteキーで削除しちゃって下さい。
ツールボックスからリストコントロールを選択し、ダイアログ上で左クリックしてリストコントロールを追加します。
リストコントロールのプロパティを変更します。リストコントロールを選択して、ポップアップメニュー(右クリック)からプロパティを実行して下さい。
IDをIDC_LISTに変更します。(IDはなんでもよいので、好きなIDを設定して下さい)
さて、この時点で一度実行してみましよう。F5ボタンで実行です。図のように表示されましたか?まだ、リストコントロールに値を設定していないので、リストコントロールは真っ白の四角です。
ダイアログにこのリストコントロールの変数を追加しましょう。
リストコントロールを選択して、ポップアップメニュー(右クリック)から変数の追加を実行して下さい。
メンバー変数の追加画面が表示されるので、変数名 m_LC を入力して、完了ボタンをおします。
変数が、CSlidePuzzleDlg に自動で追加されるので、ソースを確認してみましょう。
Visual Studio のショートカット Ctrl + Shift +F で検索画面を表示します。検索する文字列に追加した変数名 m_LC を、検索対象を現在のプロジェクトにして検索します。
検索すると、2か所に追加されたことがわかります。
// CSlidePuzzleDlg.h class CSlidePuzzleDlg : public CDialogEx CListCtrl m_LC; };
//CSlidePuzzleDlg.cpp void CSlidePuzzleDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST, m_LC); }
Visual StudioのIDEを初めて使うと魔法のように感じるかもしれませんが(私だけ?)、結局のところソースを手で書く代わりにIDEの操作を実行しているだけです。先の変数の追加もリソースエディタを使わずに手でコードを書いても問題ありません。
自分はこの事をVisual Stuidoの入門時に一言教えてもらってれば、後で余計な混乱をしなくてよかったのにと思ってたので「一言」言ってみました。
だいぶ長くなってしまったので、次回につづく