وصف
Tsizectrl هو مكون V+LCL غير المرئي ، والذي يسمح لك بتغيير حجم الألواح Tcontrol واختيارها ونقلها
على عكس الإدراك الأصلي ، يدعم الإصدار الحالي كل من Delphi و Lazarus ، لذلك مستوحى من الإصدار الأصلي لـ Angus Johnson ، لكنه الآن ليس هو نفسه Legacy/Old Experize :)
سمات:
- أزرار قابلة للتخصيص بالكامل: يمكنك تغيير العد (من 4 إلى 8) ، واللون ، والحجم ، والشفافية ، والشكل ، وإذا كنت ترغب في ذلك - يمكنك تعيين صورة الزر
- 5 أنواع الشكل: مربع ، دائرة ، المعين ، مثلث و RoundRect
- إطار الاختيار القابل للتخصيص: خاصية MovePanelCanvas للوصول إلى جميع اللوحات الإطارات في وقت واحد ، مع دعم الشفافية (Brush.style: = BSClear)
- خاصية showframe لإظهار/إخفاء إطار الاختيار
- خاصية MovePanelAlphablend لتحديد قناة ألفا لإطار التحجيم/الاختيار
- خاصية MovePaneLimage لتعيين صورة إطار التحديد
- دعم tcustomforms: عندما يتم تغيير حجم النموذج باستخدام tsizectrl ، لا يمكن إغلاقه أو تقليله/تقليله
- دعم الشبكة ، مع الخصائص: شبكات ، showgrid ، الشبكة ،
- خيارات تغيير حجمها:
- خاصية AlignTogrid - محاذاة عناصر التحكم في الشبكة
- تطبيق الخاصية - تنشيط لتغيير حجم الكائن على الفور
- خاصية multitargetResize - لإنكار/السماح بتغيير حجم أهداف قليلة في وقت واحد
- خاصية القيود لتحديد الحد الأدنى والحد الأقصى للكائن القابل للقيام
- خاصية MoveOnly لإنكار/السماح بتغيير حجم الكائنات
- دعم علامة الكائنات ، لإنكار الكائن من التحديد
- أزرار قابلة للتخصيص: ألوان ({محتوى ، حدود}) والصور للحالات الممكّنة والمعوقة والمعوقة
- تطبيق الخاصية - لتطبيق الأحجام على الكائن على الفور
- خاصية EditDisabled للسماح (ممكّن: = false)-> تحرير المكونات المعطلة
- أنماط زر مختلفة للتغيير حجم: لا شيء (أزرار مخفية) ، أزرار (جميع الأزرار مرئية) ، خط ، زر واحد
- خيارات إخفاء زر تغيير حجم مختلفة: لا شيء (أزرار مرئية ، ولكن ثابتة) ، والاختباء (أزرار مخفية) ، والتحرك (سيتم نقل الأزرار في حالة التحرك ، ولكن مخفية في حالة التحجيم)
- خيارات إضافية:
- خصائص التمدد التي يتم توفيرها مع كل صور (TPICTURE) ، لتحديد الصور التي ترغب في تخزينها بالحجم الأصلي
- مفاتيح التعديل القابلة للتخصيص (الاختيار ، المتحرك/الحجم ، مفاتيح المحاذاة)
- أحداث onhover لـ tsizeBtns (مقابض الحجم/المقابض)
القيود
لازاروس:- حاليا لا ssupporting movepanelimage property
- في بعض المنصات ، لا يمكن أن تدعم الشفاء ألفا
الأخطاء والبق:
- حشرات شائعة ثابتة:
- علة مع شبكة التحجيم (showgrid) على عناصر التحكم غير المشكل
- اختيارك خطأ مع التركيز النموذج (عندما تحاول تغيير النموذج ، وما زالت Tsizectrl تتعامل مع الأحداث)
- لا يزال هناك حشرة الاختيار مع النماذج (عند الحجم ، شريط التوضيح الخاص به مع أزرار الإجراءات ، وهو أمر مزعج نوعًا ما)
- نقل الأخطاء مع تمكين التعتيرة المزدوجة
- علة مع حجم BTN ، عندما يركت الكائن+أعلى = قطر BTN (الحجم)
- علة مع عودة في defwindowproc - formwindowproc
- علة ذات عنصر تحكم غير مخصص ، والذي يسببه اختيار مكون الحجم
- علة مع المؤشر: في بعض الأحيان لن يتغير ، عندما يتم تشغيل الحركة (مع Tshape ، على سبيل المثال)
- يسبب نقل الكائن بمفاتيح ، أثناء تحريره بالماوس ، تحجيم الأخطاء
- علة ذات كائنات غير مرئية: إنه ينكر اختيار الكائن العلوي ، ولكن اختيار الكائن العلوي
- الحشرات الحديثة المعروفة:
- 1. أضف دعم اختيار الكائنات المعوقة [لازاروس]
الحل المحتمل: ربط جميع wndproces العودية؟
خطط تقريبا:
- ميزات جديدة:
- 1. التوافق مع الخطوط (وظيفة ، EF)
- 2. اكتشف مضلع التحكم لرسم الشكل لتناسب النموذج
- 3. دعم العلامات المخصصة
- 4. د/لتر كل CL دعم الشفافية الحقيقية مع طريقة DrawFocusRrect ونوع المستقيم التركيز ، والتي يمكن أن تحدد كيفية رسم المستقيم التركيز
- 5. خاصية لإخفاء التركيز المستقيم فقط عند تغيير الحجم
- refactorings:
- 1. التحكم في التقليب ، عندما تكون أحجامها صغيرة جدًا (تغيير الموضع + تغيير حجمها)
- 2. تجديد إعدادات الإطار الأعلى (إضافة خاصية FrameOntop ، على سبيل المثال ، اجعل الوالد TmovePanel نفسًا مثل TsizeBtn Parent ، إذا لزم الأمر) [Delphi ، Lazarus]
- 3. الحد من تغيير حجمه عند إدراج التحكم في محاذاة أو عندما يحتوي التحكم على كل من CTRLs الفرعية المحاذاة وغير المحاذاة (للأطفال)