掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
エディットボックスに入力した文字をENTERを押してリストボックスに表示するには? (ID:52161)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
これでそれらしく動いてますが・・・。 どうでしょうか? ----------------------------------------------------------------- #include "StdAfx.h" #include "Resource.h" BOOL CALLBACK MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK HatugenProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); WNDPROC hHatugenEditProc; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // TODO: この位置にコードを記述してください。 if (DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAINDLG), NULL, (DLGPROC)MainDlgProc) == -1) return -1; return FALSE; } BOOL CALLBACK MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { HWND hEdit; switch(uMsg) { case WM_INITDIALOG: // エディットコントロールのサブクラス化 hEdit = GetDlgItem(hwndDlg, IDC_ED_HATUGEN); hHatugenEditProc = (WNDPROC)GetWindowLong(hEdit, GWL_WNDPROC); SetWindowLong(hEdit, GWL_WNDPROC, (LONG)HatugenProc); return TRUE; break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDCANCEL: PostQuitMessage(0); break; } } return FALSE; } LRESULT CALLBACK HatugenProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_KEYDOWN: if ((int)wParam==VK_RETURN) { char szMsg[512]; GetWindowText(hwnd, szMsg, sizeof(szMsg)-1); HWND hList = GetDlgItem(GetParent(hwnd), IDC_LST_LOG); SendMessage(hList, LB_ADDSTRING, 0, (LPARAM)szMsg); SetWindowText(hwnd, ""); } break; default: return (CallWindowProc(hHatugenEditProc, hwnd, uMsg, wParam, lParam)); } return 0L; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.