реклама на сайте
подробности

 
 
> Файл ресурсов С++, Предопределенные значения ресурсов
Igor.Kh
сообщение Mar 12 2014, 17:38
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 19-03-13
Пользователь №: 76 101



Здравствуйте.

Начал изучать С++. Для написания программ использую Microsoft Visu C++ 2010 express. При создании проекта с "чистого листа" создаю заголовочный файл ресурсов
Resource.h в ручную.

Возникли вопросы
1. Есть ли предопределенные числовые значения для предопределенных символов, например для таких как IDABORT, IDD_ABOUTBOX, IDI_SMALL и других? Как я понял
из MSDN определение этих символов дано в Win32.h. Но как получить узнать эти предопределенные числовые значения?

2. Есть ли и какие правила назначения/использования числовых значений для определенных пользователем ресурсов? Например разделение по назначению, типу?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Mar 12 2014, 18:13
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Igor.Kh @ Mar 12 2014, 21:38) *
1. Есть ли предопределенные числовые значения для предопределенных символов, например для таких как IDABORT, IDD_ABOUTBOX, IDI_SMALL и других? Как я понял
из MSDN определение этих символов дано в Win32.h. Но как получить
узнать эти предопределенные числовые значения?

В том хидере, где символ описан, там он и определен в виде константы. Например:
Код
#define IDABORT      3

отождествляет IDABORT с числом 3.

Цитата(Igor.Kh @ Mar 12 2014, 21:38) *
2. Есть ли и какие правила назначения/использования числовых значений для определенных пользователем ресурсов? Например разделение по назначению, типу?

Правила тут такие. Если это ваш самодельный диалог, но его элементам можете придавать любые числовые значения, лишь бы они не повторялись внутри одного и того же диалога. Точно так же ничто не мешает использовать уже существующие определения типа IDOK или IDCANCEL, т.к. такие кнопочки есть почти у всех диалогов.

Например, я в каждом диалоговом окне начинаю нумеровать с цифры 100, потом 110, 120, 130, 140, и т.д. через десятку, чтобы при необходимости можно было вставить число в промежуток. Хотя это только мой бзик, поскольку кнопочки не обязаны идти по порядку. Однако мне так больше нравится.

В другом диалоге снова можно начинать с 100, т.к. диалоги чужих элементов не видят и не знают, что они есть. Т.е. эти числа нужны только для данного диалога, чтобы тот мог различать своих детей. Более они ни для чего не нужны. А в других семьях/диалогах детей снова можно называть теми же именами.

Иное дело - "системные диалоги", которые не вы рисовали. Там уже и элементы были названы без вас. И если вам их идентификаторы нужны, то надо искать их опреденение в хидер-файлах. Например, IDABORT это специфическая кнопка системного диалога MessageBox, который выдает код клавиши, по которой его покинули. А я оттого и нумерую элементы своих диалогов, начиная с числа 100, чтобы можно было идентификаторы системных кнопок использовать, т.к. до сотни их номер никогда не доходит.
Go to the top of the page
 
+Quote Post
Igor.Kh
сообщение Mar 13 2014, 14:55
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 19-03-13
Пользователь №: 76 101



Xenia,

Спасибо за пояснение! Помогли! Двигаюсь дальше в изучении более уверенным шагом.

Цитата(ms1 @ Mar 13 2014, 17:49) *
В бесплатной версии студии нет редактора ресурсов.
По крайней мере в 2005м не было, если мне мой склероз не изменяет.
Кроме того, топикстартеру, раз уж он начинающий, действительно будет полезно разобраться как это выглядит "изнутри".


Вы правы, в бесплатной версии нет редактора ресурсов. И действительно хочу разобраться как это выглядит "изнутри".

Сообщение отредактировал Igor.Kh - Mar 13 2014, 14:50
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.04192 секунд с 7
ELECTRONIX ©2004-2016