Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 13.05.2018, 18:44   #1
My_Number245
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 17
Репутация: 10
По умолчанию Не загружается UPDOWN_CLASS из ресурсов

Здравствуйте. Проблема такая: описал в диалоге элемент управления up-down. Когда пытаюсь загрузить диалог из ресурсов, окно не открывается. Причем, когда в ресурсах закомментирую строку с UPDOWN_CLASS'ом, то все ок. Потом прописал в WinMain InitCommonControls(), линковщик выдал ошибку. Загуглил, узнал, что к проекту нужно подключать библиотеку comctl32. Долго возился, с горем пополам настроил. Итого: линковщик больше не ругается, а толку 0, как будто и не прописывал InitCommonControls. Что я делаю не так?

main.cpp:

Код:

#pragma comment(lib, "comctl32.lib")
#include<windows.h>
#include<commctrl.h>
BOOL CALLBACK DlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp);
HINSTANCE hInst;
int WINAPI WinMain(HINSTANCE h, HINSTANCE hPrev, LPSTR cmd, int ss)
{
   hInst = h;
   InitCommonControls();
   HWND wnd = CreateDialog(hInst, "MyDialog", NULL, (DLGPROC)DlgProc);
   if(!wnd)
      MessageBox(NULL, "Не работает", "Падла", MB_ICONWARNING | MB_OK);
   MSG msg;
   while(GetMessage(&msg, NULL, 0, 0))
   {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }
   return msg.wParam;
}
BOOL CALLBACK DlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp)
{
   switch(msg)
   {
      case WM_INITDIALOG: 
         return TRUE;
      case WM_CLOSE:
         PostQuitMessage(0);
         return TRUE;
   }
   return FALSE;
}

hell.rc:

Код:

#pragma comment(lib, "comctl32.lib")
#include<windows.h>
#include<commctrl.h>
MyDialog DIALOG 50, 50, 400,200
   STYLE WS_VISIBLE | WS_SYSMENU | WS_BORDER
   CAPTION "Hellworld"
{
   CONTROL "5", 1, "EDIT", WS_BORDER | WS_VISIBLE | ES_CENTER, 10, 10, 20, 10 
   CONTROL "", 2, "UPDOWN_CLASS", WS_VISIBLE, 20, 20, 20, 10
}

My_Number245 вне форума   Ответить с цитированием
Старый 13.05.2018, 23:30   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,471
Репутация: 1667
По умолчанию

Цитата:
Сообщение от My_Number245 Посмотреть сообщение
Потом прописал в WinMain InitCommonControl
Попробуйте InitCommonControlEx()
waleri вне форума   Ответить с цитированием
Старый 14.05.2018, 15:21   #3
My_Number245
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 17
Репутация: 10
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Попробуйте InitCommonControlEx()
Тоже не работает
My_Number245 вне форума   Ответить с цитированием
Старый 14.05.2018, 17:32   #4
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,471
Репутация: 1667
По умолчанию

Цитата:
Сообщение от My_Number245 Посмотреть сообщение
CONTROL "", 2, "UPDOWN_CLASS", WS_VISIBLE, 20, 20, 20, 10
А, вот оно - нет такого класса UPDOWN_CLASS - уберите кавычки и подключайте commctrl.h в ресурсный файл.
Настоящее имя класса - "msctls_updown32"
waleri вне форума   Ответить с цитированием
Старый 14.05.2018, 21:28   #5
My_Number245
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 17
Репутация: 10
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
А, вот оно - нет такого класса UPDOWN_CLASS - уберите кавычки и подключайте commctrl.h в ресурсный файл.
Настоящее имя класса - "msctls_updown32"
Спасибо большое, работает как надо. Уже второй раз выручаете
А так я и не догадался бы, в самоучителе указано имя класса именно UPDOWN_CLASS, а в гугле по нему мало информации
My_Number245 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
комп не загружается Андрей 76 Свободное общение 4 02.05.2012 10:03
Не загружается ОС raiska Операционные системы общие вопросы 4 17.04.2012 23:07
Не загружается XP! ПОМОГИТЕ!!! Softsergey Свободное общение 10 25.11.2009 21:37
Не загружается windows xp haooss Windows 5 15.11.2009 00:26
ОС не загружается. SKS Железо 20 27.06.2009 16:58


19:25.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru