Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2015, 04:39   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Самописный компонент. Аналог.

Ребят, решил попробовать написать свой компонент, дабы научится, говорю сразу, изи методы не нужны, подскажите с чего начать и нужно ли знать openGL?

Хочу написать аналог TlistBox
1) с чего начать (new->unit?)
2) как прорисовать основу и прочее
3) как добивать методы типа add, delete?
(Однонаправленные списки?)
4) как сделать так, чтобы это все потом установилась, имело свою красивую, нарисованн мной иконку на форме и свою категорию в палитре компонентов.

Спасибо.
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 30.11.2015, 09:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
с чего начать
С книги Тексейры и Пачеко. Там описано как компоненты создавать.
Цитата:
нужно ли знать openGL?
Чтоб создать компонент? - Нет. Чтоб сделать красивый компонент? - Да. Хотя, тоже нет.

Кстати. Ремарка: Для создания нового компонента его совсем не обязательно делать отдельно. Можно забабахать компонент прямо в проекте, переопределив его
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

			{ TListBox }

      TListBox=class(StdCtrls.TListBox)
        public procedure Sho(s:string);
			end;

			{ TForm1 }

      TForm1 = class(TForm)
						Button1: TButton;
						ListBox1: TListBox;
						procedure Button1Click(Sender: TObject);
      procedure FormCreate(Sender: TObject);
      private
            { private declarations }
      public
            { public declarations }
      end;

var
      Form1: TForm1;

implementation

{$R *.lfm}

{ TListBox }

procedure TListBox.Sho(s: string);
begin
   Items.Append(s);
   ShowMessage('Я твой слуга. Я твой работник');
end;

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Sho('Привет. Я первая строка в твоем новом компоненте');
end;

end.
Увидел?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2015, 12:13   #3
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

От себя еще порекомендую книгу Фаронова "Искусство создания компонентов Delphi".
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 30.11.2015, 13:18   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

2 самых правильных вещи для создания компонентов:
а) наличие головного мозга и рук, растущих из плеч;
б) исходники компонентов, которые уже кто-то написал до тебя;
ц) метчасть - обязательно.

И начинать надо с чего-то простого, чего не надо будет ставить в поллитру компонентов.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Самописный движок - проблема shenovi Помощь студентам 0 13.03.2015 13:03
Есть ли компонент - аналог listbox позволяющий листать, отображать, работать с 150 тыс. строк? Suny-o Компоненты Delphi 24 15.12.2012 11:32
Компонент-аналог TWebBrowser kettanaito Компоненты Delphi 9 09.11.2011 23:44
Самописный движок блога systemiv PHP 6 14.06.2011 14:25
Нужен компонент, аналог TChart Мрак Мультимедиа в Delphi 0 19.12.2010 18:51