![]() |
|
![]() ![]() ![]() |
|
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 2 Всего: 47 |
Ничего не нужно объединять. Каждая функция должна выполнять минимум. И оператор if...else... еще никто не не отменял |
|||
|
||||
maq |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
bel_nikita,
нужна ОДНА-ЕДИНСТВЕННАЯ функция. Создать функции HBITMAP LloadBitmapFromExtRes HICON LoadIconFromExtRes - нет проблем! Мне же нужна одна функция LoadFromExtRes, которая бы возвращала либо HBITMAP, либо HICON (в зависимости от
|
|||
|
||||
maq |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
Почему? |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Почему? Но если действительно нужна именно функция, и именно одна - тогда возвращай HANDLE и используй преобразование типа при использовании. Другого выхода нет. Если ничего не перепутаешь (т.е. не попытаешься использовать HICON вместо HBITMAP), все должно работать. -------------------- ... |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 165 |
ИМХО, стоит сделать оболочку ImageProcessor с виртуальной функцией ProcessImage и в LoadBitmapFromExt присваивать классу в ран-тайме либо обьект HIconImageProcessor либо HBitmapImageProcessor. Другого красивого метода я не вижу.
--------------------
|
|||
|
||||
maq |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
Earnest, ты это имеешь ввиду - заменить
на
Я правильно понял? P.S.
Просто для интереса - а почему "не очень хорошо"? |
||||||||
|
|||||||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Да, ты понял правильно. Только не худо бы проверить, что возвращенный хандл != 0.
Нехорошо, потому что небезопасно: после выхода из LoadFromExtRes, по хандлу уже никак нельзя установить, что это - иконка или битмап. Т.е. от того, с какой константой вызвали LoadFrom... зависит, что будет делаться дальше. Лучше бы такие действия объединить намертво... Не могу понять, чем тебе так мила единая функция? -------------------- ... |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Долго наблюдал.
![]() Снимаю рубаху, кидаюсь в рукопашную ![]() Сильно заООПепил ![]() На самом деле-решений-множество ![]() Вот у меня вопрос к автору-толкнуть все в одну функцию-это чисто из любопытства или жизненое кредо? ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
maq |
|
||||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
Все отлично работает.
Предусмотрено уже (например):
Люблю простоту написания кода. А всю рутинную работу бросить в отдельную функцию. (наверное привычка от VB) ![]() Спасибо за помощь! |
||||||||||
|
|||||||||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |