Visual C++, ввести значение с клавиатуры
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Visual C++, ввести значение с клавиатуры - 2007-05-25 17:00:26.426666
|
|
|
t3rmin@1
Сообщений: 197
Оценки: 0
Присоединился: 2006-09-22 23:03:30.883333
|
Как в сделать прогу для Windows, в которой можно вводить символы в окно? Подскажите, плиз… Вот даю код, только подправить надо, только не знаю, как…
#include <windows.h>
// Объявление функции окна (оконной процедуры)
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
HINSTANCE hInst; // Идентификатор приложения
// Указатель на константную строку символов - имя программы и класса окна
LPCSTR AppName = "MyProgramm";
// Точка входа в программу - функция WinMain
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
HWND hWnd; // Уникальный идентификатор окна (handle)
MSG msg; // Объявление структуры типа MSG, для работы с сообщениями
hInst = hInstance; // Сохраняем идентификатор приложения
// Заполняем структуру WNDCLASS
WNDCLASS wc;
// Инициализируем выделенную для структуры память нулями
ZeroMemory(&wc, sizeof(wc));
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.hInstance = hInst;
wc.hIcon = LoadIcon(hInst, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszClassName = AppName;
RegisterClass(&wc); // Создаем и регистрируем оконный класс
// Создаем окно программы
hWnd = CreateWindow(
AppName, // Имя класса окна
AppName, // Заголовок окна
WS_OVERLAPPEDWINDOW, // Стиль окна
CW_USEDEFAULT, 0, // Горизонтальная и вертикальная позиции окна
300, 300, // Ширина и высота окна
NULL, // Хендл родительского окна
NULL, // Хендл меню
hInst, // Идентификатор приложения
NULL); // Дополнительные данные окна
ShowWindow(hWnd, SW_SHOW); // Отображаем окно
UpdateWindow(hWnd); // Перерисовываем окно
// Стандартный цикл обработки сообщений
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
// Оконная процедура
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
TextOut(hdc, 0, 0, "He11o, Wo(R)1D!", 15);
EndPaint(hWnd, &ps);
case WM_CHAR:
SendMessage(hWnd, WM_PAINT, 0, 0);
ch = (TCHAR) wParam;
HideCaret(hWnd);
return 0;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}
|
|
|
|
|