※エディットボックスのIDは IDC_MSGCHECK とします ※エディットボックスの大きさを画像の様に適当に変えてください ※ボタンを画像の様に2つ作成 ○サンプルではIDをIDC_UPと、IDC_DOWNとします
※「複数行」「垂直スクロールバー」「改行許可」をチェックします
※カテゴリーをコントロールにしCEdit型のメンバー変数 m_CharacterData を作成
//////////////////////////////////////////////////////// // CTest02Dlg メッセージ ハンドラ BOOL CTest02Dlg::OnInitDialog() { CDialog::OnInitDialog(); // "バージョン情報..." メニュー項目をシステム メニューへ追加します。 // IDM_ABOUTBOX はコマンド メニューの範囲でなければなりません。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // このダイアログ用のアイコンを設定します。フレームワークはアプリケーションのメイン // ウィンドウがダイアログでない時は自動的に設定しません。 SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定 SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定 // TODO: 特別な初期化を行う時はこの場所に追加してください。 //エディットボックスの初期化 //※CWndクラスのSetWindowText()メンバ関数を呼び出してエディットボックスを初期化する m_CharacterData.SetWindowText( "1.スピンコントロールの使い方\r\n" "2.プログレスバーの使い方\r\n" "3.エディットボックスに文字列を送る\r\n" "4.エディットボックス内の文字列を取得\r\n" "5.エディットボックス内の文字列の行数を取得\r\n" "6.エディットボックスのスクロール制御\r\n" "7.タイマーを使ってみよう\r\n" "8.日付・時間を取得してみよう\r\n" "9.ジョークソフトを作ってみよう" ); return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。 }
CDialog::OnInitDialog(); // "バージョン情報..." メニュー項目をシステム メニューへ追加します。 // IDM_ABOUTBOX はコマンド メニューの範囲でなければなりません。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // このダイアログ用のアイコンを設定します。フレームワークはアプリケーションのメイン // ウィンドウがダイアログでない時は自動的に設定しません。 SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定 SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定 // TODO: 特別な初期化を行う時はこの場所に追加してください。 //エディットボックスの初期化 //※CWndクラスのSetWindowText()メンバ関数を呼び出してエディットボックスを初期化する m_CharacterData.SetWindowText( "1.スピンコントロールの使い方\r\n" "2.プログレスバーの使い方\r\n" "3.エディットボックスに文字列を送る\r\n" "4.エディットボックス内の文字列を取得\r\n" "5.エディットボックス内の文字列の行数を取得\r\n" "6.エディットボックスのスクロール制御\r\n" "7.タイマーを使ってみよう\r\n" "8.日付・時間を取得してみよう\r\n" "9.ジョークソフトを作ってみよう" ); return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。 }
CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // このダイアログ用のアイコンを設定します。フレームワークはアプリケーションのメイン // ウィンドウがダイアログでない時は自動的に設定しません。 SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定 SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定 // TODO: 特別な初期化を行う時はこの場所に追加してください。 //エディットボックスの初期化 //※CWndクラスのSetWindowText()メンバ関数を呼び出してエディットボックスを初期化する m_CharacterData.SetWindowText( "1.スピンコントロールの使い方\r\n" "2.プログレスバーの使い方\r\n" "3.エディットボックスに文字列を送る\r\n" "4.エディットボックス内の文字列を取得\r\n" "5.エディットボックス内の文字列の行数を取得\r\n" "6.エディットボックスのスクロール制御\r\n" "7.タイマーを使ってみよう\r\n" "8.日付・時間を取得してみよう\r\n" "9.ジョークソフトを作ってみよう" ); return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。
pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); }
※IDC_UP → BN_CLICKED → 関数追加 ※IDC_DOWN → BN_CLICKED → 関数追加
void CTest02Dlg::OnUp() { // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください //※CEditクラスのメンバ関数LineScrollを使いエディットボックスをスクロールさせる //※最初の引数に-1を設定する事によりエディットボックスを上に1つスクロールさせる m_CharacterData.LineScroll(-1,0); }
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください //※CEditクラスのメンバ関数LineScrollを使いエディットボックスをスクロールさせる //※最初の引数に-1を設定する事によりエディットボックスを上に1つスクロールさせる m_CharacterData.LineScroll(-1,0);
void CTest02Dlg::OnDown() { // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください //※CEditクラスのメンバ関数LineScrollを使いエディットボックスをスクロールさせる //※最初の引数に1を設定する事によりエディットボックスを下に1つスクロールさせる m_CharacterData.LineScroll(1,0); }
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください //※CEditクラスのメンバ関数LineScrollを使いエディットボックスをスクロールさせる //※最初の引数に1を設定する事によりエディットボックスを下に1つスクロールさせる m_CharacterData.LineScroll(1,0);
※ダイヤログの「↑」「↓」ボタンを押すとエディットボックスがスクロールする