تعلم كيفية انشاء نص تلميح ToolTipText لكل عنصر من عناصر listbox

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية انشاء نص تلميح ToolTipText لكل عنصر من عناصر listbox

مُساهمة من طرف المبرمج الطموح في الأربعاء سبتمبر 18, 2013 11:03 am

بسم الله الرحمن الرحيم

نص التلميح ToolTip هو النص الذى يظهر عند وقوفك بالماوس على عنصر ما ويمكنك أنشاءة من خلال الخاصية ToolTipText لاى عنصر تحكم .....لكن اذا استخدمت تلك الطريقة مع عنصر التحكم listbox فسوف يظهر النص لعنصر التحكم ككل ....أما اذا اردت أن يظهر نص التليمح لكل عنصر من عناصر listbox فانك بحاجة الى متابعة الخطوات التالية :

_ فى قسم التصريحات العامة نكتب الكود التالى :

الرمز:

Private Type POINTAPI
    X As Long
    Y As Long
End Type

Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function LBItemFromPt Lib "COMCTL32.DLL" (ByVal hLB As Long, ByVal ptX As Long, ByVal ptY As Long, ByVal bAutoScroll As Long) As Long

Private m_TooltipText() As String
_ بعد ذلك نقوم بكتابة وظيفية للحصول على فهرس أو رقم index لكل عنصر من عناصر listbox الذى تقف عليه الماوس الان و ذلك على النحو التالى :

الرمز:
Public Function ItemUnderMouse(ByVal list_hWnd As Long, ByVal X As Single, ByVal Y As Single)
Dim pt As POINTAPI

    pt.X = X \ Screen.TwipsPerPixelX
    pt.Y = Y \ Screen.TwipsPerPixelY
    ClientToScreen list_hWnd, pt
    ItemUnderMouse = LBItemFromPt(list_hWnd, pt.X, pt.Y, False)
End Function
_ فى حدث التحميل للنافذة نقوم بكتابة الكود التالى و الذى يقوم بتخزين نصوص التليمح فى المتغير النصى m_TooltipText المراد اظهارها لكل عنصر حسب الرقم المفهرس على النحو التالى :

الرمز:
Private Sub Form_Load()
    ReDim m_TooltipText(-1 To List1.ListCount - 1)
    m_TooltipText(-1) = "Select an item"
    m_TooltipText(0) = "Apple fritters"
    m_TooltipText(1) = "Banana pie"
    m_TooltipText(2) = "Cherriers jubilee"
    m_TooltipText(3) = Date
    m_TooltipText(4) = "Ribbet"
    m_TooltipText(5) = ""
    m_TooltipText(6) = "Sorry, no help for you!"
End Sub
_ فى حدث List1_MouseMove نكتب الكود التالى و الخاص باظهار نص التلميح عند مرور الماوس على العنصر على النحو التالى :

الرمز:
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    List1.ToolTipText = m_TooltipText(ItemUnderMouse(List1.hwnd, X, Y))
End Sub
و النتيجة كما فى الشكل التالى :


المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 213
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية انشاء نص تلميح ToolTipText لكل عنصر من عناصر listbox

مُساهمة من طرف أحمد مناع في الثلاثاء نوفمبر 19, 2013 1:08 pm

أشكرك أخى الكريم على مقالاتك القيمة

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية انشاء نص تلميح ToolTipText لكل عنصر من عناصر listbox

مُساهمة من طرف ahmedismayl في الأحد يناير 19, 2014 4:15 pm

الاخوه الاعضاء سؤال لو سمحتو كثيرا ما يراودنى
اولا انا مبتدا كما قولت من قبل
والسؤال
هل المبرمج عليه ان يعلم كل هذه الاكواد ويفهمها ويحفظها عن ظهر قلب 
ام ان هناك عمليات كامله تتم بنسخ الكود ولصقه فى المكان الصحيح فى المشروع كمثل هذه الاكواد الخاصه بالتلميح

لانى كمبدا يحدث لى رهبه من كثرة هذه الاكواد مما يشعرنى بالهزيمه امامها حيث انى لا افهمها 

فهل هذا الاحساس طبيعى ولا اهتم به واركز فقط على الاكواد المباشرة لعملى وهدفى اما ماذا 

ارجو الرد - فكثيرا ما يصيبنى الاحباط امام هذا الكم من الاكواد والتى اجد انه من المناسب تجاهلها وأأخذها نسخ ولصق 

ارجو الرد

ahmedismayl
..
..

تاريخ التسجيل : 15/01/2014
المساهمات : 24
النقاط : 30
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية انشاء نص تلميح ToolTipText لكل عنصر من عناصر listbox

مُساهمة من طرف NEXT في الإثنين يناير 20, 2014 7:23 am

ahmedismayl كتب:الاخوه الاعضاء سؤال لو سمحتو كثيرا ما يراودنى
اولا انا مبتدا كما قولت من قبل
والسؤال
هل المبرمج عليه ان يعلم كل هذه الاكواد ويفهمها ويحفظها عن ظهر قلب 
ام ان هناك عمليات كامله تتم بنسخ الكود ولصقه فى المكان الصحيح فى المشروع كمثل هذه الاكواد الخاصه بالتلميح

لانى كمبدا يحدث لى رهبه من كثرة هذه الاكواد مما يشعرنى بالهزيمه امامها حيث انى لا افهمها 

فهل هذا الاحساس طبيعى ولا اهتم به واركز فقط على الاكواد المباشرة لعملى وهدفى اما ماذا 

ارجو الرد - فكثيرا ما يصيبنى الاحباط امام هذا الكم من الاكواد والتى اجد انه من المناسب تجاهلها وأأخذها نسخ ولصق 

ارجو الرد


الموضوع ليس حفظ الاكواد وانمها فهمها ....و طالما انت فهمت الكود يمكنك استخدمة باى طريقة لتؤدى نفس الغرض ....فمثلا من المعروف أنه لمسح قيمة مربع النص يتم استخدام الكود التالى :

الرمز:
Text1.Text = ""

وتخيل لو لديك أكثر من 5 مربعات نص فإن كنت حافظ الكود ستقوم بكتابة على النحو التالى :

الرمز:
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""

وهنا افترض ان عدد مربعات النصوص 6 فقط تخيل لو كانت 20 مربع نص مثلا ....لكنك يمكنك استخدام سطرين أو ثلاثة على الاكثر لمسح جميع مربعات النص اللى موجودة على النموذج على النحو التالى :

الرمز:
Dim obj As Control
For Each obj In Me
If TypeOf obj Is TextBox Then
obj.Text = ""
End If
Next obj

اذن المطلوب فهم الكود ومن ثم تقوم بتنفيذة بالطريقة التى تعجبك


NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 378
التقيم : 10
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى