tcollection propertyeditor مع أعمدة قابلة للتحرير
-
21-09-2019 - |
سؤال
من أجل سليل tcollection الخاص بي ، أريد تمديد محرر ملكية المجموعة. أريد أن أرى المزيد من الأعمدة لخصائص أخرى من tcollectionItem. وأنا محظوظ لأنه من السهل جدًا. الشيء الوحيد الذي أريد فعله هو تجاوز هذه الطرق الثلاث
TAttributeList = class(TOwnedCollection)
private
...
protected
function GetAttrCount: Integer; override;
function GetAttr(Index: Integer): string; override;
function GetItemAttr(Index, ItemIndex: Integer): string; override;
public
...
end;
لاسترداد عدد الأعمدة وعنوان العمود وقيمة عمود لعنصر من المجموعة.
الآن أريد تعديل خلايا السمة. هل التوقف ممتعًا هنا وقد كتبت محرر مجموعة كاملة بنفسي (ربما كنسخة أو تستحق tcollectioneditor في وحدة colnedit.pas)؟
آمل أن يكون هناك شيء أبسط ، لكنني مثيرة للاهتمام في أمثلة بناء tcollectioneditor معقدة.
Ciao Heinz Z.
المحلول
القصد هنا هو توفير سمات الأعمدة الإضافية هذه كخصائص منشورة على tcollectionItem نفسها. لذلك عند تحديد العنصر ، يتم تحديده في مفتش الكائن حيث يمكنك بعد ذلك تحرير القيم وتغييرها.
ما عليك سوى إنشاء سليل من tcollectionItem ونشر الخصائص التي تمثل السمات الإضافية التي تريد أن تكون قابلة للتحرير. تأكد عندما تقوم بإنشاء سليل tcollection ، يمكنك تحديد نوع tcollectionItem الخاص بك إلى مثيله.