View Full Version : آموزش ساخت Button
hossein71
شنبه 29 خرداد 1389, 11:37 صبح
سلام دوستان عزیز
می خواستم بیبنم چطوری میشه یک button ساخت که وقتی موس روی قسمتی از اون میره عکس button عوض بشه و وقتی موس روی button نیست عکسش به حالت اولیه برگرده؟(سرچ کردم اما بدردم نخورد)
parselearn
شنبه 29 خرداد 1389, 12:32 عصر
كنترلي كه در اينجا هست
http://barnamenevis.org/forum/showpost.php?p=958021&postcount=379
كنترلي داره به نام Mouse Out كه مي تونيد ازش استفاده كنيد
aryasoft2872
شنبه 29 خرداد 1389, 13:55 عصر
با اکتیوایکس sonic clickultra:
پست مربوطه (http://www.barnamenevis.org/forum/showpost.php?p=995529&postcount=383)
hossein71
شنبه 29 خرداد 1389, 14:43 عصر
كنترلي كه در اينجا هست
http://barnamenevis.org/forum/showpo...&postcount=379
كنترلي داره به نام Mouse Out كه مي تونيد ازش استفاده كنيد
اگر درباره کد های نوشته در بخش Mouse Out توضیحاتی بدید خیلی ممنون میشم.
parselearn
شنبه 29 خرداد 1389, 15:42 عصر
شما با كدهاي داخل كنترل كاري نداشته باشيد
براي نسبت دادن يك كنترل و زير نظر گرفتنش اين طوري عمل كنيد
مثلا PictureBox (كنترل بايد داراي Hwnd باشه)
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MOut.LookFor Picture1
End Sub
بعد از نسبت دادن مي تونيد با رويدادهاي كنترل كار كنيد
Private Sub MOut_Click()
Caption = "Click"
End Sub
Private Sub MOut_MouseOut()
Caption = "Mouse Out"
End Sub
Private Sub MOut_MouseOver()
Caption = "Mouse Over"
End Sub
hossein71
شنبه 29 خرداد 1389, 17:08 عصر
ضمن تشکر از parselearn.
من می خوام خودم یک کنترل بسازم که ویژگی های پست 1 رو داشته باشه و داخل فرم نیازی به تحت نظر گرفتنش نباشه.
parselearn
شنبه 29 خرداد 1389, 18:18 عصر
كنترل Mouse Out رو شما در User Control استفاده مي كنيد
و كاربر اونو نمي بينه
در ضمن كنترلهاي VB6 خصوصيتي براي Mouse Out ندارند و بايد شبيه سازي بشوند
خصوصيت Public كنترل MO رو تغيير بديد
خروجي هم ocx باشه كاربر كنترل ديگري رو نمي بينه
موفق باشيد
hossein71
شنبه 29 خرداد 1389, 20:12 عصر
من دوتا Image دارم که که روی همدیگه قرار دارند.حالا من می خوام وقتی موس رفت روی Image ،عکس اولی ناپدید و عکس دومی ظاهر بشه و اگر موس کنار رفت به حالت اولیه برگرده.
من با کد زیر این کارو کردم اما کنترل هاشوری میشه و ارور میده.اگر اینم جواب بدید شرمندتون میشم.
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseOut1.LookFor Image1
End Sub
Private Sub MouseOut1_MouseOver()
Image1.Visible = False
Image2.Visible = True
End Sub
http://up.iranblog.com/Files/4dd49e3cf82e4831b8b5.jpg
parselearn
شنبه 29 خرداد 1389, 20:47 عصر
(كنترل بايد داراي Hwnd باشه)
hossein71
شنبه 29 خرداد 1389, 22:30 عصر
Hwnd چیه؟کجاست؟
parselearn
یک شنبه 30 خرداد 1389, 02:14 صبح
منظورم هندل هست
كه كنترلهايي مانند PictureBox يا ComandButton داره
و كنترل ImageBox نداره
البته اين به خاطر اينه كه اين كد با اين خاصيت كار مي كنه
Command1.Hwnd
hossein71
یک شنبه 30 خرداد 1389, 07:34 صبح
آخه این عکسی می خوام برای دکمم انتخاب کنم دایره ای شکله و دورش نامرئی هست و این خصوصیت فقط با Image قابل انجامه.(در PictureBox دور عکس سفید میشه)
در تاپیک دیگری یکی از دوستان گفته بودن که از Lavolpe Alpha Image Control استفاده کنم اما پیداش نکردم.
earse+erse
یک شنبه 30 خرداد 1389, 10:35 صبح
...اما پیداش نکردم.
بیا عزیز دل برادر
بهترین نوع اکتیواکس برای کار با PNG هستش و امکان حرکت دادن هم داره و هندل هم داره
اگه به دردت خورد برام دعا کن امتحان ها خراب نکرده باشم!
با تشکر
parselearn
یک شنبه 30 خرداد 1389, 11:33 صبح
http://barnamenevis.org/forum/showthread.php?p=594839&highlight=png#post594839
http://barnamenevis.org/forum/showthread.php?p=740004&highlight=png#post740004
http://barnamenevis.org/forum/showthread.php?p=865848&highlight=png#post865848
http://barnamenevis.org/forum/showthread.php?p=995529&highlight=png#post995529
hossein71
یک شنبه 30 خرداد 1389, 13:57 عصر
این کنترل رو چگونه وارد کنترل خودم بکنم.(AlphaImageControl.ocx رو نمیزاره وارد کنترل خودم بکنم ارور میده)
earse+erse
یک شنبه 30 خرداد 1389, 16:15 عصر
این ته کمکیه که می تونم بهت بکنم
hossein71
یک شنبه 30 خرداد 1389, 16:29 عصر
یک سوال بسیار بسیار مبتدیانه:وقتی فایل ctl رو وارد پروژه ام میکنم وقتی میخوام ازش فایل ocx درست کنم به جای اون فایل exe درست میکنه و هنگام سیو کردن پروژه هم به خطی خاص گیر میده.
earse+erse
یک شنبه 30 خرداد 1389, 16:35 عصر
یک سوال بسیار بسیار مبتدیانه:وقتی فایل ctl رو وارد پروژه ام میکنم وقتی میخوام ازش فایل ocx درست کنم به جای اون فایل exe درست میکنه و هنگام سیو کردن پروژه هم به خطی خاص گیر میده.
تو باید Project Type پروژه ات رو از Standard EXE به ActiveX Control تغییر بدی
رو آیکون پروژه از درون ابزار Project کلیک راست کن و Project Properties رو انتخاب کن و کار های بالا رو انجام بده.
:بوس:
hossein71
یک شنبه 30 خرداد 1389, 20:26 عصر
وقتی می خوام خروجی ocx بگیرم.ارورمیده میگه F1 رو بزن.وقتی F1 رو میزنم ارور MSDN میده.
parselearn
دوشنبه 31 خرداد 1389, 01:33 صبح
خصوصيت Public را تغيير دهيد.
(اين يكي از مشكلات در اين مواقع است، ممكنه اشكال از جاي ديگه اي باشه)
hossein71
دوشنبه 31 خرداد 1389, 07:34 صبح
وقتی خاصیت public رو True کردم دیگه ارور بالا رو نمیده اما یه پیغام دیگه میده و به خط 268(Implements ICrossComm) گیر میده.
http://up.iranblog.com/Files/cec5bec9824643cba14a.png
parselearn
دوشنبه 31 خرداد 1389, 11:28 صبح
بعضي خصوصيات هستند كه نمي تونند Public باشند
(فكر مي كنم شما از LaVolpe AlphaImage Control.zip (http://barnamenevis.org/forum/%C3%99%C2%84) استفاده ميكنيد. قبلا چنين مشكلي رو من داشتم)
hossein71
دوشنبه 31 خرداد 1389, 11:33 صبح
راه حلش چیه؟
parselearn
دوشنبه 31 خرداد 1389, 12:18 عصر
من راه حلي براي اين مساله ندارم :ناراحت:
hossein71
دوشنبه 31 خرداد 1389, 12:23 عصر
شما در پست های بالا فرمودین قبلا این مشکلو داشتین،مشکلتون چطوری حل شد؟
parselearn
دوشنبه 31 خرداد 1389, 13:11 عصر
من مجبور شدم از پايه كنترلم رو خودم بنويسم
كه نمونش اينجا هست
http://barnamenevis.org/forum/showpost.php?p=958021&postcount=379
amir200h
دوشنبه 31 خرداد 1389, 15:58 عصر
سلام دوستان عزیز
می خواستم بیبنم چطوری میشه یک button ساخت که وقتی موس روی قسمتی از اون میره عکس button عوض بشه و وقتی موس روی button نیست عکسش به حالت اولیه برگرده؟(سرچ کردم اما بدردم نخورد)
امیدوارم به کارت بیاد
تشکر یادت نره:قلب:
hossein71
چهارشنبه 02 تیر 1389, 19:51 عصر
ضمن تشکر بسیار از دوستان عزیز،جناب
amir200h,aryasoft2872,parselearn,earse+erse
با راهنمایی هایی که دوستان فرمودن من امتحان کردم و با شی Picture جواب داد اما انگار شی LaVolpe AlphaImage Control خاصیت Hwnd نداره چون ارور میداد و کامپوننت رو هاشوری می کرد.
hossein71
پنج شنبه 03 تیر 1389, 00:01 صبح
بالاخره مشکلم حل شد.:لبخندساده:
در لینک زیر(بخش ابزارهای اکتیوایکس کاربردی و زیبا) که براتون گذاشتم همه خصوصیاتی که می خواستم داره.
ویژگی ها:
1-خاصیت Hwnd
2-خاصیت Streatch
3-محو کردن اطراف عکس(ساخت دکمه با اشکال متفاوت)
نام کنترل:hbAniGIF.ocx
http://www.barnamenevis.org/forum/showthread.php?t=78376&highlight=gif&page=26
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.