Здравствуйте!
Событие Object_Click состоит из двух: Object_MouseDown и Object_MouseUp. Соответствующие и процедуры. Надеюсь, я прав.
Как сделать, чтобы по ЩЕЛЧКУ (кратковременному) ЛЕВОЙ (!!!) кнопкой на объекте выполнялась процедура Object_Click(), при MouseDown и MouseUp ПРАВОЙ кнопкой выполнялись соответственно Object_MouseDown() и Object_MouseUp()?
В проекте в массиве объектов Image по щелчку ЛЕВОЙ кнопкой по одному из них он становится активным (правильно, нет сказал?), т.е. в процедуре Object_Click() обрабатывается индекс объекта, затем на нем же нужно нажать и удерживать несколько секунд ПРАВУЮ кнопку, в это время выполняется Object_MouseDown(), которая
включает счетчик времени, потом отпустить кнопку, после чего выполняется Object_MouseUp(), которая сохраняет значение счетчика в соответствующей ТОЛЬКО ЭТОМУ элементу массива Image переменной. Левая и правая кнопки нажимаются НЕ одновременно.
При повторных действиях нужно, чтобы все повторялось для следующего по очереди объекта, не передвигая курсор
(для удобства юзера) пока не будут пройдены все объекты. Я столкнулся с тем, что при выполнении щелчка все получается,
но, если оставить курсор на прежнем объекте, и при длительном удержании правой кнопки на следующем в массиве Image
выполняется не _MouseDown() и _MouseUp() для него, а _Click() для предыдущего, и он становится снова "активным", и для него сохраняется время нажатия правой кнопки на последующем.
Когда курсор не находится на объекте Image, все выполняется как нельзя лучше.
В _Click() нужно распознать, какая клавиша нажата? Типа -
IF левая кнопка then
делаем активным объект Image
ELSE
_MouseUp()
EXIT SUB
END IF
Или не так?
Хотел делать различия по номеру нажатой кнопки, но в процедуре _Click() есть только индекс объекта, и не распознается, какая кнопка нажата - левая или правая, как в процедурах _MouseDown() и _MouseUp()?
Короче, вусмерть запутался.
С уважением - Dummiel