|
Вопрос # 6 676/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Есть некоторый объект TBase, в котором описан тип Type TFigure = (Rect,Elipse,RoundRect);
published
property TypeFigure : TFigure read fTypeFigure write SetTypeFigure ;
Теперь я хочу прочитать это свойство и занести в ValueListEditor, это я делаю. Но мне нужно еще прочитать и значения типа TFigure и занести их в выпадающий список. Помогите как это сделать.
Приложение: Переключить в обычный режим- Type TFigure = (Rect,Elipse,RoundRect);
- published
- property TypeFigure : TFigure read fTypeFigure write SetTypeFigure ;
- ---------------------------------------------------------------------------------------------------------
-
- Procedure TfMain.WriteVLE(VLE : TValueListEditor; NumObjList : Integer);
- Var
- I,J,N,Z,M: Integer;
TypeData,D :
PTypeData;
List,L : PPropList;
Obj : TBase;
Key,Value : String;
Ti : PTypeInfo;
- Begin
Obj:=TBase(fEdit.List[NumObjList]);
TypeData :=
GetTypeData(Obj.ClassInfo);
N := TypeData.PropCount;
- If N < 0 then Exit;
- GetMem(List,SizeOf(PPropInfo)*N);
- try
- GetPropInfos(Obj.ClassInfo,List);
- For I:=0 to N-1 do
- Begin
-
-
- Key := List[i]^.Name;
- Case List[I].PropType^.Kind of
- tkInteger :
- Begin
- Value:= IntToStr(GetOrdProp(Obj,List[i]));
-
- VLE.InsertRow(Key,Value,True);
- End;
-
-
-
-
-
-
- tkEnumeration : Begin
- Value:= IntToStr(GetOrdProp(Obj,List[i]));
-
-
- VLE.ItemProps[VLE.RowCount-2].EditStyle:=esPickList;
-
-
-
- VLE.ItemProps[VLE.RowCount-2].PickList.Add('1');
- VLE.ItemProps[VLE.RowCount-2].PickList.Add('2');
-
- {
- Ti:=TypeInfo(TBrushStyle); //(TBrushStyle);
- D := GetTypeData(Ti);
- For j:=D.MinValue to D.MaxValue Do
- VLE.ItemProps[VLE.RowCount-2].PickList.Add(GetEnumName(Ti,j));
- }
- End;
- End; // Case
- End;//For
-
- finally
- FreeMem(List,SizeOf(PPropInfo)*N);
- end;
-
- End;
-
 |
Вопрос задал: RedDragon (статус: Посетитель)
Вопрос отправлен: 10 ноября 2017, 12:07
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|