سؤال

من أجل سليل 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 الخاص بك إلى مثيله.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top