|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 17, 2004 04:59:46 · Поправил: q_q __Ranger Спасибо за тестирование. если в твоём коде убрать стиль DS_SETFONT, то всё работает Я указал этот стиль по аналогии с авторским кодом, хотя, на мой взгляд он не уместен. У меня работает не зависимо от его присутствия или отсутствия. По идее DS_SETFONT - это стиль диалогового окна и при создании static-окна вида должна игнорировать его. jekyll мой пример работает даже на неадекватных виндах Я могу только посочувствовать владельцем неадекватных ОС, ибо на танцах с бубном не специализируюсь. cresta несмотря на то, что хэндл вернулся) - пишет "Указанный тип ресурса в файле образа отсутствует" ... Почему ошибки - не знаю Imho глупо анализировать lasterror если необходимость такого анализа не оговорена в документации. CreateWindowEx и SendMessage + STM_SETICON к таковым не относятся. натыкал в коде PrintError ... foo.asm, 62 ... foo.asm, 68 У меня нет измененного тобой исходного текста, поэтому ссылки на конкретные строки неуместны. На invoke ShowWindow,eax,SW_SHOW ...пишет Будь точнее. В моем коде нет такой строки. Если, ты имеешь в виду invoke SendMessage, eax, STM_SETICON, icon, 0, то я прокомментировал это выше (про lasterror). В пределах foo.exe - работает, в другой программе - нет. Программа секретная? |
|
|
Дата: Июл 17, 2004 05:29:26 · Поправил: jekyll q_q Я могу только посочувствовать владельцем неадекватных ОС, ибо на танцах с бубном не специализируюсь. Я тоже. Странно другое, как написал __Ranger если убрать DS_SETFONT, то все работает. У трех людей с этим стилем иконок нет, у тебя есть. Это наводит только на одну мысль - ты заколдовываешь свои программы. cresta В пределах foo.exe - работает, в другой программе - нет. Со всеми вышеуказанными флагами,стилями и пр. Кидай кусок кода. |
|
|
Дата: Июл 17, 2004 06:14:25 jekyll ты заколдовываешь свои программы Это возможно. ;-) Бывает так, звонит человек, говорит, что у него что-то не получается, прихожу, прошу показать что и как делает, и все получается с первого раза. Кидай кусок кода. Это обращение к автору? |
|
|
Дата: Июл 17, 2004 06:29:24 q_q Это обращение к автору? Да. Исправляюсь. |
|
|
Дата: Июл 17, 2004 08:11:25 q_q Я лишь привел абзац из описания статика в MSDN. Я не спорю, а лишь подкинул информацию к размышлению. У меня foo ничего не рисует(xp pro sp1, твой код я не правил). |
|
|
Дата: Июл 17, 2004 08:30:01 · Поправил: q_q 2 Toxic, __Ranger & jekyll Кажется нашел. /* WinUser.h */ ... #define DS_SETFONT 0x40L /* User specified font for Dlg controls */ ... #if(WINVER >= 0x0501) #define SS_REALSIZECONTROL 0x00000040L #endif /* WINVER >= 0x0501 */ ...Еще раз проверил под xp'шко - иконок нет, получается дома, я проверял код без DS_SETFONT'а. Согласно документации при использовании стиля SS_ICON размеры окна можно не указывать, если добавить стиль SS_REALSIZECONTROL, который, судя по документации влияет только на масштабирование изображения, подгоняя его под размеры static-окна, то размеры необходимо указать, ибо в этом случае окно создается строго по размерам заданным в CreateWindiwEx. Попробовал поставить размеры 10x10 - в w2ksp4 и w98se иконки остались 32x32, а в xp'шке появились маленькие. Итого: ваши винды адекватны документации, которую надо читать, чтобы попытаться объяснить необычное поведение программы, и лучше указывать размеры окна, как советует jekyll. |
|
|
Дата: Июл 17, 2004 09:54:08 q_q Imho глупо анализировать lasterror Imho глупо не анализировать, тем более в случае, когда в документации описано, что элемент статик может вести себя неадекватно, если родительское окно - не диалог. Программа секретная? Нет, смотри аттач к теме про OpenFileDialog |
|
|
Дата: Июл 17, 2004 10:17:21 · Поправил: q_q cresta хэндл вернулся... Imho глупо не анализировать Что-то я не вижу, где написано, что CreateWindowEx и SendMessage + STM_SETICON и большинство других функций обязаны устанавливать lasterror в состояние ERROR_SUCCESS? Объяснись. смотри аттач к теме про OpenFileDialog В той ветке по состоянию на Июл 17, 2004 10:16:00 GMT+3 нет ни одного аттача, который бы я не прокомментировал, а в имеющихся нет упоминания о static'ах и значках. Объяснись. |
|
|
Дата: Июл 17, 2004 11:44:53 q_q Объяснись. Объясняюсь: есть цитата из MSDN (от Toxic). Поэтому заглядываю в lasterror, чтобы иметь хоть какую доп. информацию по процессу, происходящему при вызове функций. Согласен, что неполную, но тем не менее, может что и будет полезное. CreateWindowEx устанавливает lasterror. |
|
|
Дата: Июл 17, 2004 12:02:42 · Поправил: q_q cresta До сих пор, msdn советовал анализировать значение lasterror, только в том случае, если функция завершила свою работу неудачно. Возможно, есть функции, результат работы которых определяют по GetLastError, CreateWindowEx к ним не относится. |
|
|
Дата: Июл 18, 2004 01:20:48 cresta заглядываю в lasterror, чтобы иметь хоть какую доп. информацию по процессу, происходящему при вызове функций А какой смысл туда смотреть, если CreateWindowEx успешно создала окно(не важно, соответствует ли оно желаемому или нет)? If the function fails, the return value is NULL. To get extended error information, call GetLastError То есть, если вернула ноль - смотри код ошибки, если не-ноль - сидим тихо... |
|
|
Дата: Июл 18, 2004 01:32:09 q_q Кажется нашел. ... Спасибо, буду знать. Но мне оно не нужно(по крайней мере на данный момент). Я лишь выступил в роли тестера, не вдаваясь в анализ(код не смотрел и не правил) - просто для статистики работоспособности кода на разных платформах. Поэтому ваши винды адекватны документации, которую надо читать ко мне не относится. :) |
|
|
Дата: Июл 18, 2004 02:03:44 Toxic То есть, если вернула ноль - смотри код ошибки, если не-ноль - сидим тихо... Ну что делать, если я такой любопытный и мне хочется заглянуть в lasterror :))) |
|
|
Дата: Июл 18, 2004 02:37:40 cresta Нет, смотри аттач к теме про OpenFileDialog А в каком месте? Сделал поиск STM_SETICON и STM_SETIMAGE и не нашел ни одного вхождения =( |
|
|
Дата: Июл 18, 2004 03:15:52 Извиняюсь, я удалил из кода SendMessage hWnd,STM_SETICON,0,0 и забыл, что его там нет :( |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.043 |