Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DialogBox. Не понятен параметр MAKEINTRESOURCE 
V
    Опции темы
DissDoc
Дата 13.12.2010, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Всем привет. Вначале, я прекрасно на словах понимаю, что такое MALEINITRESOURCE - это макрос перевода числового параметра для ресурсов (по-русски не знаю как написать  smile ) 
Цитата

The MAKEINTRESOURCE macro converts an integer value to a resource type compatible with the resource-management functions. This macro is used in place of a string containing the name of the resource. 

Так вот в чем проблема. Есть dll. В ней я хочу создать DialogBox. Собственно есть такая функция
Код

INT_PTR CALLBACK TestDBox(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    //...............................
    return (INT_PTR) FALSE; // или TRUE - сейчас не важно
}

Теперь пришло время вызвать этот диалог. Что я делаю
Код

DialogBox(hInst, MAKEINTRESOURCE(/* Что сюда писать */), NULL, TestDBox);

Я создаю все вручную. Отсюда у меня появляется несколько вопросов сразу
hInst - указатель на модуль. На какой такой модуль?
и что собственно писать в MALEINTRESOURCE? Если у меня нет допустим макросов IDC_КАКОЙ_ТО_ОБЪЕКТ (я вручную создаю)

Это сообщение отредактировал(а) GremlinProg - 14.12.2010, 08:16
PM MAIL WWW   Вверх
Artemon
Дата 13.12.2010, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



DialogBox создает окно на основе созданного в дизайнере диалога.
Такчто сначала создайте диалог в визуальном дизайнере - вам дадут его id, а уж затем вызывайте данную функцию.

hInst - Инстанс текущего модуля (либо exe либо dll)


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
DissDoc
Дата 13.12.2010, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Это плохо. А если я не хочу в дизайнере создавать например, какой мне тогда функцией воспользоваться?
PM MAIL WWW   Вверх
Artemon
Дата 13.12.2010, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



CreateWindow например


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
GremlinProg
Дата 14.12.2010, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



первым делом, что сие значит:
Цитата(DissDoc @  13.12.2010,  18:29 Найти цитируемый пост)
Я создаю все вручную

???
Цитата(DissDoc @  13.12.2010,  18:29 Найти цитируемый пост)
hInst - указатель на модуль. На какой такой модуль?

на модуль, в котором расположен данный ресурс

если этот ресурс в этой длл, то hInst нужно передать ту, которая приходит в DllMain
Цитата(DissDoc @  13.12.2010,  18:29 Найти цитируемый пост)
и что собственно писать в MALEINTRESOURCE? Если у меня нет допустим макросов IDC_КАКОЙ_ТО_ОБЪЕКТ (я вручную создаю)

опять, же, что сие значит, "вручную"
ресурс диалога не бывает без идентификатора, как бы ты его ни создавал,
в MALEINTRESOURCE передают идентификатор ресурса,
а IDC_КАКОЙ_ТО_ОБЪЕКТ - это просто макрос, который автоматически сопоставляется  таким идентификатором с заданным ресурсом,
в редакторе ресурсов, для упрощения обратной связи с программой

Добавлено через 3 минуты и 13 секунд
Цитата(GremlinProg @  14.12.2010,  10:26 Найти цитируемый пост)
MAKEINTRESOURCE



--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Earnest
Дата 14.12.2010, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



Для мазохистов предусмотрена и возможность рисовать диалог вручную - через DialogBoxIndirect. Создавай себе шаблон DLGTEMPLATE, напихивай туда контролы и вперед. Правда, hInstance и там требуется. 


--------------------
...
PM   Вверх
DissDoc
Дата 14.12.2010, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Как hInst я уже понял как взять в моем случае, и собственно почитав доки уже. Всем спасибо за оказываемую помощь.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.