منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "Main";
الأرشيف الحالي: 2002.07.29;
تنزيل: [xml.tar.bz2];

إلى

كيفية إنشاء شكل غير مستطيل البحث عن فروع مماثلة


firsor   (2002-07-17 09:51) [0]

كيفية إنشاء شكل غير مستطيل؟ لقد فعلت ذلك
الإجراء TForm1.FormCreate (المرسل: TObject) ؛
بدأ
setwindowrgn (Form1.handle ، CreateEllipticRgn (1,6,2,9،XNUMX،XNUMX،XNUMX) ، صواب)
الغاية؛
لكن لم يحدث شيء. كيف تكون



Виктор Щербаков   (2002-07-17 09:53) [1]

يجب أن يتم ذلك في طريقة CreateParams.



firsor   (2002-07-17 10:29) [2]

ومن يملك هذه الطريقة ... يمكنك بمزيد من التفصيل



Виктор Щербаков   (2002-07-17 10:36) [3]

هذا هو الأسلوب الظاهري TWinControl. يمكن تجاوزه في أحفاد TWinControl ، بما في ذلك TForm1 الخاص بك.

إجراء CreateParams (var Params: TCreateParams) ؛ تجاوز.



Игорь Шевченко   (2002-07-17 11:41) [4]

Victor Shcherbakov © (17.07.02 09: 53)

يجب أن يتم ذلك في الأسلوب CreateWnd (تجاوز) بعد الموروثة
لا يحتوي CreateParams حتى الآن على إطار مؤشر.



Виктор Щербаков   (2002-07-17 11:47) [5]

نعم بالفعل :(



Игорь Шевченко   (2002-07-17 11:53) [6]

Victor Shcherbakov © (17.07.02 09: 53)

يجب أن يتم ذلك في الأسلوب CreateWnd (تجاوز) بعد الموروثة
لا يحتوي CreateParams حتى الآن على إطار مؤشر.



Игорь Шевченко   (2002-07-17 12:00) [7]

عذرا ، الخادم تعطل ، وانفجرت مرتين :-)



ded_di   (2002-07-17 12:21) [8]

جرب نفس الشيء في OnPaint



firsor   (2002-07-17 13:42) [9]

حاولت مثل هذا:
الإجراء TForm1.CreateWnd؛
بدأ
setwindowrgn (Form1.handle، CreateEllipticRgn (1,6,2,9،XNUMX،XNUMX،XNUMX)، true)؛

الغاية؛
и
الإجراء TForm1.CreateParams (var Params: TCreateParams) ؛
بدأ
setwindowrgn (Form1.handle، CreateEllipticRgn (1,6,2,9،XNUMX،XNUMX،XNUMX)، true)؛

الغاية؛

ولكن يعطي خطأ مثل تجاوز سعة المكدس. أنا أفعل شيئا خطأ.



Игорь Шевченко   (2002-07-17 13:48) [10]

في CreateParams لا.
منذ عند استدعاء Form.Handle في هذه الطريقة ، يطلق عليه بشكل متكرر.

جرب:

الإجراء TForm1.CreateWnd؛
بدأ
الموروثة.
إذا HandleAllocated ثم
setwindowrgn (مقبض ، CreateEllipticRgn (1,6,2,9،XNUMX،XNUMX،XNUMX) ، صواب) ؛
الغاية؛

وأخيرًا - يجب عدم الرجوع إلى متغيرات هذا الكائن في أساليب الكائن:

الإجراء TForm1.CreateWnd؛
بدأ
setwindowrgn (Form1.handle، CreateEllipticRgn (1,6,2,9،XNUMX،XNUMX،XNUMX)، true)؛
^^^^^
الغاية؛





ded_di   (2002-07-17 14:10) [11]

لا يحدث شيء لأن CreateEllipticRgn (1,6,2,9،XNUMX،XNUMX،XNUMX) تُرجع NULL (على الأقل بالنسبة لي). تغيير حجم يعطي النتيجة.



صفحات: 1 فرع كامل

المنتدى: "Main";
الأرشيف الحالي: 2002.07.29;
تنزيل: [xml.tar.bz2];

الطابق العلوي





الذاكرة: 0.57 ميغابايت
الوقت: 0.023 ج
1-95277
CAHbKA
2002-07-17 08:26
2002.07.29
HintForm


6-95466
TEXHAPb
2002-05-13 18:41
2002.07.29
إندي ضد فاست نت


3-95254
jen_bond
2002-07-09 11:33
2002.07.29
كثير إلى كثير اتصال


1-95326
بيج
2002-07-17 22:37
2002.07.29
عداد


7-95579
سيرجي ف
2002-04-27 20:58
2002.07.29
كيفية تحديد 95,98 أو NT أو ME أو 2000 أو Win XP على الكمبيوتر؟





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch English الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский