בית
Top.Mail.Ru Yandeks.Metrika
פורום: "ראשי";
ארכיון נוכחי: 2002.01.08;
הורדה: [xml.tar.bz2];

למטה

למה זה לא עובד קוד פשוט ... מצא סניפים דומים


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

יש טופס TForm1. BitBtn1 "כפתור ניסיוני" מונח עליו.
יש רצון, על ידי לחיצה על כפתור אחר - כפתור 1 לבצע את הפעולות הבאות:
- צייר תמונת BitBtn1 על הבד של מפת הסיביות באמצעות PaintTo
- פלט את מפת הסיביות שהתקבלה לבד הטופס

לא קיבל! BitBtn1 לא נמשך למפת הסיביות! למה! איפה אני צודק?

הליך TForm1.FormCreate (שולח: TObject);
להתחיל
// צור מפת סיביות
bmp: = TBitmap.Create;
bmp. רוחב: = 150;
bmp. גובה: = 150;
הסוף;

הליך TForm1.Button1Click (שולח: TObject);
להתחיל
// כשאתה לוחץ על הכפתור, צייר את BitBtn1 על הבד של מפת הסיביות
BitBtn1.PaintTo (bmp.Canvas.Handle, 0, 0);
לא תקף // כדי להכריח את הטופס מחדש
הסוף;

הליך TForm1.FormPaint (השולח: TObject);
להתחיל
// הדפיס את טופס מפת הסיביות על הבד
Canvas.Traw (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 פונקצית חברות כזו
WinControl.PaintTo (DC: HDC; X, Y: מספר שלם)
בעזרתו, לכאורה, תוכלו לצייר תמונה של WinControl על כל קנבס. ניסיתי לצייר תמונת כפתור (TBitBtn) על הבד של מפת הסיביות. זה לא מסתדר. ערכו מחקר עם WinControls אחרים, מסתבר למשל עם TPanel. ניתן להעביר את תמונת הפאנל למפת הסיביות באמצעות PaintTo. תמונת TBitBtn, אני חוזר, מסיבה כלשהי פונקציה זו אינה נמשכת למפת הסיביות.
כלומר פונקציה זו עבור WinControls שונים פועלת כפי שאלוהים מניח את הנפש.



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

אני חושב שהבעיה כולה לא נמצאת ב- PaintTo, אלא ב- DC (סוג HDC), היא לא מצוינת כראוי במקרה של TBitBtn, כלומר המערכת מחזירה ידית שגויה עבור בד הכפתור: ((



עמודים: 1 ענף שלם

פורום: "ראשי";
ארכיון נוכחי: 2002.01.08;
הורדה: [xml.tar.bz2];

למעלה





זיכרון: 0.55 MB
זמן: 0.022 c
1-22255
דמיטרי קאטאב
2001-12-14 14:51
2002.01.08
כיצד ליישם פריט תפריט חדש ב- IE, הנקרא על ידי הכפתור הימני (כמו למשל ב- Reget)


14-22416
נקמה
2001-11-14 11:47
2002.01.08
זקוק לתכנית מסוג זה


1-22257
Dmitry1
2001-12-14 16:53
2002.01.08
סוג הזמן של היום


1-22209
קוסט
2001-12-14 14:10
2002.01.08
האם מישהו השתמש בפונקציה PaintTo כדי לצייר s WinControl על הבד של מפת הסיביות? עזרה! אני לא יכול לעשות שום דבר.


1-22109
avr555
2001-12-19 17:17
2002.01.08
קומבוקס ברשת





אפריקאנס אלבני ערבי אַרְמֶנִי אזרביג'אן הבסקים בלארוסית בולגרי קטלאנית הסיני (פשוט) סינית (מסורתית) קרואטית צ'כיה דני הולנדי אנגלית אסטוני פיליפיני פיני צרפתית
גליציה גאורגיה גרמני יווני קריאולית האיטית עברי הינדי הונגרי איסלנדי אינדונזי אירי איטלקי יפני קוריאני לטבי ליטאי מקדוניה מלאית מלטזית נורבגי
פרסי פולני פורטוגזי רומנית רוסי סרבית סלובקי סלובני ספרדי סוואהילית שבדי תאילנדי תורכי אוקראיני אורדו ויאטנמית וולשית יידיש בנגלית בוסנית
קבואנו אספרנטו גוג'ראטית האוסה המונג איגבו יָאוָנִי קנאדה לחמר לאו הלטינית מאורים מרתי מונגולי נפאלית פונג'בית סומליה טמילית טלוגו יורובה
זולו
Английский Французский Немецкий Итальянский Португальский Русский Испанский