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

إلى

لماذا لا يعمل هذا الكود البسيط ... البحث عن فروع مماثلة


Kost   (2001-12-15 13:06) [0]

هناك شكل TForm1. يتم وضع BitBtn1 "الزر التجريبي" عليه.
هناك رغبة ، بالنقر فوق زر آخر - Button1 للقيام بما يلي:
- ارسم صورة BitBtn1 على لوحة الرسم النقطية باستخدام PaintTo
- إخراج الصورة النقطية المستلمة إلى قماش النموذج

لم تتلق! لا يتم رسم BitBtn1 في الصورة النقطية! لماذا! أين أنا حق؟

الإجراء TForm1.FormCreate (المرسل: TObject) ؛
بدأ
/ / إنشاء صورة نقطية
bmp: = TBitmap.Create ؛
bmp.Width: = 150؛
bmp.Height: = 150؛
الغاية؛

الإجراء TForm1.Button1Click (المرسل: TObject) ؛
بدأ
// عند النقر فوق الزر ، ارسم BitBtn1 على لوحة الرسم النقطية
BitBtn1.PaintTo (bmp.Canvas.Handle، 0، 0)؛
إبطال. // لإجبار النموذج على إعادة الرسم
الغاية؛

الإجراء TForm1.FormPaint (المرسل: TObject) ؛
بدأ
// اطبع نموذج الصورة النقطية على اللوحة القماشية
Canvas.Draw (0,0، bmp)؛
الغاية؛



Song   (2001-12-15 22:18) [1]

لماذا انت
1) رسم قماش مع PaintTo؟ يمكنك ضبط الصورة الرمزية مباشرة من خلال Canvas.Draw - سيكون ذلك أكثر صحة.
2) إعادة رسم النموذج؟ تحتاج فقط إلى إعادة رسم عنصر التحكم الذي قمت بتحديثه ، أي
إما مثل هذا:
مع BitBtn1 هل
تبدأ
فإنه يقوم بتحديث.
إبطال.
الغاية؛

إما مجرد BitBtn1.RePaint ؛



Kost   (2001-12-16 12:25) [2]

هذا المثال أردت أن أوضح أنه في الصورة النقطية (بشكل أكثر دقة ، على لوحة من الصورة النقطية) من المستحيل رسم TBitBtn (أو TButton) باستخدام PaintTo.
WinControl "s لديه مثل هذه الوظيفة عضو
WinControl.PaintTo (DC: HDC؛ X، Y: integer)
مع مساعدة من ذلك ، يزعم ، يمكنك رسم صورة من WinControl على أي قماش. حاولت رسم صورة زر (TBitBtn) على لوحة الرسم النقطية. إنه لا ينجح. تم إجراء بحث مع WinControls الأخرى ، على سبيل المثال ، مع TPanel. يمكن نقل صورة اللوحة إلى الصورة النقطية باستخدام PaintTo. TBitBtn image ، وأكرر ، لسبب ما ، هذه الوظيفة لا يتم رسمها في الصورة النقطية.
أي هذه الوظيفة لمختلف WinControls تعمل كما يضع الله على الروح.



Song   (2001-12-16 22:31) [3]

أعتقد أن المشكلة برمتها ليست في PaintTo ، ولكن في DC (نوع HDC) ، لم يتم الإشارة إليها بشكل صحيح في حالة TBitBtn ، أي يقوم النظام بإرجاع مؤشر غير صحيح للوحة قماش الزر: ((



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

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

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





الذاكرة: 0.55 ميغابايت
الوقت: 0.027 ج
1-22212
T2
2001-12-14 03:13
2002.01.08
MMTOOLS الكراك


14-22337
الكسندر
2001-11-05 13:20
2002.01.08
خادم الطباعة DP-101 (D-Link) والطباعة من تحت DOS


1-22001
Socol
2001-12-15 15:55
2002.01.08
اناتولي podgoretsky


1-22243
Gumbert-Gumbert
2001-12-16 22:22
2002.01.08
كيف تأخذ الجذر من الدرجة الثانية في دلفي؟


14-22399
McSimm
2001-11-11 12:01
2002.01.08
التنسيق في الردود





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