|
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
|
|
Разработка визуальных компонентов - компонент потомок TGraphicControl12.11.2011, 16:07. Показов 8515. Ответов 34
Метки нет (Все метки)
Нужно разработать визуальный компонент потомок TGraphicControl, представляющий собой любую статическую картинку на форме.
Помогите пожалуйста найти хорошую книжку, самоучитель или готовый пример.
0
|
|
| 12.11.2011, 16:07 | |
|
Ответы с готовыми решениями:
34
Потомок TGraphicControl Дизайн визуальных компонентов Создание визуальных компонентов |
|
|
|
| 16.11.2011, 20:07 | |
|
как сделал? с ресурса считываешь картинку?
а то теперь и у меня проблема появилась. когда кидаю TMyGraphicControl на форму - все нормально. когда запускаю на выполнение - появляется исключение EResNotFound with message 'Resource BITMAP_0'. до этого проверял - такого вроде не было.
0
|
|
|
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
|
|
| 16.11.2011, 22:03 [ТС] | |
|
.dcr файл с картинкой сделал. назвал и файл и картинку как компонент.
0
|
|
|
|
|
| 17.11.2011, 07:25 | |
|
а считывал картинку таким образом?
LoadFromResourceName((int)HInstance, название_битмапа);
0
|
|
|
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
|
|
| 17.11.2011, 08:05 [ТС] | |
|
Нет, я такого даже не писал ни где.
0
|
|
|
|
|
| 17.11.2011, 08:12 | |
|
а как тогда картинку на форме отображаешь?
0
|
|
|
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
|
|
| 17.11.2011, 12:21 [ТС] | |
|
DCR это файл ресурсов для компонента, его нужно назвать так же как и класс, а в нём уже находится картинка с таким же названием. При создании компонента присоединяешь к нему этот файл и всё(у меня он автоматически был прописан, хотя и не создан).
Добавлено через 3 минуты Файл dcr можно создать так : Tools/Image Editor; File/New/Component Resource File. Внутри создаёшь картинку(Bitmap) 24х24.
0
|
|
|
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
|
|
| 17.11.2011, 12:25 [ТС] | |
|
Вот проверь.
0
|
|
|
|
||
| 17.11.2011, 12:27 | ||
|
но эта не картинка, а пиктограмма
![]() я про неё написал на 2-й странице этой темы
0
|
||
|
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
|
|
| 17.11.2011, 16:19 [ТС] | |
|
Ну дак у меня нарисована картинка
Добавлено через 1 минуту Здесь изображение не нужно Добавлено через 1 минуту А если хочешь изображение то просто создать свойство в классе компонента типа TImage.
0
|
|
|
|
|
| 17.11.2011, 16:22 | |
|
если бы посмотрели на мой компонент, то там уже это свойство есть.
0
|
|
|
|
|
| 17.11.2011, 21:26 | |
|
Провозившись с компонентом, решил залить свой вариант TMyGraphicControl для C++ Builder 6, представляющий собой статическую картинку на форме. При кидании компонента на форму появится картинка, которая уже вшита в компонент, но при этом есть возможность её поменять на свою через свойство Picture.
Компонент залил с целью, чтобы кто-то из заинтересовавшихся смог посмотреть и возможно исправить и выложить полностью рабочий вариант этого компонента и чтобы потом новички смогли создавать свои компоненты, используя его как пример. Последовательность шагов, необходимых для нормальной установки компонента: 1) Открыть MyComponents.bpk 2) Зайти в Tools->Environment Options->Library и добавить путь до папки, в которую был распакован архив. Этот шаг нужно выполнить в случае, когда архив распаковывается в папку, о которой не знает билдер. Если этот шаг пропустить, то может возникнуть такая ситуация, когда билдер будет требовать MyGraphicControl. 3) Если в билдере уже установлен компонент с названием класса TMyGraphicControl, то зайдите в Component->Install Packages и удалите Package (кнопка Remove), в котором находится этот компонент. 4) Нажать Project->Build All Projects 5) В окошке Package нажать Compile и затем Install. 6) Установка компонента закончена, перезапускаем билдер. В самом проекте на форму кидаем компонент TMyGraphicControl из вкладки Samples. На форме появится картинка. Пробуем запустить программу. Если во время запуска появится ошибка: "отсутствует файл TMyGraphicControl1.bpl", то идём в Project->Options->Packages и убираем галочку с "Build with runtime packages" либо в самом конце "поля с пакетами" стираем слово "TMyGraphicControl". Было очень хорошо, если б кто-нибудь рассказал, как избавиться от этой проблемы. Примечание: при динамическом создании экземпляров TMyGraphicControl, картинка не будет автоматом появляться, тут придется уже загружать свою картинку, используя Picture->LoadFromFile. Потравив много времени, тестируя разными способами компонент, я понял, что не возможно автоматом при динамическом создании экземпляра TMyGraphicControl отобразить картинку на форме в случае, когда проект скомпилирован с выключенной галочкой "build with runtime packages", и сама программа размещена на компьютере, на котором не установлен билдер. Вшитая картинка прописана в .rc-файле
0
|
|
|
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
|
|||||||||||||||||
| 17.11.2011, 22:38 | |||||||||||||||||
|
Добавлено через 22 минуты
Если оставлять процедуру PictureChanged, то желательно использовать его с bool AutoSize. И объявление
1
|
|||||||||||||||||
|
|
||||||||||||||
| 18.11.2011, 20:02 | ||||||||||||||
|
DefineTrueFalse Спасибо за замечания, особенно за
Добавил ещё AutoSize.
![]()
Проблемы и решения, которые у меня возникли при разработке компонента: 1) Ситуация: удалил bpl-файл компоненты. При следующем запуске Билдер спросил: "Не найден bpl файл. Попробовать загрузить его при следующем запуске?", и вы ответили: "Нет". После этого Билдер перестал загружать Package с компонентом при создании нового приложения (т.е. компонент перестал быть отображаться на палитре компонентов). Решение: Закройте все открытые проекты в Билдере. Щелкните на Compononet->Install Packages. Должно появится окно с названием "Project options for Default.exe". Активируйте Package. Click Ok. Затем, не закрывая билдер, создайте новое приложение (File->New->Application). Закройте билдер и снова запустите. Вуаля, компонент на месте. 2) Регистрирую компонент так, чтобы он появлялся, например, на вкладке "MyControls", а он все равно находится на другой вкладке:
0
|
||||||||||||||
|
|
|
| 18.11.2011, 20:13 | |
|
DefineTrueFalse Случаем, не возникало у Вас такое исключение?.
Оно возникает, когда в параметрах запуска компоненты (Run->Parameters) указываю в Host Application путь до bcb.exe. И когда пытаюсь отладить компоненту, при запуске оно вылазит.
0
|
|
|
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
|
|
| 18.11.2011, 22:37 | |
|
Не думаю, что стоит использовать билдер, как хост приложение. Тогда уже создайте программу с использованием большинства функций компонента и указывайте его. А так хз что может с памятью происходить.
0
|
|
| 18.11.2011, 22:37 | |
|
Помогаю со студенческими работами здесь
35
Анимация визуальных компонентов Траблы с размещением визуальных компонентов Создание собственных визуальных компонентов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|