Заблокирован

Написать программу с кнопками и с текстовыми полями

16.07.2018, 21:17. Показов 4354. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток!
Скажите как написать программу с кнопками и с текстовыми полями.
Только не надо писать знаки как в билдере -> я их не понимаю.
хочу обычным способом все сделать, только чистым кодом на Dev-Cpp
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.07.2018, 21:17
Ответы с готовыми решениями:

В программе с несколькими текстовыми полями, которые периодически меняются, как считать и отобразить лэйблы?
Всех с Новым Годом, но прошу помощи. Я только начал изучать с++, помогите с поставленной задачей. Есть программа с несколькими текстовыми...

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

Работа с текстовыми полями
Как перевести значение в текстовом поле в число, чтобы при нажатии на кнопку значения из 2 текстовых полей суммировались или вычитались, а...

5
Заблокирован
16.07.2018, 21:56
Цитата Сообщение от vitsd Посмотреть сообщение
Скажите как написать программу с кнопками и с текстовыми полями.
А что именно не получается? На вопрос "как", ответ - ручками в редакторе.
0
Заблокирован
17.07.2018, 19:05  [ТС]
Именно, не получается (не знаю как) в окне программы создать кнопки и текстовые поля.
Вот при создании Windows Application, Dev-Cpp генерирует код
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
#include <windows.h>
 
/* This is where all the input to the window goes to */
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
    switch(Message) {
        
        /* Upon destruction, tell the main thread to stop */
        case WM_DESTROY: {
            PostQuitMessage(0);
            break;
        }
        
        /* All other messages (a lot of them) are processed using default procedures */
        default:
            return DefWindowProc(hwnd, Message, wParam, lParam);
    }
    return 0;
}
 
/* The 'main' function of Win32 GUI programs: this is where execution starts */
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    WNDCLASSEX wc; /* A properties struct of our window */
    HWND hwnd; /* A 'HANDLE', hence the H, or a pointer to our window */
    MSG msg; /* A temporary location for all messages */
 
    /* zero out the struct and set the stuff we want to modify */
    memset(&wc,0,sizeof(wc));
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.lpfnWndProc   = WndProc; /* This is where we will send messages to */
    wc.hInstance     = hInstance;
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    
    /* White, COLOR_WINDOW is just a #define for a system color, try Ctrl+Clicking it */
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszClassName = "WindowClass";
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION); /* Load a standard icon */
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION); /* use the name "A" to use the project icon */
 
    if(!RegisterClassEx(&wc)) {
        MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
        return 0;
    }
 
    hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, /* x */
        CW_USEDEFAULT, /* y */
        640, /* width */
        480, /* height */
        NULL,NULL,hInstance,NULL);
 
    if(hwnd == NULL) {
        MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
        return 0;
    }
 
    /*
        This is the heart of our program where all input is processed and 
        sent to WndProc. Note that GetMessage blocks code flow until it receives something, so
        this loop will not produce unreasonably high CPU usage
    */
    while(GetMessage(&msg, NULL, 0, 0) > 0) { /* If no error is received... */
        TranslateMessage(&msg); /* Translate key codes to chars if present */
        DispatchMessage(&msg); /* Send it to WndProc */
    }
    return msg.wParam;
}
А теперь надо сделать так, чтобы, не имея редактора Forms, можно было без всяких ресурсов, чистым кодом создать кнопки. На форуме уже есть тема, где написано, как создать кнопки. А с текстовыми полями нет еще по-моему, по крайней мере через гугл не нашел.
Вот эту графику я не знаю, а обычно использую функции WinApi CreateDirectory, DeleteFile, GetModuleFileName и т.д. в консольных программах. Хочу научится создавать обычные программы, как броузер. Но, как говорю, графику абсолютно не знаю.
Хочу на работу пойти. Вот если бы к остальным знаниям добавить еще кнопки и поля, можно сделать нормальную, человеческую программу.
0
35 / 17 / 10
Регистрация: 13.12.2014
Сообщений: 107
17.07.2018, 20:18
Если хотите создавать элементы управления (кнопки, поля, скролы и т.д., и т.п.) в программе используйте CreateWindowEx.
Имена классов кнопка - BUTTON, поле ввода - EDIT, список - LISTBOX, раскрывающийся список - COMBOBOX и т.д., и т.п.
Подробнее в MSDN.

Добавлено через 3 минуты
Цитата Сообщение от vitsd Посмотреть сообщение
На форуме уже есть тема, где написано, как создать кнопки.
Вместо имени класса "BUTTON" вводите "EDIT". Удаляете стили кнопки BS_... (удаляйте все кроме WS_...). И устанавливаете стили поля ввода ES_... .
1
9 / 9 / 2
Регистрация: 09.04.2012
Сообщений: 75
18.07.2018, 18:55
Лучший ответ Сообщение было отмечено vitsd как решение

Решение

Текстовые поля (элементы) создаются функцией CreateWindowEx() с именем класса "STATIC", кнопки с классом "BUTTON". Посылаю файл справки по win api в zip-архиве (во вложении).
Вложения
Тип файла: zip MS.Win32API.Ref.zip (10.66 Мб, 44 просмотров)
1
Заблокирован
19.07.2018, 11:38  [ТС]
алекс чебк, спасибо!!! Это лучше любого учебника или интернета все в оффлайн.
Но я все таки вчера установил Visual C++, в редакторе форм это все быстрее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.07.2018, 11:38
Помогаю со студенческими работами здесь

Написать программу со списками и текстовыми файлами
Задача (алфавитно-частотный словарь). В файле записан текст. Нужно записать в другой файл в столбик все слова, встречающиеся в тексте, в...

Работа с текстовыми полями в webBrowser
Доброго времени суток, кратко опишу ситуацию У меня есть webBrowser1 В качестве url ссылка на поисковик http://www.google.ru/ ...

Работа с текстовыми полями в Группе
В документе Excel есть рисунок, который играет роль шаблона. Поверх рисунка вставлены текстовые Поля. Поля заполняю макросом, таким вот...

Вывести отчеты вперемешку с текстовыми полями
Привет всем, Имеется отчет (reportViwer) нужно вывести таким образом: (первые 2 табликса вывел в ручную, сначала текстовое поле идет...

Таблица с текстовыми полями вместо ячеек
Здраствуйте! У меня такая проблема - надо создать таблицу, где вместо обычных ячеек содержатся текстовые поля, и если какое-то поле...


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

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

Новые блоги и статьи
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru