Страница: 1 |
дело в том что я сейчас пишу программу База данных - отдел кадров БДОК (Database a staff department), и входе написания возникла проблема, дело в том что эту программу я делаю как реферат на экзамен, и поэтому стараюсь напичкать её всякими эффектами - для зрелищьности (ну что б проверяющие ахнули :)). Так вот: использую в качестве кнопок объекты image, ну мышка проходит над поверхностью - картинка меняется (иконка). Всё вроде хорошо, всё красиво и работает, но вдру я подумал: при каждой смене иконки прогграмма запрашивает иконку по адресу который я указал, но ведь у пользователя наверняка нет такой директори и прграмма выдаст ошибку "мол не могу найти", так вот, вопрос:1. КАК МНЕ ЗАПИХНУТЬ КОЛЛЕКЦИЮ ИКОНОК В ФАЙЛ .DLL КАК ЭТО ЗДЕЛАНО В WINDOWS, КОГДА ХОЧЕШЬ СМЕНИТЬ ЗНАЧЁК ЯРЛЫКА ИЛИ ФАЙЛА ОН ПРЕДЛАГАЕТ ПО УМОЛЧАНИЮ НЕБОЛЬШОЙ НАБОР ИКОНОК ИЗ ФАЙЛА PIFMGR.DLL
Испльзовать DLL необязательно. Путь к картинкам нужно указывать через app.path\имя папки с картинками (при этом ебстественно папка с картинками должна лежать в той же директории где и программа). А можно все твои картинки запихать в саму программу, для этого на каждую кнопку необходимо по три image, которые лежат друг на друге. Например сверху лежит image3(картинку в нее засовывать ненадо) и ты пишешь в событие image3_MouseMove: image3=image1 в событие Form_MouseMove: image3=image2 (а в image1 и image2 картинки) и все. По поводу App.Path - это из области "садись, пять!" (В смысле - все правильно, конечно). А вообще стыдно "пытаться напичкать программу спецэффектами" и при этом не знать, что такое абсолютные пути. Но тем не менее. Буду последователен. Если интересно как запихнуть иконки в DLL (тоже ничего себе способ, если не хочешь основную директорию захламлять графикой; тем более, иконок-то наверняка много), то вот он: 1.Создаете DLL-проект. 2.В модуле класса прописываете такую функцию: Public Function PastePicture (ByVal PictureIndex As Integer) as IPictureDisp 'Здесь суть такая: If PictureIndex = 1 then Set PastePicture = Form1.Images(0).Picture ElseIf ... end if End Function Form1 - форма, созданная внутри DLL-проекта. Для хранения картинок можно использовать динамический массив элементов (как в примере) или, допустим, ImageList из CommonControls (тоже ничего себе способ). Само собой как обращаться с DLL вы знаете. [Set Picture1.Picture = MyDll.PastePicture(3)] Страница: 1 |
Вопрос: Помогите! Срочно!
Добавлено: 17.01.03 14:05
Автор вопроса: Фолко | Web-сайт:
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Artificial Intelligence
ICQ: 275368971
Вопросов: 8
Ответов: 131
Профиль | | #1
Добавлено: 17.01.03 14:47
Номер ответа: 2
Автор ответа:
Воронков Василий
Вопросов: 1
Ответов: 90
Профиль | | #2
Добавлено: 17.01.03 15:27