Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40

Не создается кнопка Button

06.05.2018, 20:10. Показов 1809. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно создать кнопку Button, чтобы она выполняла это
C++
1
bot.client.Init();
и нужно создать Label в который кнопка будет выводить
C++
1
Label1->Caption=bot.client.pid;
У меня вылезает какая то ошибка, которая пишет, что должно быть 11 параметров, а у меня 12. Ничего не понимаю, помогите
Миниатюры
Не создается кнопка Button  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2018, 20:10
Ответы с готовыми решениями:

Не создается кнопка
... WNDCLASSEX ShotMenu_class; ShotMenu_class.cbClsExtra = 0; ShotMenu_class.cbSize = sizeof(WNDCLASSEX); ...

Не создается кнопка в WM_CREATE
Здравствуйте. Собственно создаю кнопку в winapi обрабатывая WM_CREATE. Но она не создается... Ниже код, вроде все правильно, подскажите что...

Кнопка не создается внутри окна
В программе должно создаваться окно, а в этом окне кпопка, но ее почему-то нет. Создание кпопки на 21 строчке. #include...

33
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40
06.05.2018, 22:34  [ТС]
Студворк — интернет-сервис помощи студентам
Azazel-San, ну, она просто закомменчина же
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
06.05.2018, 22:35
infaCplus, поправка 29 строчка, там где две подряд скобки } идут
0
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40
06.05.2018, 22:39  [ТС]
Поправил, но все равно ошибок куча
Миниатюры
Не создается кнопка Button  
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
06.05.2018, 22:42
infaCplus, все верно, смотрите первая красная строчка, что пишет?
w_param не определено, ведь у вас переменная называется wParam надо заменить, ну, и тд
0
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40
06.05.2018, 23:09  [ТС]
C++
1
[Error] cannot convert 'HWND' to 'HINSTANCE' for argument '11' to 'HWND__* CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID)'
а что это значит?

Добавлено через 1 минуту
Azazel-San, ?
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
06.05.2018, 23:14
infaCplus, сравните строчки CreateWindow(("BUTTON"), ("PID") у вас и у меня
0
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40
06.05.2018, 23:17  [ТС]
Azazel-San, ну если туда _T дописать, он ругается, что
C++
1
[Error] '_T' was not declared in this scope
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
06.05.2018, 23:56
infaCplus,
пробуй запустить, на кнопочку понажимай в программе
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#define BTN_INIT    1
 
#define LABEL       10
 
HWND            g_hwnd, g_hwnd_lbl;
HINSTANCE       g_hinst;
const TCHAR*    g_id_process;
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{
    MSG msg; 
    g_hinst = hInstance;
    
    WNDCLASS wc;
    wc.cbClsExtra = wc.cbWndExtra = 0;
    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon = NULL;
    wc.hInstance = g_hinst;
    wc.lpfnWndProc = WndProc;
    wc.lpszClassName = L"WindowClass";
    wc.lpszMenuName = NULL;
    wc.style = CS_HREDRAW | CS_VREDRAW;
 
 
    if (!RegisterClass(&wc)) 
    {
        MessageBox(NULL, L"Window Registration Failed!", L"Error!", MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }
 
    g_hwnd = CreateWindowEx(0, 
            L"WindowClass", L"Caption", 
            WS_VISIBLE | WS_OVERLAPPEDWINDOW,
            CW_USEDEFAULT, /* x */
            CW_USEDEFAULT, /* y */
            640, /* width */
            480, /* height */
            NULL, NULL, hInstance, NULL);
 
    g_hwnd_lbl = CreateWindow(L"STATIC", L"",
        WS_CHILD | WS_VISIBLE | WS_TABSTOP,
        150, 10, 100, 20, // x/y/w/h
        g_hwnd, (HMENU)LABEL, g_hinst, NULL);
 
    ShowWindow(g_hwnd, nCmdShow);
 
 
    while (GetMessage(&msg, NULL, 0, 0)) 
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
    switch (Message) 
    {
    case WM_CREATE:
        CreateWindow(L"BUTTON", L"PID",
            WS_CHILD | WS_VISIBLE,
            10, 10,
            80, 50,
            hwnd, (HMENU)BTN_INIT, g_hinst, NULL);
        break;
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case BTN_INIT:
            bot.client.Init();
            g_id_process = L"123456"; // Вот тут вместо L"123456" нужно откуда-то брать этот id
            // какуй-то функцию нужно сделать для структуры bot которая бы id возвращала
            SetWindowText(g_hwnd_lbl, g_id_process);
            break;
        }
        break;
    case WM_DESTROY: 
            PostQuitMessage(0);
            break;
    default:
            return DefWindowProc(hwnd, Message, wParam, lParam);
    }
}
Добавлено через 5 минут
и спасибо не забудь сказать
0
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40
07.05.2018, 00:30  [ТС]
Azazel-San, ну вот я вставил, но ошибки пишет
Миниатюры
Не создается кнопка Button  
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
07.05.2018, 00:54
infaCplus, у меня все работает

Добавлено через 12 минут
infaCplus, замени
C++
1
const TCHAR*    g_id_process;
На
C++
1
const CHAR*    g_id_process;
0
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40
07.05.2018, 19:23  [ТС]
Azazel-San, заменил, но ошибку пишет
Миниатюры
Не создается кнопка Button  
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
07.05.2018, 19:40
infaCplus, господи windows.h подключи...
0
0 / 0 / 1
Регистрация: 28.04.2017
Сообщений: 40
07.05.2018, 20:12  [ТС]
Azazel-San, да точно, я забыл подключить, но все равно ошибки выдает
Миниатюры
Не создается кнопка Button  
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
07.05.2018, 20:41
infaCplus, а если так?
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#define BTN_INIT    1
 
#define LABEL       10
 
HWND            g_hwnd, g_hwnd_lbl;
HINSTANCE       g_hinst;
const TCHAR*    g_id_process;
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{
    MSG msg; 
    g_hinst = hInstance;
    
    WNDCLASS wc;
    wc.cbClsExtra = wc.cbWndExtra = 0;
    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon = NULL;
    wc.hInstance = g_hinst;
    wc.lpfnWndProc = WndProc;
    wc.lpszClassName = "WindowClass";
    wc.lpszMenuName = NULL;
    wc.style = CS_HREDRAW | CS_VREDRAW;
 
 
    if (!RegisterClass(&wc)) 
    {
        MessageBox(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }
 
    g_hwnd = CreateWindowEx(0, 
            "WindowClass", "Caption", 
            WS_VISIBLE | WS_OVERLAPPEDWINDOW,
            CW_USEDEFAULT, /* x */
            CW_USEDEFAULT, /* y */
            640, /* width */
            480, /* height */
            NULL, NULL, hInstance, NULL);
 
    g_hwnd_lbl = CreateWindow("STATIC", "",
        WS_CHILD | WS_VISIBLE | WS_TABSTOP,
        150, 10, 100, 20, // x/y/w/h
        g_hwnd, (HMENU)LABEL, g_hinst, NULL);
 
    ShowWindow(g_hwnd, nCmdShow);
 
 
    while (GetMessage(&msg, NULL, 0, 0)) 
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
    switch (Message) 
    {
    case WM_CREATE:
        CreateWindow("BUTTON", "PID",
            WS_CHILD | WS_VISIBLE,
            10, 10,
            80, 50,
            hwnd, (HMENU)BTN_INIT, g_hinst, NULL);
        break;
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case BTN_INIT:
            bot.client.Init();
            g_id_process = "123456"; // Вот тут вместо 123456 нужно откуда-то брать этот id
            // какуй-то функцию нужно сделать для структуры bot которая бы id возвращала
            SetWindowText(g_hwnd_lbl, g_id_process);
            break;
        }
        break;
    case WM_DESTROY: 
            PostQuitMessage(0);
            break;
    default:
            return DefWindowProc(hwnd, Message, wParam, lParam);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2018, 20:41
Помогаю со студенческими работами здесь

При нажатии на Button каждый раз создается новый компонент (button/label/textbox)
Как реализовать?

Как сделать, чтобы при нажатии кнопки Push Button загоралась та или иная кнопка Radio Button
вопрос: Как сделать,чтобы при нажатие кнопки Push Botton загоралась та или иная кнопка Radio Button?

Как создать Button в Form-e и сохранить его, так чтобы при следующем открытии Form кнопка, т.е. Button существовал на форме?
Доброе время суток! У меня возник такой вопрос. Как создать Button в Form-e и сохранить его, так чтобы при следующем открытии Form...

Не создается связь между Button и объектом
Создал проект, создал свой класс, создал свой объект. Объект связал с классом, в Interface Builder две кнопки и текстовое поле. Необходимо...

Не создается кнопка
При клике на button-2 должно создаться еще одно меню с кнопками @bot.message_handler(commands=) def welcome(message): #KeyBoard ...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru