PDA

View Full Version : focus



mohsenaminzare
جمعه 17 فروردین 1386, 00:35 صبح
می خواهم برنامه ای بنویسم که در هر یک از فرمهای آن با زدن دکمه TAB ، TEXTBOX بعدی فعال و رنگ پس زمینه آن نیز عوض شود ؟

mehran8
جمعه 17 فروردین 1386, 01:19 صبح
سلام
می تونی از خاصیت GotFocus شی Textbox استفاده کنی .

مثلاً :

Private Sub Text1_GotFocus()
Text1.BackColor = vbRed
End Sub

sohrab o
جمعه 17 فروردین 1386, 20:06 عصر
دکمه TEXTBOX ? یعنی چی ؟ کامل توضیح بده البته اگه جواب نگرفته باشی

mohsenaminzare
دوشنبه 20 فروردین 1386, 18:22 عصر
بله متاسفانه جواب نگرفتم.

میخوام در یک فرم که مثلا دارای 3 ، textbox است کاری کنم که با زدن دکمه ی tab رنگ پس زمینه آن عوض شود و بعد از این focus از آن رفت دوباره به رنگ قبلی خود برگردد.
:قلب:

romina2006
دوشنبه 20 فروردین 1386, 21:38 عصر
Private Declare Function GetKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
Const VK_TAB = &H9
Dim keystate As Integer
Private Sub Text1_GotFocus()
keystate = GetKeyState(VK_TAB)
If keystate And &H8000 Then Text1.BackColor = vbBlue
End Sub
Private Sub Text1_LostFocus()
keystate = GetKeyState(VK_TAB)
If keystate And &H8000 Then Text1.BackColor = vbWhite
End Sub


در کد بالا فقط با زدن کلید Tab رنگ پس زمینه تغییر خواهد کرد

mehran8
سه شنبه 21 فروردین 1386, 21:32 عصر
آقا روشی که من گفتم ساده تر بود که
دیگه ابتکارش با خودته
می تونی مثلاً توی همون خاصیت GotFocus شی text1 بنویسی :
text1.backcolor=vbred
text2.backcolor=vbwhite
text3.backcolor=vbwhite

بعد توی خاصیت GotFocus شی بعدی
text1.backcolor=vbwhite
text2.backcolor=vbred
text3.backcolor=vbwhite

به همین ترتیب تا آخر

البته این روشی خیلی خیلی ساده و پیش افتادشه

علی جباری
چهارشنبه 22 فروردین 1386, 08:43 صبح
فکر کنیم این برنامه بد نباشه. علاوه بر کلید Tab کلیدهای Enter و جهت بالا و پایین هم کار میکنه در ضمن خودت میتونی هر کلید دیگری رو هم اضافه کنی.