Вниз
Скачать: CL | DM;

Народ, как создать перечесляемый тип, для своего компанента?   Найти похожие ветки 

← →
dimonf ©   (2003-04-14 16:39) [0]

Пока только доперло, как сделать перечесляемый тип только по умолчанию:
type
TDrive = (frAA, frBB);

TdvDriveComboBox = class(TCustomComboBox)
private
FDrive: TDrive;
procedure SetDrive(const Value: TDrive);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Drive: TDrive read FDrive write SetDrive;
end;
А как сделать, то же самое но только в run time, например при создании компанента определить список доступных на данной машине дисков и отобразить все этов инспекторе объектов???


← →
Skier ©   (2003-04-14 16:44) [1]

1) Наверное всё-таки нужен не перечислимый тип, а множество
type
TDrive = (frAA, frBB);
TDrives = set of TDrive
2)

> например при создании компанента определить список доступных
> на данной машине дисков и отобразить все этов инспекторе
> объектов???

В конструкторе...




← →
malkolinge ©   (2003-04-14 16:55) [2]

Ж) Не катит...Сколько дисков теоретически заранее не известно, поэтому надо обычный список TstringList(?) И к нему изобрести толковый редактор свойств


← →
dimonf ©   (2003-04-14 17:07) [3]

Народ, как это сделать??? Может намекнете хотябы, в какую сторону копать...


← →
dimonf ©   (2003-04-14 17:09) [4]

Мне надо сделать типа как в TTable.TableName - выподающий список таблиц. Тоже самое. Пытаюсь вьехать, но там слишком круто наворочено, может кто намекнет как сделать попроще!


← →
malkolinge ©   (2003-04-14 17:17) [5]


> Мне надо сделать типа как в TTable.TableName

Редактор свойств. Обычный редактор свойств. Все что я сказал раньше, плюс посмотри как это в самом Тейбле сделано:

TTableNameProperty = class(TDBStringProperty)
public
function AutoFill: Boolean; override;
procedure GetValueList(AList: TStrings); override;
end;

procedure TTableNameProperty.GetValueList(AList: TStrings);
const
Masks: array[TTableType] of string[5] = ("", "*.DB", "*.DBF", "*.DBF", "*.TXT"); { Do not localize }
begin
with GetComponent(0) as TTable do
DBSession.GetTableNames(DatabaseName, Masks[TableType],
TableType = ttDefault, False, AList);
//в твоем случае на єтом месте надо вставить свой код для получения списка дисков
end;






Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-77088
hatchy
2003-04-07 06:17
2003.04.24
АВОЗАГРУЗКА


14-77144
_MAD_
2003-04-07 21:20
2003.04.24
перехват сообщения об ошибке


1-76910
corte ™
2003-04-15 07:48
2003.04.24
как выделить другим цветов одно слово в гриде среди других


1-76992
Jedi
2003-04-14 00:28
2003.04.24
Атрибуты текста в RichEdit


14-77130
apple1
2003-04-08 14:23
2003.04.24
На чем лучше HELP писать и где можно почитать об этом?




   Наверх