8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
1

Разработка визуальных компонентов - компонент потомок TGraphicControl

12.11.2011, 16:07. Показов 7779. Ответов 34
Метки нет (Все метки)

Нужно разработать визуальный компонент потомок TGraphicControl, представляющий собой любую статическую картинку на форме.
Помогите пожалуйста найти хорошую книжку, самоучитель или готовый пример.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2011, 16:07
Ответы с готовыми решениями:

Потомок TGraphicControl
Требуется сделать потомок TGraphicControl который представляет собой меняющуюся по времени картинку...

Дизайн визуальных компонентов
Возможно ли изменить внешний вид визуальных компонентов, сохранив их прежнюю функциональность, не...

Создание визуальных компонентов
Всем здравствуйте. Подскажите где можно почитать о создании своих визуальных компонентов....

Анимация визуальных компонентов
Добрый день. Хочется увидеть кнопку с необычной анимацией Active/Hot в delphi. Например, как у гугл...

34
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
12.11.2011, 22:06 2
Собственно в сети много информации по созданию компонентов, тут я думаю не трудно материал найти, нужно будет создать потомка TImage, а что касается конкретной "фишки", то в чем-то наподобии Repaint прописать поиск класса TImage среди компоненнтов внутри родителя. В случае успеха рандомно выбрать из списка. Ну это если я правильно понял задачу.
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
12.11.2011, 22:19  [ТС] 3
Примерно я понял как это сделать, но где узнать про все свойства класса TGraphicControl ??

Добавлено через 2 минуты
А вот материала в интернете не нашол на эту тему, только на одном сайте похожий пример и всё
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
12.11.2011, 22:22 4
Даже не знаю, как и ответить При указании родителя, все необходимые свойства передаются. А тех что нет, нужно написать вручную соответственно.

C++
1
2
3
4
class Потомок: public Родитель
{
//...
};
Возможно вас это интересует.
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
12.11.2011, 22:42  [ТС] 5
Нет. Меня интересует из чего состоит класс TGrapgicControl, что он из себя представляет.
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
12.11.2011, 22:52 6
А... вот оно как... Canvas он в себе хранит и пару функций прорисовки. Но это можно узнать как минуимум 2 путями через зажатую клавишу CTRL и клик мыши в компиляторе или прогуглив данный класс.
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
12.11.2011, 22:53  [ТС] 7
По нажатию CTRL я знаю что можно поглядеть, но хотелось бы описание кода
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
12.11.2011, 23:05 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class DELPHICLASS TGraphicControl;
class PASCALIMPLEMENTATION TGraphicControl : public TControl 
{
    typedef TControl inherited;
    
private:
    Graphics::TCanvas* FCanvas;
    MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
    
protected:
    virtual void __fastcall Paint(void);
    __property Graphics::TCanvas* Canvas = {read=FCanvas};
    
public:
    __fastcall virtual TGraphicControl(Classes::TComponent* AOwner);
    __fastcall virtual ~TGraphicControl(void);
};
Что тут описывать то? Тебе нужен канваз и своя процедура иницилизации или прорисовки для твоей задачи, дальше можно только решение написать.
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
13.11.2011, 18:47  [ТС] 9
Так и не разобрался Мне бы книжку какую нибудь.
0
1121 / 792 / 100
Регистрация: 01.02.2011
Сообщений: 1,865
Записей в блоге: 1
13.11.2011, 19:06 10
Надеюсь не противоречит правилам эта ссылка: Использование и создание визуальных компонентов
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
13.11.2011, 19:53  [ТС] 11
Это читал.
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
15.11.2011, 20:11  [ТС] 12
Так и не пойму как это сделать. Попробовал создать элемент TImage *Image, чтобы разместить картинку, но он не отображается
0
LK
Заблокирован
15.11.2011, 20:31 13
Цитата Сообщение от dryn-da Посмотреть сообщение
Нет. Меня интересует из чего состоит класс TGrapgicControl, что он из себя представляет.
В IDE Borland C++ Builder класс TGraphicControl является базовым классом для всех "легковесных" (lightweight) элементов управления, которые не принимают ввод от клавиатуры (keyboard input) и не содержат внутри себя (не являются контейнерами) для других элементов управления.
не пойму, из-за чего такая возня
0
1121 / 792 / 100
Регистрация: 01.02.2011
Сообщений: 1,865
Записей в блоге: 1
16.11.2011, 07:10 14
Задача то простая, надо просто знать что и куда вписывать.
Но раз все молчат, значит, с компонентами не работали, признаюсь, я тоже.

Заинтересовала разработка компонента, но уже с самого начало создания компонента возникли проблемы:
1. Как установить свою пиктограмму компоненту (везде по-разному пишут, все написанное перепробовал, но не меняется иконка)
2. Как использовать сам C++ Builder в качестве хост-процесса во время отладки компонента? У меня при запуске вываливается исключение (см. вложение).

Надеюсь, что хоть кто-то да создавал компоненты.
Миниатюры
Разработка визуальных компонентов - компонент потомок TGraphicControl  
0
1121 / 792 / 100
Регистрация: 01.02.2011
Сообщений: 1,865
Записей в блоге: 1
16.11.2011, 08:13 15
С пиктограммой разобрался. Оказывается файл ресурсов (с пиктограммой) с не тем названием сохранял. Практически везде пишут, что нужно сохранять ресурсный с тем же названием, что и сам .cpp-файл компоненты, а нужно было сохранять с тем же названием, какое имеет сам класс новой компоненты.
Миниатюры
Разработка визуальных компонентов - компонент потомок TGraphicControl  
0
1121 / 792 / 100
Регистрация: 01.02.2011
Сообщений: 1,865
Записей в блоге: 1
16.11.2011, 17:26 16
Вообщем, получилось. Изначально у компоненты своя картинка, но её можно изменить через свойство Picture (как в TImage). Прозрачность не делал.
Вложения
Тип файла: rar TMyGraphicControl.rar (144.8 Кб, 101 просмотров)
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
16.11.2011, 18:31  [ТС] 17
Так и не пойму как картинку приделать
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
16.11.2011, 18:32  [ТС] 18
Вот что у меня получилось:
Вложения
Тип файла: zip Компонент.zip (548.9 Кб, 96 просмотров)
0
1121 / 792 / 100
Регистрация: 01.02.2011
Сообщений: 1,865
Записей в блоге: 1
16.11.2011, 18:42 19
ложишь .bmp файл со всем файлами, меняешь в .rc-файле название bmp и компилишь.
устанавливал компоненты из моего архива?
0
8 / 8 / 0
Регистрация: 19.04.2011
Сообщений: 102
16.11.2011, 19:31  [ТС] 20
нет я свой сделал, твой ещё не глядел.

Добавлено через 10 минут
А твой компонент я не знаю как установить

Добавлено через 22 минуты
Всё разобрался!! Всем спасибо!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2011, 19:31
Помогаю со студенческими работами здесь

Траблы с размещением визуальных компонентов
Прошу сильно не бить. В Visual Studio новичок, только что перешел из Delphi. Кидаю на форму...

Создание собственных визуальных компонентов
Добрый день! Мне необходимо создать свои собственные компоненты для отображения информации...

Подключение визуальных компонентов к проекту
Здравствуйте, уважаемые форумчане.Подскажите пожадуйство в одном очень простом вопросе, но который...

Удаление визуальных компонентов Runtime
Доброе время суток всем!:) Задачка нехитрая: нужно чтобы Панели с двумя SynEdit Появлялись на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru