Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];
ВнизНарод, как создать перечесляемый тип, для своего компанента? Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c