|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.09.2012, 17:01 | #1 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Создание GUI на WinAPI
Эта тема с демонстрационными примерами. Каждый пример показывает использование одного или
нескольких элементов GUI, взаимодействие с этими элементами или взаимодействие элементов между собой. Я рассматриваю наиболее востребованные функции элементов пользовательского интерфейса. В соответствии с возможностями редактора ResEdit http://www.resedit.net Animation Button CheckBox ComboBox Custom Control Date Time Picker Edit Control Group Box Hot Key IP Address Control ListBox ListView Control Month Calendar Picture Control Progress Bar Radio Button Rebar Control Rich Edit 2 Scroll Bar Slider Control Spin Control Static Text Tab Control TreeView Control Диалоговые окна буду оформлять в соответствии с примером из уроков Iczelion'а: http://www.programmersforum.ru/showp...50&postcount=9 Преследую несколько целей: - хочу увидеть недочёты в демо-программах при помощи более опытных программистов - хочу составить справку на основе материала этой темы (либо тема будет, своего рода, справкой) - хочу чтобы эта тема была полезна людям Итак, поехали! Один раз опишу, как я создаю проекты, чтобы не забывать. Создаём проект в Visual 2008 Express Edition (IDE распространяется бесплатно): - Файл --> Создать (Ctrl+N) --> Тип проекта: Win32 --> Шаблоны: Win32 --> Вводим имя, например: simple_edit --> --> Выбираем расположение --> Убираем галочку "Создать каталог для решения" --> Нажимаем "Ok" - Выбираем "Параметры приложения" --> Ставим галочку "Пустой проект" --> Нажимаем "Готово" - В меню выбираем "Проект" --> "Добавить новый элемент" (Ctrl+Shift+A) --> Можно сразу написать имя "main.c" (вне зависимости от выбранного шаблона) --> Нажимаем: "Добавить" Создаём диалоговое окно с элементом управления Edit в ResEdit (http://www.resedit.net, распространяется бесплатно): - File --> New project --> Выбираем расположение (там где находится main.c) --> Вводим имя файла, например: simple_edit --> Нажимаем "Сохранить" - File --> Add a resource --> Dialog (Ctrl+D) - Удаляем кнопки, добавленные по умолчанию: "Ок" и "Cancel" - Выделяем окно "Dialog" --> Cлева в панели "Properties" выбираем поле "Caption" (или начинаем вводить слово "caption" в поле "Enter search here" панели "Properties") и меняем заголовок окна с "Dialog" на "Simple Edit" - Справа в панели "Toolbox" кликаем на поле "Edit Control" --> Кликаем на клиентской области нашего окна --> Кликаем по кнопкам "Vertically center" и "Horizontally center" панели инструменов - File --> Save (Ctrl+S) Запуск приложения: - В меню выбираем "Проект" --> "Существующий элемент" (Ctrl+Alt+A) --> Выбираем файл с расширением .rc (в нашем случае это "simple_edit.rc") --> Нажимаем "Добавить" - Копируем следующий код в файл "main.c" Код:
- В меню выбираем "Отладка" --> "Запуск без отладки" (Ctrl+F5) Edit Control на диалоговом окне: |
12.09.2012, 17:04 | #2 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Button на диалоговом окне:
Код:
Последний раз редактировалось 8Observer8; 12.09.2012 в 17:07. |
12.09.2012, 17:09 | #3 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Записываем строку в Edit:
Код:
#define IDC_EDIT1 3000 #define IDC_BUTTON1 3001 |
12.09.2012, 17:11 | #4 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Считываем строку из Edit'а:
Код:
#define IDC_EDIT1 3000 #define IDC_BUTTON1 3001 |
12.09.2012, 17:12 | #5 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Считываем строку из Edit'а:
Код:
#define IDC_EDIT1 3000 #define IDC_BUTTON1 3001 |
12.09.2012, 17:19 | #6 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
|
15.09.2012, 00:01 | #7 |
Регистрация: 01.09.2011
Сообщений: 5
|
Очень позновательно, спасибо! А когда будет продолжение?
Справка с примерами по работе со всеми контролами на Win32 API была бы очень полезна. Последний раз редактировалось pavelnt; 15.09.2012 в 00:04. Причина: Добавление |
15.09.2012, 16:52 | #8 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Очень рад! Если хотя бы одному человеку интересно, значит не зря пишу! Я думаю, позже найдётся ещё больше людей, которым справка с примерами будет полезна. Я немного остановлюсь на Edit'e. Предупрежу, что иногда я намерен возвращаться к рассмотренным контролам и приводить дополнительные примеры. Время от времени я буду писать "Предварительное содержание" поэтому неважно сколько сообщений было связано не с примерами, а с обсуждением моих недочётов (или с улучшением примеров). Пусть их будет даже больше ста, нас будет спасать "Предварительное содержание". Так же пишите, что именно нужно продемонстрировать дополнительно (например, какое-нибудь полезное взаимодействие контролов) - это внесёт вклад и в мою копилку знаний.
|
15.09.2012, 16:57 | #9 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Так же пишите, что именно нужно продемонстрировать дополнительно
что-нибудь посвежее чем со времен динозавров((: например Ribbons, Win8 Transitions, ...
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
15.09.2012, 17:10 | #10 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Обмен данными между Edit'ами
Краткое описание: После нажатия на кнопку "Change" содержимое двух Edit'ов меняется местами. Замечание: Edit'ы настроены только на чтение (для этого в редакторе ресурсов выделяем оба Edit'а --> на панели "Properties" в поле "Enter search here" начинаем вводить "read" --> выбираем в поле "Read Only" значение "True") Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Различия WinAPI и создание оконных приложений VS Studio | Sauber | Общие вопросы C/C++ | 13 | 03.07.2012 19:21 |
Создание окна(asm) с использованием WinApi | Alex1991 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 04.04.2011 13:20 |
Создание GUI в DirectX | Selestis | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 11 | 02.08.2010 15:15 |
Создание сложных объектов в gui | cherw9!40k | Общие вопросы по Java, Java SE, Kotlin | 0 | 22.03.2010 22:02 |
Создание GUI для WINDOWS | inzener-tolik | Помощь студентам | 8 | 13.03.2010 11:39 |