10-11-2024, 04:59 PM
(19-10-2018, 08:26 PM)Agmcz كتب : procedure GetWindowStylesList(hWindow: THandle; out StylesList: TStringList);
procedure GetWindowStylesExtendedList(hWindow: THandle; out StylesList: TStringList);
function WS_Exists(hWindow: THandle; Style: Integer): Boolean;
لو شرحت حالات الاستخدام سأشرح ما قبلها وهذا لن يكفيه بعض الكلمات
لكل Window أنماط
مهما كان (Button, Edit, Listview, Treeview...)
لو كنا نيرمج دون الإستعانه بـ VCL ستكون الأمور واضحة أكثر
عندما نضع مكون Edit في الفورم عند تنفيذ الكود المسؤول في الحقيقة عن إنشاء Edit سيكون شبيه بهذا
الدالة CreateWindowExvar hEdit: THandle; begin hEdit := CreateWindowEx( WS_EX_CLIENTEDGE, 'EDIT', nil, ES_LEFT or ES_NOHIDESEL or ES_AUTOHSCROLL or WS_OVERLAPPED or WS_CHILD or WS_VISIBLE, 32, 8, 337, 21, Handle, 0, HInstance, nil); end;
تقوم بإنشاء Control على حسب المعطيات التي نعطيها لها
أول برامتر للدالة هو (WS_EX_CLIENTEDGE)
{ Extended Window Styles } إبحث في الوحدة Windows.pas عن هذه الجملة
في هذه الحالة نستخدم الدالة GetWindowStylesExtendedList سترجع لنا ماهو مستخدم
البرامتر الرابع
ES_LEFT or
ES_NOHIDESEL or
ES_AUTOHSCROLL or
WS_OVERLAPPED or
WS_CHILD or
WS_VISIBLE,
{ Window Styles } إبحث في الوحدة Windows.pas عن هذه الجملة
وهي مسؤولة عن شكل المكون (إبن أب ظاهر غير ظاهر .....)
في هذه الحالة نستخدم الدالة GetWindowStyles سترجع لنا ماهو مستخدم
أرجوا أن قد وفقت ولو بتلميح بسيط والأمر يتطلب أكثر من هذه الكلمات بالتوفيق
" اللهم أحسن خاتمتنا وأخرجنا من الدنيا علي خير"