چطوری میشه به یک نوشته یا همون برچسب( Label خودمون) لینک بدم مثل لینک سایت و ایمیل و کلاً لینک های اینترنتی ...
Printable View
چطوری میشه به یک نوشته یا همون برچسب( Label خودمون) لینک بدم مثل لینک سایت و ایمیل و کلاً لینک های اینترنتی ...
دوست عزیز
سوال شما از دو جنبه قابل بحثه:
1. طراحی شکل ظاهری برچسب که احیانا می خواین حالت یه Hyperlink رو داشته باشه،
2. پاسخگویی به کلیک کاربر روی برچسبی که لینک به سایت اینترنتی یا آدرس ای میل مورد نظر شماست.
مورد 1--------------------
چون برای ایجاد یه Hypelink در VB 6.0 کنترل مخصوص یا چیز دیگه ای گنجانده نشده، دو راه وجود داره:
A. می تونین یه کنترل آماده که برای اینکار طراحی شده، از آدرس های زیر دانلود کنین و اون رو به کنترلهای برنامتون اضافه کنی و بجای Label معمولی ازش استفاده کنین:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
B. با کمی کدنویسی برای کنترل Label می تونین شکل و شمایل یه Hyperlink بهش بدین. که البته من این یکی رو پیشنهاد می کنم، چونکه دیگه نیازی نیشت برنامتون هر جا رفت، اون کنترل اضافی هم باهاش بره. :) :
کافیه یه Label معمولی (اینجا برای مثال اسمش lblEmail هست) روی فرمتون بندازین و کد زیر رو براش در فرمتون بنویسین:
مورد 2--------------------
برای Browse کردن یه وب سایت یا راه اندازی برنامه ارسال ای میل می تونین از تابع ShellExecute استفاده کنین، که باید با دستو زیر اون رو در سطح ماژول(در بالای فرمتون یا درون یه ماژول) Declare کنین:
حالا به کد زیر توجه کنین:کد:Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
همینطور که می بینین با نوشتن کد بالا، وقتی که کاربر نشانگر ماوس رو روی این برچسب نگه می داره، فونت برچسب دقیقا مثل یه Hyperlink درشت و زیرخط دار می شه و رنگش هم عوض می شه. با کلیک کاربر، تابع ShellExecute نرم افزار ارسال ای میل پیش فرض ویندوز رو فعال می کنه تا به آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ای میل ارسال کنه.کد:Private Sub lblEMail_Click()
ShellExecute Me.hwnd, vbNullString, "mailto: info@P30World.com", vbNullString, "c:\", 1
End Sub
Private Sub lblEMail_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
If lblEMail.Font.Underline = False Then
lblEMail.ForeColor = &HFF0000
lblEMail.Font.Underline = True
lblEMail.Font.Bold = True
End If
End Sub
*بجای آدرس ای میل، می تونین آدرس سایت موردنظرتون رو هم بذارین.
فقط یه موردی که نباید فراموش کنین اینه که وقتی کاربر ماوس رو از روی برچسب کنار ببره، شکل برچسب باید به حالت عادی یه Hyperlink در بیاد. برای اینکار چون برای Label رویدادی بنام MouseOut نداریم، مجبوریم کد زیر رو در رویداد MouseMove فرم و یا یه Container دیگه که برچسب رو درونش قرار دادیم مثل Frame بنویسیم:
کد:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
If lblEMail.Font.Underline = True Then
lblEMail.Font.Underline = False
lblEMail.ForeColor = &HA54119
lblEMail.Font.Bold = False
End If
End Sub
بابت همه چي ممنون خيلي استفاده كردم از مطالبتون ...