PDA

View Full Version : سوال: تغییر رنگ متن دکمه با حرکت ماوس روی آن



علیرضا5
شنبه 25 مهر 1394, 23:02 عصر
با سلام
فرض کنید در رویداد mouse move یک باتون می نویسیم for color باتون که مثلا سیاه است قرمز شود
چطور میشه کاری کرد که وقتی موس از روی باتون کنار میره باتون به رنگ قبلیش برگرده

samiasoft
یک شنبه 26 مهر 1394, 01:00 صبح
Private Sub Command_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Command.BackColor = vbRed

End Sub


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Command.BackColor = vbGreen


End Sub

علیرضا5
یک شنبه 26 مهر 1394, 15:36 عصر
samiasoft عزیر باتشکر
این که در رویداد فرم کد نوشتید رو می دونستم اگه سوال رو با دقت بخونید منظورم اینه که وقتی mose move روی باتون تمام شد این کار انجام بشه

این کدی که شما نوشتی عیبش اینه که گاهی وقتا اطراف باتون چند شی دیگه هم هست پس باید در mose move همه اشیا هم علاوه بر فرم Command.BackColor = vbGreen رو بنویسی
البته میشه ولی راه استانداردی به نظر نمیرسه
من دنبال کدی هستم که خود باتون علاوه بر این که mose move رو تشخیص میده un mose move رو هم تشخیص بده

samiasoft
یک شنبه 26 مهر 1394, 17:55 عصر
یه راهی که به ذهنم میرسه اینه که از کامپونتی که دارای رویداد MouseEnter و MouseExit در برنامتون استفاده کنید.

برای مثال کامپونت alpha image control رو که فک کنم داشته باشید. بعد از اوردن ابجکتش روی فرم میتونید دکمتون رو روی اون قرار بدید.بعد براش اینطور تعریف کنید که :

Private Sub aicAlphaImage1_MouseEnter()
Command1.BackColor = vbGreen
End Sub


Private Sub aicAlphaImage1_MouseExit()
Command1.BackColor = vbRed
End Sub



در این حالت دیگه مجبور نیستید روی فرم هم خواصی رو تعریف کنید. فقط باید در پشت زمینه هر ابجکت اینو قرار بدید.

اگر دوستان راه حل بهتری داشتند راهنمایی کنند.

roo.row
پنج شنبه 03 دی 1394, 15:19 عصر
با سلام

می تونید با استفاده از یک تایمر x و y موس رو چک کنید که دیگه نیازی هم به کامپوننت نباشه
در کل می تونید هر چند میلی ثانیه مکان موس رو چک کنید
به این صورت که آیا y موس بین y اتون x+height باتون قرار دارد با خیر
به این صورت که آیا x موس بین x اتون x+width باتون قرار دارد با خیر

با تشکر