Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Свой объект наследник TControl, Как создать отрисовывающийся объект? 
V
    Опции темы
Aehn
Дата 10.9.2008, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 24.4.2008

Репутация: нет
Всего: нет



Создаю разные динамические объекты в памяти типа TImage, TFrame , но они не удовлетворяют меня по некоторым причинам.
Может кто-нибудь дать небольшой пример объекта типа TControl, который отрисовывал бы себя на форме/панели/ неважно чем?
PM MAIL   Вверх
Poseidon
Дата 10.9.2008, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Если не удавлетворяет только по некоторым причинам, то создавай потомка на базе того же TImage и переделывай/добавляй то, чем не удавлетворяет родитель.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Frees
Дата 10.9.2008, 09:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



вот простой пример, правда наследуемся от TGraphicControl который потомок TControl так проще рисовать
Код

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TmyControl = class(TGraphicControl)
      procedure Paint;Override;
  end;

  TForm2 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    myControl: TmyControl;
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

uses Types;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
  myControl := TmyControl.Create(Self);
  with myControl do begin
    Parent := Self;
    top := 10;
    left := 10;
    height := 250;
    Width := 200;
  end;
end;

{ TmyControl }


{ TmyControl }

procedure TmyControl.Paint;
begin
  inherited;
  Canvas.TextOut(0, 0, 'Рисуем контрол сами');
end;

end.



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Aehn
Дата 10.9.2008, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 24.4.2008

Репутация: нет
Всего: нет



Это то, что мне нужно!

PM MAIL   Вверх
Frees
Дата 10.9.2008, 10:45 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



Цитата(Aehn @  10.9.2008,  10:30 Найти цитируемый пост)
Это то, что мне нужно!

с тя +1


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Poseidon
Дата 11.9.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Я вот только не пойму, чем код Freesа принципиально отличается от 
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Canvas.TextOut(0,0, 'Рисуем на контроле');
end;
 зачем велосипед изобрели?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Frees
Дата 11.9.2008, 10:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



Poseidon, ты прав конечно, но это же просто пример, кто знает какой логики в такого потомака накидает автор,
а отдельный класс наверно нужен что бы несколько таких контролов можно было создать, 



Это сообщение отредактировал(а) Frees - 11.9.2008, 10:56


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0844 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.