Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/41: Рейтинг темы: голосов - 41, средняя оценка - 4.98
 Аватар для Xapl
3 / 3 / 0
Регистрация: 04.02.2009
Сообщений: 45

GetDlgItemText

05.03.2010, 23:00. Показов 8408. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что-то я не понимаю вот кот обработки событий диалога:
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
int xx;
LPWSTR ccc;
BOOL CALLBACK DlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp)
{
    switch (msg) 
    {
        case WM_COMMAND: 
            switch(LOWORD(wp))
            {
            case IDOK:
                 EndDialog(hw,0);
                 break;
            case IDC_BUTTON_1:
                xx=GetDlgItemInt(hw,IDC_EDIT_1,FALSE,TRUE);
                SetDlgItemInt(hw,IDC_STATIC_1,xx,TRUE);
                break;
            case IDC_BUTTON_2:
                GetDlgItemText(hw,IDC_EDIT_1,str1,255);
                SetDlgItemText(hw,IDC_STATIC_1,str1);
                break;
            }
    }
return FALSE;
}
Кнопка IDC_BUTTON_1 работает
А IDC_BUTTON_2 нет
строка пустая и возвращает 0 GetDlgItemText(hw,IDC_EDIT_1,str1,255);
не понял???
может из-за того, что я наподключал??
C++
1
2
3
4
5
6
#include <windows.h>
#include "resource.h"
#include <gl\glut.h>
#include <time.h>
#include <gl\gl.h>
#include <gl\glu.h>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.03.2010, 23:00
Ответы с готовыми решениями:

не считывает GetDlgItemText в MFC
ошибок не выдает, но не считывает данные( ставит по умолчанию 1 ) ???? код class Box { double length; double width; ...

Ошибка при GetDlgItemText
case IDC_MAIN_BUTTON: wchar_t str; GetDlgItemText(h,IDC_MAIN_EDIT,str,sizeof(str)); ...

Получить строку из GetDlgItemText
Имеется такой код, мне нужно получить значение из GetDlgItemText для сравнение с паролем, вроде бы получаю его, записываю в eax, но...

8
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
06.03.2010, 08:32
так и проверь GetLastError().
0
 Аватар для Xapl
3 / 3 / 0
Регистрация: 04.02.2009
Сообщений: 45
06.03.2010, 15:48  [ТС]
Изменил на вот что:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int xx;
LPWSTR ccc,err;
DWORD er;
case IDC_BUTTON_2:
                GetDlgItemText(hw,IDC_EDIT_1,(LPWSTR)&ccc,255);
                er=GetLastError();
                SetDlgItemText(hw,IDC_STATIC_1,(LPWSTR)&ccc);
                //SetDlgItemInt(hw,IDC_STATIC_1,er,TRUE);
                FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |FORMAT_MESSAGE_FROM_SYSTEM,
                        NULL,
                        er,
                        0,
                        (LPWSTR)&err,
                        0,
                        NULL);
                SetDlgItemText(hw,IDC_STATIC_2,err);
                //MessageBox(NULL,err,L"ERROR",MB_OK);
                return TRUE;
                break;
7-я и 5-я строчка и все работает?? и еще 13-я
GetDlgItemText(hw,IDC_EDIT_1,(LPWSTR)&cc c,255);
(LPWSTR)&ccc - вот так работает, увидел толко на msdn
это обязательно так усложнять может тип строчки поменять??
вроде LPWSTR ?
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
06.03.2010, 16:51
Xapl, разузнайте, что за тип такой LPWSTR (wchar_t*) и каким образом можно записывать строку по неизвестно какому адресу (LPWSTR)&ccc
0
 Аватар для Xapl
3 / 3 / 0
Регистрация: 04.02.2009
Сообщений: 45
06.03.2010, 17:12  [ТС]
можно так это уже проще
C++
1
2
wchar_t str;
GetDlgItemText(hw,IDC_EDIT_1,&str,255);
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
06.03.2010, 17:59
C++
1
2
3
4
5
6
UINT GetDlgItemText(      
    HWND hDlg,
    int nIDDlgItem,
    LPTSTR lpString,
    int nMaxCount
);
lpString
[out] Pointer to the buffer to receive the title or text.
буфер, не непонятно какой указатель, не один символ, а буфер

C++
1
2
#define MAX_TEXT 200;
wchar_t str[MAX_TEXT];
0
 Аватар для Xapl
3 / 3 / 0
Регистрация: 04.02.2009
Сообщений: 45
06.03.2010, 19:19  [ТС]
о так работает
но LPWSTR
это же указатель на строчку или..?
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
06.03.2010, 19:25
да, указатель на массив char/wchar_t заканчивающийся нулевым символом
C++
1
typedef wchar_t* LPWSTR;
0
 Аватар для Xapl
3 / 3 / 0
Регистрация: 04.02.2009
Сообщений: 45
06.03.2010, 21:28  [ТС]
а почему не работает? если это массив
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2010, 21:28
Помогаю со студенческими работами здесь

Преобразование параметра функции GetDlgItemText
Здравствуйте. есть кусочек кода: LPSTR buf; GetDlgItemText(hwnd, IDC_EDIT1, buf, sizeof(buf)); Не понимаю как преобразовать buf из...

Неправильное сохранение через GetDlgItemText
Доброго времени суток) Хотела освоить WinAPI и написать простейший калькулятор. Долго мучилась с неправильным выводом и...

Использование GetDlgItemText для получения текста из контрола
Пытаюсь получить текст из блокнота. GetDlgItemText ничего не передает в буфер. Код ошибки - 0. Помогите разобраться. Option...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru