مكون ListBox (TlistBox)
هذا المكون هو مكون مربع قائمة Windows قياسي يعرض سلسلة من القوائم حيث يمكن للمستخدمين تحديد العناصر أو الانضمام إليها أو حذفها أو تعديلها.
1. الاستخدام النموذجي لمكونات Tllistbox
غالبًا ما تستخدم مربعات القائمة في تطبيقات Windows. يمكن لمربع القائمة سرد عناصر متعددة في نافذة قابلة للفة للمستخدمين للاختيار. على سبيل المثال ، في Delphi's IDE ، عند استخدام أمر قائمة المكونات في قائمة العرض ، يسرد Delphi جميع المكونات في VCL. يستخدم البرنامج بشكل أساسي سمة العناصر للتحكم في العناصر المختلفة ، مثل استخدام العناصر. حدد أو احصل على الخيار الحالي من خلال خاصية itemIndex.
2. خصائص مهمة من مكونات ledlistbox
· رقم مربع قائمة الأعمدة · يتم استخدام ExtendedseDelect هذه الخاصية لتعيين ما إذا كنت تريد تحديد عناصر متعددة في وقت واحد باستخدام مفتاح Shift ومفتاح CTRL · integralheight ارتفاع مربع القائمة يكون دائمًا مضاعفًا صحيحًا لارتفاع العنصر في مربع القائمة · itemHeight يتم استخدام هذه الخاصية لتعيين ارتفاع كل عنصر في مربع القائمة · itemIndex يتم استخدام هذه الخاصية لتعيين رقم التسلسل للعناصر المحددة في مربع القائمة · العناصر التي يتم الوصول إلى جميع العناصر في مربع القائمة من خلال تتيح خاصية العناصر · يتيح MultisElect تحديد عناصر متعددة في نفس الوقت · selcount إرجاع عدد العناصر المحددة حاليًا · يتم استخدام هذه الخاصية المحددة لتحديد ما إذا تم تحديد العنصر المحدد · يتم فرز هذه الخاصية لتعيين ما إذا كانت العناصر في يجب فرز مربع القائمة أبجديًا · نمط يستخدم هذه الخاصية لتعيين نمط مربع القائمة يصف ما يلي الخصائص الشائعة الاستخدام لمكون TLISTBOX في البرنامج.
(1) سمات الأعمدة
القيمة الافتراضية لهذه الخاصية هي 0 ، ويتم عرض مربع القائمة في عمود واحد. إذا تم تعيين هذه الخاصية على قيمة أكبر من 0 ، فسيتم ملء مربع القائمة أولاً في عمود. إذا كان لا يمكن عرضه بالكامل في عمود واحد ، فسيتم عرضه في العمود 2 ، العمود 3 ، وهكذا ، ولكن يتم عرض عدد الأعمدة التي تم تعيينها بواسطة خاصية الأعمدة على الشاشة على الأكثر. إذا تم تعيين هذه الخاصية على 2 ، فسيتم عرض عمودين فقط على الشاشة.
(2) خاصية ExtendedSelect
يتم استخدام هذه الخاصية لتعيين ما إذا كنت تريد تحديد عناصر متعددة في وقت واحد باستخدام مفتاح Shift و Ctrl ، شريطة أن يتم تعيين الخاصية متعددة المراكز على صحيح. يضغط المستخدم ويحمل مفتاح التحول.
(3) خاصية integralheight
إذا تم تعيين هذه الخاصية على TRUE وتم تعيين خاصية النمط على IsOwnerDrawFixed ، فسيتم تعديل ارتفاع مربع القائمة تلقائيًا على مضاعف عدد صحيح لارتفاع العنصر في مربع القائمة. إذا تم تعيين هذه الخاصية على خطأ ، فقد لا يتم عرض العنصر الأخير في مربع القائمة بالكامل ، لأن ارتفاع مربع القائمة ليس بالضرورة مضاعفًا صحيحًا لخاصية itemHeight.
(4) سمة itemHeight
عندما يتم تعيين خاصية النمط على isOwnerFixed (المعرفة من قبل المستخدم) ، يتم استخدام هذه الخاصية لتعيين ارتفاع كل عنصر في مربع القائمة. إذا تم تعيين خاصية integralheight على TRUE ، فسيتم تعديل ارتفاع مربع القائمة بأكمله تلقائيًا بقيمة خاصية itemHeight. إذا تم تعيين خاصية النمط على isstandard أو isoWnerDrawVariable ، فستكون خاصية ItemHeight بلا معنى.
(5) سمة itemIndex
يتم استخدام هذه الخاصية لتعيين رقم تسلسل العنصر المحدد في مربع القائمة. إذا تم تعيين خاصية MultiSelect على TRUE وتحديد المستخدم عناصر متعددة ، فإن هذه الخاصية تُرجع رقم تسلسل العنصر بتركيز الإدخال. رمز نموذج البرنامج كما يلي:
] ؛ end ؛ storeRetform1.button1 (sender: tooject) ؛
(6) سمات العناصر
يتم الوصول إلى جميع العناصر في مربع القائمة من خلال خاصية العناصر.
[Delphi] عرض PlainCopyVarf: ملف ؛ i: integer ؛ leghfori: = 0to (fileListbox1.Items.Count-1) dobegintryifilelistbox1.selected [i] thenbeginifnotfilexists (fililestbox1.items.strings [i]) .items.strings [i]+'notfound' ، mterror ، [mbok] ، 0) ؛ end ؛ end ؛ issignfile (f ، fileListbox1.Items.Strings [i]) ؛ refet (f ، l) ؛ listbox1.items. إضافة (inttost (f)) ؛ closefile (f) ؛
(7) خاصية متعددة
إذا تم تعيين هذه الخاصية على صحيح ، يُسمح باختيار عناصر متعددة في وقت واحد. يمكن للمستخدمين الضغط على مفاتيح CTRL أو Shift ، أو تحديد العناصر باستخدام الماوس ، أو السحب والإسقاط مباشرة مع الماوس لتحديدها.
(8) خصائص فرز
يتم استخدام هذه الخاصية لتعيين ما إذا كان ينبغي فرز العناصر الموجودة في مربع القائمة أبجديًا. بالنسبة إلى مربعات القائمة المصنفة ، ستنتقل العناصر التي تمت إضافتها عن طريق الاتصال Add () أو insert () تلقائيًا إلى المكان المناسب. رمز نموذج البرنامج كما يلي:
[Delphi] عرض PlycopyProcedUrtform1.FormCreate (Sender: tobject) ؛ item1 ') ؛ listbox1.items.add (' item4 ') ؛ end ؛
(9) سمات النمط
يتم استخدام هذه الخاصية لتعيين نمط مربع القائمة. يقوم بتعيين القيم الثلاثة التالية التي يمكن للمستخدمين. • lbstandard: كل عنصر عبارة عن سلسلة ، وكل عنصر له نفس الارتفاع. • Lbownerdrawfixed: العنصر ليس بالضرورة سلسلة ، ولكن يمكن أن يكون أيضًا صورة. يتم تشغيل حدث OnDrawitem قبل عرض كل عنصر. • lbownerdrawvariable: العنصر ليس بالضرورة سلسلة ، ويمكن أن يكون أيضًا صورة ، ويمكن أن يكون ارتفاع العنصر مختلفًا. يتم تشغيل حدثين قبل عرض كل عنصر.
3. أحداث مهمة لمكونات ledlistbox
· ondrawitem إذا تم تعيين خاصية النمط على lbownerdrawfixed أو lbownerrawvariable والمواد الموجودة في مربع القائمة يجب إعادة تشغيلها ، وسيتم تشغيل الحدث في صندوق القائمة. ، سيتم تشغيل الحدث
4. طرق مهمة لمكونات stlistbox
الطريقة الشائعة الاستخدام لمكون TlistBox في البرامج واضحة ، وهي وظيفة حذف جميع الخيارات في مربع القائمة.
كيف يعرض العنصر في ListBox ألوانًا مختلفة وفقًا للمحتوى
1. قم بتغيير خاصية Style of ListBox1 إلى Lbownerdrawvariable2.
على سبيل المثال:
[Delphi] عرض PlycopyProcedUretform1.Listbox1DrawItem (التحكم: Twincontrol ؛ فهرس: rect: رقم فردي beginlistbox1.canvas.brush.color: = clwindow ؛ listbox1.canvas.textrect (rect.left العناصر هي الرقم حتى .brush.color: = clinactivecaptiontext ؛ listbox1.canvas.textrect (rect ، rect.ft ، rect.top ، listbox1.items [index]) ؛ end ؛ ifodselectedinstatethen color: = clhighlight ؛ listbox1.canvas.textrect (rect ، rect.ft ، rect.top ، listbox1.items [index]) ؛ end ؛ end ؛