Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибка при регистрации класса окна  (Прочитано 6351 раз)
0 Пользователей и 1 Гость смотрят эту тему.
baleog
Гость
« : 19-05-2004 05:50 » 

Доброго времени суток !

Помогите люди добрые - когда я регистрирую класс какого-нибудь окна, в getlasterror всегда указывается "Не удается найти указанный файл". я не замечал этого пока просто создавал главное окно программы. но вот хочу суперклассировать комбобокс, и при регистрации нового класса опять таже ошибка, и мой комбобокс не создается, хотя RegisterClass возвратил не-NULL. первый параметр в WinMain (HINSTANCE) нормальный  (0х400000).

static char g_szComboBoxClassName[] = "COMBOBOX";
static char g_szComboBoxExClassName[] = "KComboBoxEx";

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE , LPSTR lpCmdLine, int nCmdShow)
{
hInst = hInstance; // Это значение я использую, когда суперклассирую комбобокс
KTestDialog pDialog(hInst);
pDialog.Dialogbox(hInst, MAKEINTRESOURCE(IDD_DLG1));
return 0;
}
// ...
{
WNDCLASS wc;
if(!GetClassInfo(NULL, g_szComboBoxClassName,&wc)) return NULL;
g_fnComboBoxProc = wc.lpfnWndProc;
wc.lpfnWndProc = ComboBoxProc;
wc.hInstance = m_hInst; // тоже значение, что и hInstance в WinMain
wc.lpszClassName = g_szComboBoxExClassName;
if(!RegisterClass(&wc)) return NULL; // после этого GetLastError выдает "Не удается найти указанный файл"
CREATESTRUCT sdic;
memset(&sdic, 0, sizeof(sdic));
sdic.lpCreateParams = this;
return CreateWindowEx(dwExStyle,g_szComboBoxExClassName,NULL,dwStyle,x,y,nWidth,nHeight,hWnd,NULL,m_hInst,&sdic);
}
Записан
Mayor
Специалист

ru
Offline Offline

« Ответ #1 : 22-05-2004 04:27 » 

А что если перед RegisterClass вызвать SetLastError(STATUS_SUCCESS) , извени я не совсем понял , зачем ты проверял GetLastError если ATOM <> NULL ?

И опять же, на основании каких данных ты заявляешь ,что твой ComboBox не создается ?
Записан

1n c0de we trust
baleog
Гость
« Ответ #2 : 22-05-2004 05:58 » 

Цитата
И опять же, на основании каких данных ты заявляешь ,что твой ComboBox не создается ?

на основании того, что createwindow выдавал null Улыбаюсь
а вообще, проблема разрешилась сама Улыбаюсь
Записан
Mayor
Специалист

ru
Offline Offline

« Ответ #3 : 23-05-2004 02:06 » new

Ну тогда хорошо, а из-за чего она возникла ?
Улыбаюсь просто мне любопытно ...
Записан

1n c0de we trust
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines