القوانين العامة لمنتديات الخوارزمى ... مشاهدة الإدارة ونقص عدد المشرفين ... للتقدم بطلب للإشراف ... مسابقة ترشيح المشرف العام

خدمات مركز الخوارزمى

خريطة الموقع

معرض الصور

مركز تحميل الصور و الملفات

القرآن الكريـــم

تفسير القرآن الكريــم

المرجع الدينى الشامل

مكتبة البرامج

مكتبة الدروس


« آخـــر الــمــواضــيــع »
         :: الإضاءة فى غرف النوم (آخر رد :كوكو مان)       :: باصرك وشاهدك وسامعك ومطلع عليك و ....ولا يزال يسترك (آخر رد :د شكرى)       :: كل نفس ذائقة الموت (آخر رد :د شكرى)       :: اليكم تلك الضحكات (آخر رد :تبارك)       :: أخذر!!! من اخطر ثلاثة اعضاء في جسدك!! (آخر رد :تبارك)       :: !؟! هل سترافقني إلى قبري !؟! (آخر رد :تبارك)       :: يا محمد سلام غير مطبخ حواء ........خليه لادم احسن (آخر رد :عصفورة الجنة)       :: دقيقة فقط... لتنقذ روح (آخر رد :محمد سلاَّم)       :: العزاء (آخر رد :عصفورة الجنة)       :: والآخرة خير وأبقى صدق الله العظيم (آخر رد :عصفورة الجنة)       :: يرسل لك كل يوم أو يومين حديث نبوي لبريدك الإلكتروني مع الشرح (آخر رد :عصفورة الجنة)       :: ثلاث ضيوف يأتون بلا موعد مسبق (آخر رد :تبارك)       :: تحية تقدير (آخر رد :محمد سلاَّم)       :: الدرس الثالث "حاب تعلم ابنك الفرنسية !!" (آخر رد :chaima8)       :: الدرس الثالث "حاب تعلم ابنك الفرنسية !!" (آخر رد :chaima8)       :: شوفو القرد وهو يربي نمر (آخر رد :محمد سلاَّم)       :: مترجم فوري (آخر رد :عصفورة الجنة)       :: مسجد الكرستال روعة التصميم (آخر رد :تبارك)       :: Tv quran (آخر رد :domokh)       :: نصائح طبية وغذائية لتفادي متاعب الحمل الشائعة (آخر رد :عصفورة الجنة)      



العودة   :: مركز الخوارزمى للترجمة وخدمات الإنترنت العودة ركن الكمبيوتر و الإنترنت العودة قسم البرمجة وقواعد البيانات
قسم البرمجة وقواعد البيانات ASP.net SQL, ADO.net, C#, PHP , CGI , MySQL , JavaScript , Html , Delphi , Ajax ...



داله Draw Text الكاتب ReadOnly

قسم البرمجة وقواعد البيانات


 
   
أدوات الموضوع انواع عرض الموضوع
قديم 24-07-2006, 12:33 AM رقم المشاركة : 1
معلومات العضو
عضو
نحن نتطلع الى التميز
افتراضي داله Draw Text الكاتب ReadOnly

الوظيفة:
دالتي واجهة برمجة التطبيقات DrawText ونسختخها الاحدث DrawTextEX تقوم بطباعة نص معين في مستطيل محدد.
ملاحظة: الدوال المنتهية بالامتداد EX تعمل على مختلف أنظمة ويندوز.

تصريح الدالة حسب لغة فيجوال بيسك:

كود
Declare Function DrawText Lib "user32" Alias "DrawTextA" _ 
(ByVal hdc As Long, ByVal lpStr As String, ByVal nCount _ 
As Long, lpRect As RECT, ByVal wFormat As Long) As Long

وسيطات الدالة:
hDC : مقبض Device Context أوما يسمى بالعربية قرين الجهاز وفي بعض المراجع (سواقات الاجهزة) وتملك الكائنات التي يمكن الرسم عليها هذه الخاصية مثل النماذج ومربعات الصورة.
lpStr: النص المراد طباعته.
nCount : عدد الحروف المراد طباعتها.
lpRect : المستطيل المراد الطباعة فيه ويتم تمرير حدود المنطقة من خلال البنية RECT .
wFormat: تأخذ هذه الوسيطة عدد من الثوابت التي تحدد طريقة الطباعة. انظر الجدول التالي
الذي يحوي شرح لعدد من الثوابت المهمة:

DT_BOTTOM : محاذاة إلى الاسفل، مع ملاحظة ضرورة استخدام الثابت DT_SINGLE
DT_CENTER : محاذة إلى الوسط أفقيا.
DT_VCENTER : نفس السابق ولكن يستخدم عندما يكون الثابت DT_SINGLE محدد
DT_LEFT : محاذاة إلى اليسار.
DT_RIGHT : محاذاة غلى اليمين.
DT_TOP : محاذاة إلى الاعلى.
DT_NOCLIP : بدون التقيد بمساحة المستطيل.
DT_WORKBEAK : التفاف تلقائي للنص بحيث لا يخرج عن حدود المستطيل.
DT_SINGLELINE : طباعة سطر وحيد.
DT_CALRECT : اذا كان هناك سطر واحد يتم تمديد المستطيل من اليمين حسب الحاجة أما إذا كان هناك أكثر من سطر فإنه يتمدد المستطيل إلى الاسفل حسب الحاجة.

وهناك ثوابت اخرى (ربما تحتاج إليها) وهي كالتالي كماتنص عليها المكتبة MSDN
كود
DT_EXPANDTABS : Expands tab characters. The default number 
of characters per tab is eight. 

DT_EXTERNALLEADING: Includes the font’s external leading 
in the line height. Normally, external leading is not 
included in the height of a line of text. 

DT_MODIFYSTRING : Modifies the given string to match the displayed text. 
This flag has no effect unless the DT_END_ELLIPSIS 
or DT_PATH_ELLIPSIS flag is specified. 

DT_NOPREFIX : Turns off processing of prefix characters. 
Normally, DrawText interprets the ampersand (&) 
mnemonic-prefix character as a directive to 
underscore the character that follows, and 
the two-ampersand (&&) mnemonic-prefix characters 
as a directive to print a single ampersand. 
By specifying DT_NOPREFIX, this processing 
is turned off. 
DT_TABSTOP : Sets tab stops. The high-order byte of nFormat 
is the number of characters for each tab. The 
default number of characters per tab is eight

.

القيمة التي تعيدها الدالة :
ارتفاع النص المطبوع بالبيكسل.

أمثلة على استخدام الدالة DrawText .

مثال1:
هذا مثال مبسط يوضح كيفية طباعة عبارة على أداة PictureBox
ادرج PictureBox وCommandButton ثم استخدم الكود التالي:

كود
'DrawText تصريح الدالة 
Private Declare Function DrawText Lib "user32" Alias _ 
"DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, _ 
ByVal nCount As Long, lpRect As RECT, _ 
ByVal wFormat As Long) As Long 

'RECT البنية 
Private Type RECT 
Left As Long 
Top As Long 
Right As Long 
Bottom As Long 
End Type 

Const DT_SINGLELINE = &H20 

Private Sub Form_Load() 
With Picture1 
.Left = 0: .Top = 0: .Width = Me.ScaleWidth 
End With 
End Sub 

Private Sub Command1_Click() 
Dim Txt As String, Rct As RECT 
Txt = "السلام عليكم" 
'حدود المستطيل 
Rct.Left = Picture1.Left: Rct.Top = Picture1.Top 
Rct.Right = Picture1.Left + Picture1.Width 
Rct.Bottom = Picture1.Top + Picture1.Height 
'طباعة النص 
DrawText Picture1.hdc, Txt, Len(Txt), Rct, DT_SINGLELINE 
End Sub

ملاحظات:
1- لم أتحدث عن الدالة DrawTextEX النسخة الاحدث من الدالة DrawText والتي لاتختلف كثيرا عن الدالة السابقة ولكنها توفر امكانيات أكبر من خلال بعض الثوابت الاضافية مثل الثابت DT_EDITCONTROL الذي يتم استخدامه مع مربعات النصوص متعددة الاسطر وكان من الافضل استخدامه لتنفيذ المثال السابق. أيضا الثابت DT_RTLREADING والذي يمكن وظيفة الطباعة من اليمين إلى اليسار في انظمة ويندوز التي تدعم تقنية المرآة.
2- لقد استخدمت كلمة "الطباعة" بدلا من الكلمة "الرسم".
3- توفر الدالة CreateFont امكانيات أكبر لرسم النصوص بأشكال مختلفة كالنص المنحني والدائري وغيرها






رد مع اقتباس
 


مواقع النشر

الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Real DRAW منافس الفوتوشوب بالصور + السيريال محمد سلاَّم شروح برامج الجرافيك والتصميمات 12 21-07-2008 11:05 AM
عدة الكاتب سها منتدى اللغة العربية 3 25-12-2007 07:33 PM
Easy Text To HTML Converter mito_alex ركـــن تطويــــر المواقـــــــــــــع 4 25-10-2006 04:04 PM
داله لاستخراج امتداد الملف من مساره FemTo قسم البرمجة وقواعد البيانات 3 26-07-2006 01:34 AM
حاله الصدر فى الطبقات العليا mito_alex المنتدى الإسلامى العام 0 09-02-2006 02:21 PM

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة