掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
自作の子ウィンドウを2つ以上表示するには? (ID:55963)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
WinXP VC++6.0 SDK はじめまして。 エディットコントロールのようなものを自作しようと思いまして、 まず、キーボードの押された文字を表示するだけのプログラムを作りました。 しかし、親ウィンドウに、その子ウィンドウを2つ以上貼り付けると、 2つに書かれている文字列が同じになってしまいます。 エディットコントロールのように2つ以上貼り付けても、違う文字列を表示するには どうすればよいのでしょうか。 //押された文字を表示するソース static HWND hEdit1, hEdit2; WNDCLASS wc; case WM_CREATE: wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = EditProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_IBEAM); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = "EditTest"; RegisterClass(&wc); hEdit1 = CreateWindow("EditTest", NULL, WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hWnd, (HMENU)150, hInstance, NULL); hEdit2 = CreateWindow("EditTest", NULL, WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hWnd, (HMENU)151, hInstance, NULL); break; //省略 LRESULT CALLBACK EditProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { static char szText[1000]; //省略 case WM_CHAR: wsprintf(szText, "%s%c", szText, wParam); InvalidateRect(hWnd, NULL, FALSE); break; case WM_PAINT: hDC = BeginPaint(hWnd, &ps); TextOut(0, 0, szText, lstrlen(szText)); EndPaint(hWnd, &ps); break; //<省略
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.