Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для Michail97
94 / 41 / 23
Регистрация: 18.09.2016
Сообщений: 384

Работа с кнопками

11.02.2018, 12:59. Показов 1312. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не совсем понимаю, что имеется в виду под кнопкой по умолчанию и обычной кнопкой. Может, кто просветить на это свет?
Или по умолчанию - это обычная pushbutton?
В рабочей области окна приложения отобразить кнопку по умолчанию с надписью да и обычную кнопку с надписью отмена с
идентификаторами IDOK IDCANCEL. Сообщить пользователю о дейтсвиях над этими кнопками
*/
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include"stdafx.h"
#include <Windows.h>
 
#define IDOK 1001
#define IDCANCEL 1002
 
LPCTSTR lpszClassName = L"Main class";
LPCTSTR lpszCaption = L"Приложение";
 
BOOL RegClass(WNDPROC, LPCTSTR, UINT);
LRESULT CALLBACK MainProc(HWND, UINT, WPARAM, LPARAM);
 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
    HWND hWnd = NULL;
    MSG message;
    if (!RegClass(MainProc, lpszClassName, COLOR_3DHIGHLIGHT))
    {
        return FALSE;
    }
    hWnd = CreateWindow(lpszClassName, lpszCaption, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
    if (!hWnd)
    {
        return FALSE;
    }
    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);
    while (GetMessage(&message, NULL, 0, 0))
    {
        TranslateMessage(&message);
        DispatchMessage(&message);
    }
    return message.wParam;
}
 
 
BOOL RegClass(WNDPROC lpfnProc, LPCTSTR lpszClass, UINT hbrBackground)
{
    WNDCLASS my_class;
    my_class.cbClsExtra = my_class.cbWndExtra = my_class.style = 0;
    my_class.hbrBackground = (HBRUSH)(hbrBackground + 1);
    my_class.hCursor = LoadCursor(NULL, IDC_ARROW);
    my_class.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    my_class.hInstance = (HINSTANCE)GetModuleHandle(NULL);
    my_class.lpfnWndProc = lpfnProc;
    my_class.lpszClassName = lpszClass;
    my_class.lpszMenuName = NULL;
    return RegisterClass(&my_class);
}
 
LRESULT CALLBACK MainProc(HWND hWnd, UINT mess, WPARAM wParam, LPARAM lParam)
{
    static HWND hButton_1, hButton_2;
    switch (mess)
    {
    case WM_CREATE:
    {
        CreateWindow( L"button", L"Работа с кнопками", WS_CHILD | WS_VISIBLE | BS_GROUPBOX | BS_CENTER, 75, 75, 250, 300, hWnd, NULL, (HINSTANCE)GetClassLong(hWnd, GCL_HMODULE), NULL);
        hButton_1 = CreateWindow(L"button", L"Да", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 100, 100, 200, 100, hWnd, (HMENU)IDOK, (HINSTANCE)GetClassLong(hWnd, GCL_HMODULE), NULL);
        hButton_2 = CreateWindow(L"button", L"Отмена", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 100, 250, 200, 100, hWnd, (HMENU)IDCANCEL, (HINSTANCE)GetClassLong(hWnd, GCL_HMODULE), NULL);
        break;
    }
    case WM_COMMAND:
    {
        switch (LOWORD(wParam))
        {
        case IDOK:
            {
            if (HIWORD(wParam) == BN_CLICKED)
            {
                MessageBox(hWnd, L"Вы нажали на кнопку «Да»", L"Сообщение", MB_OK);
            }
            break;
            }
        case IDCANCEL:
            {
            if (HIWORD(wParam) == BN_CLICKED)
            {
                MessageBox(hWnd, L"Вы нажали на кнопку «Отмена»", L"Сообщение", MB_OK);
            }
            break;
            }
        }
        break;
    }
    case WM_CLOSE:
    {
        short reply = MessageBox(hWnd, L"Вы действительно хотите выйти?", L"Сообщение", MB_YESNO);
        if (reply == IDYES)
        {
            DestroyWindow(hWnd);
        }
        break;
    }
    case WM_DESTROY:
    {
        PostQuitMessage(0);
        break;
    }
    default:
    {
        return DefWindowProc(hWnd, mess, wParam, lParam);
    }
    }
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.02.2018, 12:59
Ответы с готовыми решениями:

Работа с кнопками
Здравствуйте! Подскажите, пожалуйста. У меня есть диалоговое окно, в нем кнопка. Надо, чтобы при нажатии на кнопку выполнялась функция....

Работа с кнопками
разместите на форме две кнопки (button). Сделайте на кнопках следующие надписи: привет, до свидания. Создайте обработчики события нажатия...

Работа с кнопками
Добрый день. Подскажите как написать такую функцию (для работы с кнопками), чтобы при нажатии на любую Button, в эту функцию возращался...

1
30 / 36 / 9
Регистрация: 16.10.2017
Сообщений: 137
11.02.2018, 13:09
Michail97, под кнопкой по умолчанию имеется в виду кнопка, на которой фокус будет стоять сразу при появлении окна. То есть, выбор по умолчанию. Чтобы после появления окна, я мог сразу нажать Enter, чтобы нажать на "Да".
Попробуй в проводнике винды выбрать файл и нажать del. Появится окно, и там тоже будет фокус на кнопке (если мне память не изменяет). Это и есть "кнопка по умолчанию". Мне не нужно табами, мышкой кнопку искать, чтобы подтвердить выбор. Просто Enter.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.02.2018, 13:09
Помогаю со студенческими работами здесь

Работа с кнопками
Здравствуйте, Есть TPlayer=class(TImageSprite) и ''массив'' из TMap = class(TImageSprite); Карта это массив из стен(блоков) через...

Работа с кнопками
В моем проекте есть 15 кнопок (button1, button2, button3 и т.д.) Мне нужно проверить каждую кнопку, содержит ли она в своем наименовании...

Работа с кнопками
Изучаю язык Джава. И на этом этапе стлокнулся с проблемой. Вот собственно кодimport javax.swing.*; import java.util.*; import...

Работа с кнопками
Не могу никак разобраться с переключением светодиодов с помощью кнопок. Хочу, чтобы три светодиода переключались в одну сторону по нажатию...

Работа с кнопками
Народ помогите пожалуйста. Есть таблица и форма. В форме колонки дата, время и кнопка. Когда нажимаю кнопку в низ данные заносятся в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru