|
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
|
|
Разработка визуальных компонентов - компонент потомок TGraphicControl12.11.2011, 16:07. Показов 8750. Ответов 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 | |
|
Анимация визуальных компонентов Траблы с размещением визуальных компонентов Создание собственных визуальных компонентов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|