Иконки
Скажите, как добавить в программу иконку? Я хочу, чтобы на форме (вверху-слева) показывалась одна иконка (маленькая), а у самого файла другая (большая). Когда-то я делал это добавлением формы, которая нигде и никогда не появлялась, но наверняка должен быть вариант по-лучше.
У главной формы, ну которая запускается первой есть свойство Icon, присвой этому свойству Иконку которая должна отображаться и компиль прогу.:rolleyes:
Если бы всё было так просто :) Просто эта же иконка отображается в верхнем левом углу (не помню как правильно это называется :) Короче, там, где название). Но подвож в том, что большая иконка 48х48 там сжимается и искажается до неузнаваемости, потому там стоит иконка 16х16. Но вот ставить эту же иконку в качестве иконки к исполняемому файлу не хочу тоже из-за некрасивости. Теперь, надеюсь, понятно вопрос изложил?
не думаю, что это вообще возможно, покрайней мере на бейсике.
----------------------------------
UPD: Эврика! :)
Сделал всё как описано выше, только вместо ресурсов использовал невидимый Image :)
впринципе так можно. я думал ты про стандартные способы спрашивал. и всё-таки загружаться из файла ресурсов - это геморно. я бы не стал
Если нет стандартных, надо искать нестандартные :) Всё равно спасибо за попытку помочь
Хоть мой совет и выглядит как бред пьяного ёжика, :) но всё-таки может тебе создать окно самому. По этой части есть много примеров. Я вот выложил тебе номер журнала о VB, как знать может пригодиться.
Идея интересная, но нах такой геморр в обычном выключателе? :) Я просто писал прогу которая выключает комп по таймеру, и иконки - всего лишь блажь :) Но всё равно спасибо :)
Действительно :) бред пъяного ёжика:)
Значит так:
Берем какую-то красивую иконку 16х16, ставим ее на форму и называем Imege1. Потом, в событие загрузки ставим:
Form1.Icon = Image1.Picture
Компилим.
Запускаем редактор ресурсов и заменяем иконку программы на любую иконку из файла.
А зачем менять то иконку? Та что стоит у формы изначально, уже стоит как иконка к файлу, а в процессе загрузки подменяется на то, что из Image'а :)
Тогда обьясни, зачем какая-то форма-призрак, и чем тебе не догодила функция LoadResPicture. Но если чем-то не догодила - таскай иконки в папке и загружай нужную иконку в нужный момент.
И ли я чето не понял?
[QUOTE=Валериус]То есть остаётся только лишняя форма? А с файлом ресурсов (*.RES) ничего нельзя придумать? Типа так, чтоб стандартно у главной формы была большая иконка и она же отображалась у файла, но при загрузке эта иконка менялась на ту, что в ресурсах?
----------------------------------
UPD: Эврика! :)
Сделал всё как описано выше, только вместо ресурсов использовал невидимый Image :)[/QUOTE]
Я просто заменил форму-фантом на Image-фантом :) И в Form_Load такая строка:
Код:
frmMain.Icon = imgIcon.Picture
Ты писал то же самое, по сути, но я не допёр зачем в ресурсах EXE-шника рыться?
Ты писал то же самое, по сути, но я не допёр зачем в ресурсах EXE-шника рыться?[/QUOTE]
За дубликат извените... на улице жарко...
Да с ресурсами я конечно загнал... но я всегда так делаю когда надо поставить иконку файла 24бит (ну всмысле с затенением и прозрачностью), а ты чето говорил про 48 и большые размеры, так вот я и не подумал :)
Просто для меня 48х48 - большая иконка, а 16х16 - маленькая :)
А зачем так мучаться? Ведь битовый образ и у иконки (той что в заголовке), и у иконки в Image одинаковый. А как извесно Picture и Icon - ето адреса в оперативной памяти, и компьютеру фиолетово, меняеш ты иконку на форме или рисунок в битмапе.
Само собой, но что из этого следует?
Следует что тебе не нужна форма-призрак!
Я к этому выводу пришёл ~25 часов назад :)
Тогда какого ты задаеш вопрос на форуме если ты все снаешь!
Я никак не могу понять: что тебе нужно ?!
Так уже ничего не нужно епт! Было нужно когда спрашивал, но спросил и почти сразу допёр сам! Я понимаю, что на улице жарко, но не до такой же степени :)
Так ты так и сказал бы сразу, типа, ВСЕ, ТЕМА ЗАКРЫТА, СПАСИБО ЗА ВНИМАНИЕ!
ВотЪ :)
Подниму ка я ещё раз эту тему... В общем фокус с навидимым Image'ом прокатывает только если я запускаюсь из Басика. А откомпилированный файл не хочет менять иконку.
тогда таскай две иконки с собой в дериктории программы!! и вообще сейчас это не актуально какая иконка там стоит, главное чтоб красиво...
В том то и дело, что некрасиво :) Потому и спрашиваю :)
Тебе надо просто присвоить форме составную, "стандартную" виндоз-иконку, внутри которой содержатся 48х48, 32х32 и 16х16 картинки. Тогда форма автоматом на заголовке покажет маленькую - 16х16 иконку, а для файла - 32х32. Ну, или 48х48, от настроек винды зависит.
Nickon, где ж ты раньше был? :) Огромное спасибо! :)