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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2018, 10:19   #1
Chick_chirick
 
Регистрация: 11.04.2018
Сообщений: 3
По умолчанию Создание компонента combofont

Необходимо создать свой компонент на основе combobox , который при добавлении на форму, будет показывать установленные шрифты, именно свой компонент. Что нужно для этого?

unit TComboBox1;

interface

uses
SysUtils, Classes, QControls, QStdCtrls;

type
TcomboBox1 = class(TComboBox)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
constructor Create(aowner:Tcomponent); override;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('MyCompt', [TcomboBox1]);
end;

constructor TComboBox1.Create(aowner:Tcomponent );
begin
inherited create(Aowner);
end;
end.
Chick_chirick вне форума Ответить с цитированием
Старый 11.04.2018, 10:52   #2
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Нужно использовать обработчик.
Код:
ComboBox1.Items.Assign(Screen.Fonts);
kropotkina-alice вне форума Ответить с цитированием
Старый 11.04.2018, 11:03   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Или EnumFontFamiliesEx
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 11.04.2018 в 11:18.
Аватар вне форума Ответить с цитированием
Старый 11.04.2018, 11:49   #4
Chick_chirick
 
Регистрация: 11.04.2018
Сообщений: 3
По умолчанию

Цитата:
Сообщение от kropotkina-alice Посмотреть сообщение
Нужно использовать обработчик.
Код:
ComboBox1.Items.Assign(Screen.Fonts);
Получается просто добавить
constructor TComboBox1.Create(aowner:Tcomponent );
begin
inherited create(Aowner);
ComboBox1.Items.Assign(Screen.Fonts );
end;
end.

и всё?
Chick_chirick вне форума Ответить с цитированием
Старый 11.04.2018, 11:59   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А попробовать сначала?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.04.2018, 12:30   #6
Chick_chirick
 
Регистрация: 11.04.2018
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А попробовать сначала?
Я попробовал
unit QCmbBx1;

interface

uses
SysUtils, Classes, QControls, QStdCtrls;

type
TComboBox1 = class(TComboBox)
private
{ Private declarations }
FComboBox1: TComboBox1 ;
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TComboBox1]);
end;

constructor TComboBox1.Create(Aowner:Tcomponent );
begin
inherited create(Aowner);
FComboBox1.Items.Assign(Screen.Font s);
end;
end.
вот ошибка [Error] QCmbBx1.pas(32): Undeclared identifier: 'Screen'
возможно я модуль в uses какой-то не подключил
Chick_chirick вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание компонента на С# KM_ZeD Помощь студентам 0 27.11.2010 10:11
Создание компонента sashchernun Компоненты Delphi 2 01.03.2010 00:10
Динамическое создание компонента из компонента)) Impuls1989 Компоненты Delphi 8 22.10.2009 00:08
создание компонента Bayazet Общие вопросы Delphi 4 17.12.2008 16:48
Создание компонента. Черничный Компоненты Delphi 2 01.06.2008 23:28