Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Nikolja
0 / 0 / 0
Регистрация: 18.05.2012
Сообщений: 3
#1

WinAPI Ввод с клавиатуры - C++

19.05.2012, 23:27. Просмотров 2090. Ответов 5
Метки нет (Все метки)

Здравствуйте!
Пишу курсовую по проге и нужно сделать обязательно ввод с клавиатуры.
Вот я создаю новое окошечко
C++
1
2
3
4
5
6
7
case WM_CREATE:
        {
            
 
            xo = CreateWindow(L"EDIT",L"точка перехода:",WS_CHILD|WS_VISIBLE,40,50,200,20,hWnd,(HMENU)IDI_SMALL,hInst,NULL);
        return 0;   
        }
а потом считываю с него информацию и перевожу в double
C++
1
2
3
4
5
case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        GetWindowText(xo,Buf,BufSize);
            x0 = _wtof(Buf);
В итоге у меня в основном окне программы создается окошечко, в которое можно что-нибудь записать, но на то, что я записываю, программа вообще не реагирует.

Что можно сделать? Помогите, пожалуйста, вопрос жизни и смерти!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 23:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос WinAPI Ввод с клавиатуры (C++):

Как правильно заменить ввод данных простой на ввод с клавиатуры? - C++
#include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) ...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур - C++
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

Ввод с клавиатуры - C++
на С++ надо организовать ввод с клавиатуры, при этом я не знаю сколько элементов будет вводится, записывать их в массив. Тоесть когда я...

Ввод с клавиатуры - C++
Столкнулся с проблемой, что не получается переделать считывание текста из файла на ввод с клавиатуры. Помогите пожалуйста. #include...

Ввод с клавиатуры - C++
Напишите программу, которая будет читать целое число от ввода с клавиатуры и печатать последнюю цифру данного числа. (8. Write a program...

Ввод с клавиатуры - C++
Помогите пожалуйста переделать программу, чтобы значения n - вводилось с клавиатуры и определяло количество елементов Х и У( по...

5
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,215
19.05.2012, 23:31 #2
обрабатывай WM_CHAR посылается окну при нажатии каждой клавиши

Добавлено через 1 минуту
а если ты пишешь в окно с классом "EDIT"
то обрабатывай от него нотификационные сообщения WM_NOTIFY
0
-=ЮрА=-
Заблокирован
Автор FAQ
20.05.2012, 00:58 #3
Nikolja, введи кнопку Аля "Сбор данных"
Всё будет выглядеть приблизительно так
C
1
2
3
4
5
6
7
8
9
case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        if(wmId == IDC_BUTTON)
        {
               GetWindowText(xo,Buf,BufSize);
               x0 = _wtof(Buf);
        }
        break; //(или return TRUE;)
0
-=ЮрА=-
Заблокирован
Автор FAQ
20.05.2012, 01:18 #4
Вот весь код. Я не стал заморачиваться на конвертацию дабла(при желании можно это сделать). Просто показываю как считать текст из одного поля и запихнуть в другое по нажатию кнопки
Код API
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "stdafx.h"
#include "resource.h"
 
// Global Variables:
HINSTANCE hInst;                                // current instance
LRESULT CALLBACK    DlgProc(HWND, UINT, WPARAM, LPARAM);
 
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    // TODO: Place code here.
    DialogBox((hInst = hInstance), (LPCTSTR)IDD_DIALOG, NULL, (DLGPROC)DlgProc);
    return TRUE;
}
 
//
//  FUNCTION: DlgProc(HWND, unsigned, WORD, LONG)
//
//  PURPOSE:  Processes messages for the main window.
//
//  WM_COMMAND  - process the application menu
//  WM_PAINT    - Paint the main window
//  WM_DESTROY  - post a quit message and return
//
//
LRESULT CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    BOOL bRet = FALSE;
    BOOL bCmd = FALSE;
    char sText[256];
    switch (message) 
    {
        case WM_INITDIALOG:
            bRet = TRUE;
            break;
        case WM_COMMAND:
            bRet = TRUE;
            bCmd = TRUE;
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            EndDialog(hWnd, TRUE); 
            break;
    }
    if(bCmd)
    switch(LOWORD(wParam))
    {
        case IDOK:
            if(GetDlgItemText(hWnd,IDC_EDIT1,sText,255))
               SetDlgItemText(hWnd,IDC_EDIT2,sText);
            break;
        case IDM_EXIT:
        case IDCANCEL: 
            SendMessage(hWnd,WM_DESTROY,0,0);
            break;
    }
    return bRet;
}
0
Изображения
 
Вложения
Тип файла: rar getDouble.exe.rar (8.5 Кб, 33 просмотров)
Тип файла: rar getDouble_proj.rar (13.2 Кб, 68 просмотров)
Nikolja
0 / 0 / 0
Регистрация: 18.05.2012
Сообщений: 3
20.05.2012, 17:00  [ТС] #5
-=ЮрА=-, спасибо огромное!)

Теперь оно заработало))
0
-=ЮрА=-
20.05.2012, 17:25     WinAPI Ввод с клавиатуры
  #6

Не по теме:

Цитата Сообщение от Nikolja Посмотреть сообщение
-=ЮрА=-, спасибо огромное!)
Теперь оно заработало))
- ну дык фирма веников не вяжетРад что код помог!

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2012, 17:25
Привет! Вот еще темы с ответами:

Ввод функции с клавиатуры - C++
Здравствуйте. Необходима помощь в написании программы на С. Программа поиска минимума и максимума функции методом кого-то. С методом может...

Ввод с клавиатуры в конструкторе - C++
Добавьте третий конструктор, который вводит координаты центра и радиус с клавиатуры и присваивает значения itsX, itsY, itsRadius.

Палиндром ввод с клавиатуры - C++
Доброго времени суток:) Напишите программу,которая читает пятизначные целые и определяет,являются ли они палиндромами(пример палиндрома...

Ввод строки с клавиатуры - C++
Помогите найти, в чем ошибка. При вводе строки программа аварийно завершается. Вот кусок кода #include<iostream> int main() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
20.05.2012, 17:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru