الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اعرض النص بشكل عمودي في Label

مغلق
بدأه حسين السرحاني في 18 فبراير 2002 · 4 رد · 775 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

هل فكرت يوماً بعرض النص الموجود بداخل Label بشكل عمودي !!!

الان تمتع بذلك .... فقط ضع اداة Label على النموذج بأسم Label1 وانسخ الكود التالى ..

Private Sub Form_Activate()

Dim s As String

For i = 1 To Len(Label1)

s = s & Mid$(Label1, i, 1) & vbCrLf

Next

Label1 = s



End Sub

ارجو ان يكون الكود جميل واستفدتم منة

سبحان الله وبحمده

سبحان الله العظيم

5429.gif

#2

كود جميل والله يعطيك العافية .

ولكن ألا يمكن أن نجعل الأحرف متصلة والنص عمودي ؟

ولك تحياتي

#3

يمكن تنفيذ ماتقصده بأكثر من طريقه..

1- بالحصول على قرين الاظهار لمربع النص وبالتالي نحصل عليه كصورة يمكننا عمل استدارة لها باستخدام الدالتين GetPixel و SetPixel ..

Private Declare Function GetDC Lib "user32" (ByVal hWnd _
 As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC _
 As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hDC _
 As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor _
 As Long) As Long

Private Sub Form_Load()
 Picture1.ScaleMode = vbPixels
 With Text1
  .BorderStyle = 0
  .Appearance = 0
  .Locked = False
  .BackColor = BackColor
  .Text = "ArabTeam"
 End With
End Sub

Private Sub Command1_Click()
 Dim X&, Y&, crColor&, hWnd&, hDC&
 hDC = GetDC(Text1.hWnd)
 For X = 1 To Text1.Width / 15 - 2
  For Y = 1 To Text1.Height / 15 - 2
   crColor = GetPixel(hDC, X, Y)
   SetPixel Picture1.hDC, Y, X, crColor
  Next Y
 Next X
End Sub

بالرسم مباشرة على النموذج بعد ان نقوم باختيار خط مائل بزاواية 90 درجة.

'LOGFONT البنية
Private Type LOGFONT
 lfHeight As Long
 lfWidth As Long
 lfEscapement As Long
 lfOrientation As Long
 lfWeight As Long
 lfItalic As Byte
 lfUnderline As Byte
 lfStrikeOut As Byte
 lfCharSet As Byte
 lfOutPrecision As Byte
 lfClipPrecision As Byte
 lfQuality As Byte
 lfPitchAndFamily As Byte
 lfFaceName As String * 50 'modified
End Type
'تصريحات الدوال
Private Declare Function CreateFontIndirect Lib "gdi32" _
 Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal _
 hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal _
 hObject As Long) As Long


Private Sub Command1_Click()
 Dim lgFnt As LOGFONT, hPrevFont&, hFont&
 Cls
 'تحديد موقع الكتابة
 CurrentX = 100
 CurrentY = 2000
 'بالبيانات اللازمة LOGFONT تعبئة البنية
 With lgFnt
  .lfEscapement = 900
  .lfFaceName = "Tahoma" & vbNullChar
  .lfHeight = -20
 End With
 'اختيار الخط ككائن لقرين الاظهار
 hPrevFont = SelectObject(hdc, CreateFontIndirect(lgFnt))
 Print "Arabteam2000"
 hFont = SelectObject(hdc, hPrevFont)
 'تحرير المورد
 DeleteObject hFont
End Sub
#4

الله يعطيك الف عافية .

وزادك الله علماً .

ولك تحياتي

#5

السلام عليكم ..

شكراً لك يابوحمود والله يعافيك ...

وشكر كبير للاخ Read Only على سرعة ردة الجميل والمفيد والذي ربما انني سأعجز عن الاجابة عنة .

وشكراً لجميع الاخوان في هذا المنتدى :)

سبحان الله وبحمده

سبحان الله العظيم

5429.gif

هذا الموضوع مغلق.

مواضيع مشابهة