|
Использование Images вместо CommandButton |
|
|
Очень часто вместо обычных кнопок используются картинки. Т.е. существует всего три картинки - одна на которую будут жать (img1), вторая отжатая (img2) и третья нажатая (img3) (img2 и img3 - невидимы). Делаем это так: Private Sub Form_Load()
'при загрузке формы картинка 1 принимает вид
картинки 2 (отжатая)
img1.Picture = img2.Picture
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
'при нажатии мышкой на картинку 1, она принимает
вид картинки 3 (нажатая)
img1.Picture = img3.Picture
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'при отпускании кнопки мышки картинка 1, она снова
принимает вид картинки 2 (отжатая)
img1.Picture = img2.Picture
End SubЭтот приём знает каждый... Но есть в нём один
недостаток, а именно: при серии непрерывных
кликов на объект картинка почему-то реагирует
через раз. Т.е. то нажмётся, то не нажмётся. Так вот
вот сам совет :-) : чтобы этого избежать в событие
Image1_MouseDown нужно вставить строку
SendKeys "A"
Т.е. картинке одновременно посылается нажатая
клавиша. Почему так, понять не могу сам. Но в
скобках, конечно же, не важна буква "A" - там
может стоять и В и С. Главное само событие. Если
кто-нибудь может дать этому вразумительное
объяснение - давайте! Заранее
благодарю!
|
|
|
|
|
|
|