تقييم الموضوع :
  • 6 أصوات - بمعدل 3.5
  • 1
  • 2
  • 3
  • 4
  • 5
uWindowStyle unit
#2
(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 سيكون شبيه بهذا
 
var
  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; 
 الدالة CreateWindowEx
تقوم بإنشاء 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 سترجع لنا ماهو مستخدم
أرجوا أن قد وفقت ولو بتلميح بسيط والأمر يتطلب أكثر من هذه الكلمات بالتوفيق
" اللهم أحسن خاتمتنا وأخرجنا من الدنيا علي خير"
أعضاء أعجبوا بهذه المشاركة : alihmoda1970 , hassan33


الردود في هذا الموضوع
uWindowStyle unit - بواسطة AX302 - 19-10-2018, 08:26 PM
RE: uWindowStyle unit - بواسطة TeRcO - 10-11-2024, 04:59 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم