Hello All!
Возникла странная проблема — если в диалоге настройки скринсейвера поместить slider то диалог не появляется совсем, без него все нормально.
Посмотрите пожалуйста аттач (всего 3 кило) и скажите кто виноват — моя голова,VC++ или Windows.
Подозреваю VC потому что пару лет назад я это делал и все было Ок. Сейчас, столкнувшись с этой проблеммой взял старый проект — он нормально выполняется, начинаю вырезать куски не выполняющиеся (к примеру из ScreenSaverProc) и после нескольких вырезаний диалог уже не появляется, откатываю, вырезаю тот же кусок снова, компилюю и вполне может оказаться что диалог выполняется а может и не оказаться.
Причем виноват именно слайдер, без него все работает как часы.
Проблема где то в линковке?
Других проблем замечено не было. Виндоза и VC стоят больше года и активно используются.
WBR Alexander.
ЗЫ не пинайте сильно за путанность речи — голова уже квадратная.
20.08.05 01:09: Перенесено модератором из 'C/C++' — Павел Кузнецов
Здравствуйте, StupidU, Вы писали:
SU>Возникла странная проблема — если в диалоге настройки скринсейвера поместить slider то диалог не появляется совсем, без него все нормально.
Потому что, скорее всего, ты где-то потерял инициализацию библиотеки common controls.
Как следствие, диалог пытается загрузить шаблон (из ресурса) с неизвестным ему оконным классом. И даёт отлуп.
Что делать: вызвать в начале программы функцию InitCommonControls или InitCommonControlsEx.
InitCommonControls();
// или так
INITCOMMONCONTROLSEX iccdata;
iccdata.dwSize = sizeof(INITCOMMONCONTROLSEX);
iccdata.dwICC = ~0; // или, если не прокатит, напиши ICC_WIN95_CLASSES, или читай документацию
BOOL icc_ok = InitCommonControlsEx(&iccdata);
ASSERT(icc_ok);
Здравствуйте, StupidU, Вы писали:
SU>Спасибо Кодт
SU>Проблема решена! Как я не наступал на эти граблт раньше?
MFC-шный визард автоматически это делал. Поэтому и не наступал.
SU>ЗЫ А где мой аттач?
1) А ты его загрузил?
2) Тогда смотри коллекцию своих файлов (
www.rsdn.ru/Tools/Private/FileList.aspx)
3) скопируй оттуда ссылку (например,
www.rsdn.ru/File/4783/catsmiley.gif — это мой кот в ориджине) и вставь в сообщение.