مشاهدة النسخة كاملة : مشكل مع PageControl
chehrour
17-04-2010, 07:50 PM
السلام عليكم ورحمة الله بركاته
استعلمت PageControl وفي احد TabSheet وضعت DBrid و Panel قي التنفيذ عندما انتقل من TabSheet الى TabSheet ثم ارجع TabSheet التي وضعت فيها DBrid و Panel لم يظهرا
علما اني استخدمت الكود التالي في FormCreatet
procedure TForm1.FormCreate(Sender: TObject);
var Oldlong:integer;
begin
OldLong := GetWindowLong(PageControl1.Handle,GWL_EXSTYLE);
SetWindowLong(PageControl1.Handle, GWL_EXSTYLE,OldLong or WS_EX_LAYOUTRTL);
InvalidateRect(PageControl1.Handle,nil,True);
end;
AL-MOB4RM3G
17-04-2010, 08:11 PM
وعليكم السلام ورحمة الله,
المشكلة تم طرحها في المنتدى من قبل, وهناك موضوع في المنتدى اظنه بنفس العنوآن,
لم يتم حل المشكلمة مع الدلفي 7, لكن مع الدلفي 2009 فما فوق فلا مشكلة والله الحمد,
بالتوفيق اخي,
chehrour
17-04-2010, 08:17 PM
شكرا جزيلا وبارك الله فيك
shagrouni
17-04-2010, 09:46 PM
السلام عليكم
في الحدث Change ل PageContol قمت بإخفاء ثم إظهار مكون في الصفحة التي تختفي مكوناتها، ومشى الحال.
procedure TForm1.PageControl1Change(Sender: TObject);
begin
label1.Visible := false;
label1.Visible := true;
end;
AL-MOB4RM3G
17-04-2010, 09:48 PM
همم, لم اجرب ذلك استاذ الشقروني,
لكن بما انك جربت هذا, فهل توضح ما هو الخلل بارك الله لك,
اهو bug في Delphi7 ؟ ام ورآء الأمر سر آخر؟
بارك الله لكم,
shagrouni
17-04-2010, 09:55 PM
السلام عليكم
صراحة أغلب برمجتي تمشي بالبركة !!
ولكن معروف أنه ليس كل المكونات في الويندوز تشتفل معها خاصية المرآة. Ws_ex_layoutrtl (على مستوى المكون الواحد)
أعتقد أنها مشكلة ويندوز والله أعلم.
hanipino
17-04-2010, 11:15 PM
بما ان هدا ينجح العملية
procedure TForm1.PageControl1Change(Sender: TObject);
begin
label1.Visible := false;
label1.Visible := true;
end;
اعتقد ان الخلل فى ال VCL فقط ... قصور فى برمجة هدا المكون فقط .
shagrouni
17-04-2010, 11:43 PM
مرحبا
WS_EX_LAYOUTRTL تقوم فقط برسم سطح المكون بطريقة معكوسة Mirroring.
إذا وضعنا مكون TImage وبه صورة داخل مكون TPanel وطبقنا WS_EX_LAYOUTRTL على Tapanel فسنلاحظ أن الصورة تظهر معكوسة، كذلك فإن احداثيات X في حركة الفأرة تكون معكوسة.
لذلك فـ RightToLeft هنا ليست حقيقية ولكنها تصوير فقط..
ال VCL عليها أن تجد حل التفافي حول المشكلة كما فعلنا. فإن لم تقم بذلك فهي مشكلة في الويندوز وليس في VCL
ربما أكون مخطأ ولكن هذا ظني.
chehrour
18-04-2010, 01:18 AM
احسنت وبارك الله فيك لقد حربت onchange
AL-MOB4RM3G
18-04-2010, 09:21 AM
بارك الله لكم,
اعتقد ان الخلل فى ال vcl فقط ... قصور فى برمجة هدا المكون فقط .
فإن لم تقم بذلك فهي مشكلة في الويندوز وليس في vcl
ربما أكون مخطأ ولكن هذا ظني.
لو نظرنا الى النتيجة مرة اخرى, مع الدلفي 7 لا تعمل, مع الدلفي 2010 فهي تعمل,
اذا الإحتمال ان الخلل من الويندوز صغير, (مجرد تفكير منطقي؟)
على كل حال, انا من مستخدمي الدلفي 2010 و اشجّع غيري على الهجرة اليه :clap3:
بالتوفيق,
shagrouni
20-07-2010, 09:27 PM
السلام عليكم
الخلل في في مكون TPageControl وليس في الويندوز. لقد كنت مخطئا.
كنت أعتقد أن PageControl مكون أساسي في الويندوز. في الواقع
هو مجرد TabControl ملحق به مجموعة من TPanels .
vBulletin® , Copyright ©2008-2012