Мышь

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Мышь

Сообщение miller_aa » 15.05.2006 (Пн) 10:47

Извините может вам покажется мой вопрос глупым .

у меня есть код от кнопки пример
public sub command3_click()

'и мне нужно
if number=1 and нажатие клавиши мышипо команд4. then
msgbox"COO"
end if


какой командой определить нажаьие мышей на кнопку ?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 15.05.2006 (Пн) 10:51

Не понял? Нажатие какой кнопки надо определить? Кнопки в смысле Command или кнопки мышиной (левая, правая, средняя)?
Весь мир матрица, а мы в нем потоки байтов!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 10:53

Не очень понятно сформулирован вопрос. Точнее вообще непонятно.
А я все практикую лечение травами...

sl-shem
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.03.2006 (Пт) 11:41

Сообщение sl-shem » 15.05.2006 (Пн) 10:54

одновременно 2 кнопки нажать не получиться! А вот если command4 кнопка типа ChekBox тогда можно проверять нажата или нет!!!

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 10:55

Ну как через if указать нажатие мыши ?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 15.05.2006 (Пн) 10:56

miller_aa
Так не получится.

Одновременно две CommandButton нельзя нажать. Или нужно узнать, была ли нажата эта кнопка ранее?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 15.05.2006 (Пн) 10:57

Формулируй точнее, что тебе надо!
Весь мир матрица, а мы в нем потоки байтов!

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 10:59

If vars < 8 Then
Label1 = question2_group1
Command3.Caption = 31
Command4.Caption = 42
Command5.Caption = 12
Command6.Caption = 32
End If



Скажем Command4 явлется правильным ответом как сделать что бы при нажатии выполнялось действии скажем msgbox
.................GORODEC.COM......................

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 15.05.2006 (Пн) 11:03

ээээ а что код типа:

Private Sub Command4_Click()
MsgBox "Зачот!"
End Sub

не катит?
Весь мир матрица, а мы в нем потоки байтов!

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 11:05

Нет мне ужно при определеном значение это будет игра типа о счатливчика ,

смысал такой генерируется определеное число к нему вопросы , к вопросам база правильных и не правильных значений выраженых на
Command3.Caption
Command4.Caption
Command5.Caption
Command6.Caption
.................GORODEC.COM......................

sl-shem
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 17.03.2006 (Пт) 11:41

Сообщение sl-shem » 15.05.2006 (Пн) 11:08

Ну так записывай с command.tag признак правильный/неправильный и после нажатия проверяй!!!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 11:09

Совет: используй массив контролов, будет легче.
Кажись начинаю тебя понимать. Объяви переменную и храни в ней номер кнопки "с правильным ответом". А по нажатию на одном из элементов массива (для всех обработчик один) сверяй индекс и эту самую переменную.
А я все практикую лечение травами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 15.05.2006 (Пн) 11:13

Пишешь массив контролов, запоминаешь номер "правильной" кнопки и код нажатия будет такой:

Код: Выделить всё
Private nOkNumber as Integer
Private Sub Command_Click(Index As Integer)
If Index = nOkNumber Then
MsgBox "Зачот!"
Else
MsgBox "неЗачот!"
End If
End Sub
Последний раз редактировалось Viper 15.05.2006 (Пн) 11:21, всего редактировалось 1 раз.
Весь мир матрица, а мы в нем потоки байтов!

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 11:13

А кажется понял ты имееш ввиду скажем так при обращение не посрественно к кнопке что бы кнопка проверяла значения верности хм. сейчас поробую
.................GORODEC.COM......................

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 11:18

А как делать гловальную переменую ,может не правильно спросил как использовать переменную в 2 Private
.................GORODEC.COM......................

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 11:20

Объяви как public.
А я все практикую лечение травами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 15.05.2006 (Пн) 11:22

Глобаальная переменная - Public, а вот что это такое?
miller_aa писал(а): как использовать переменную в 2 Private
Весь мир матрица, а мы в нем потоки байтов!

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 11:24

Хм странно.
Что я сделал
ДОбавил 2 переменные
Dim num As Integer
Dim vop As Integer


добавил их в код
If vars < 8 Then
num = 1
vop = 2
Label1 = question2_group1
Command3.Caption = 31
Command4.Caption = 42
Command5.Caption = 12
Command6.Caption = 32
End If


перешел коду кнопке
Private Sub Command3_Click()
If num = 1 And vop = 2 Then
MsgBox "COOL"
End If
End Sub

и не какой реакции ?? Может что то не так 7
.................GORODEC.COM......................

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 11:26

А где массив контролов и соответственно сравнение с индексом?
А я все практикую лечение травами...

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 11:27

Вот весь код
Public Sub Command3_Click()
If num = 1 And vop = 2 Then
MsgBox "COOL"
End If
End Sub

Public Sub Command7_Click()
Dim question1_group1 As String
Dim question2_group1 As String
Dim question3_group1 As String
Dim question4_group1 As String
Dim question5_group1 As String
Dim group1 As Integer
Dim vars As Single
Dim num As Integer
Dim vop As Integer
question1_group1 = "Ñêîëüêî ó âàñ ïàëüöåâ?"
question2_group1 = "Ñêîëüêî áóêâ â ðóññêîì àëôàâèòå?"
question3_group1 = "Ñêîëüêî ìåñÿöåâ â ãîäó?"
question4_group1 = "×òî íå ÿâëÿåòñÿ ÿçûêîì ïðîãðàìèðîâàíèÿ?"
question5_group1 = "Íå ðîäèñü êðàñèâîé ýòî ?"
vars = Rnd * 10
If vars > 7 Then
Label1 = question1_group1
Command3.Caption = 4
Command4.Caption = 6
Command5.Caption = 5
Command6.Caption = 8
End If
If vars < 8 Then
num = 1
vop = 2
Label1 = question2_group1
Command3.Caption = 31
Command4.Caption = 42
Command5.Caption = 12
Command6.Caption = 32
End If
If vars < 1 Then
Label1 = question2_group1
End If
Text1.Text = vars
End Sub
.................GORODEC.COM......................

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 11:31

Повторяю - у тебя нет массива элементов. Иначе зачем мы вводим переменную?
А я все практикую лечение травами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 15.05.2006 (Пн) 11:32

Дык, елы палы, где массив контролов то?
Весь мир матрица, а мы в нем потоки байтов!

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 11:58

Я что то не пойму (я новечек в ВБ) вы имеете ввиду про такой массив

dim quastions(1 to 4) as integer
.................GORODEC.COM......................

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 12:04

Нет, массив CommandButton-ов... :?
А я все практикую лечение травами...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 12:06

Посмотри свойство Index у какого-нибудь контрола...
А я все практикую лечение травами...

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 12:10

а понял как он работает , остался один вопрос у меня переменные почемуто не взаимодействуют может не достаточно толька public
.................GORODEC.COM......................

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 12:12

Что значит не взаимодействуют? Отказали чтоль? :lol:
А я все практикую лечение травами...

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 12:16

Ну примерно так

Public Sub voprosy()
Dim num As Integer
num = 10
End Sub
....................................

Public Sub Command7_Click()
Text1.Text = num
End Sub

По идее num должен будет выводится в Text1.Text
а там не чё не выводится ((( :(
.................GORODEC.COM......................

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.05.2006 (Пн) 12:21

Нужно num объявлять не в процедуре, а в заголовке модуля:
Код: Выделить всё
Public num As Integer

Public Sub voprosy()
num = 10
End Sub
'....................................

Public Sub Command7_Click()
Text1.Text = num
End Sub
Последний раз редактировалось Twister 15.05.2006 (Пн) 12:33, всего редактировалось 3 раз(а).
А я все практикую лечение травами...

miller_aa
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 15.05.2006 (Пн) 10:28
Откуда: Нижний Новгород

Сообщение miller_aa » 15.05.2006 (Пн) 12:30

О спасибо все работает
.................GORODEC.COM......................

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 108

    TopList