Const WM_RBUTTONDOWN = &H204
Dim h As Long
Call SendMessageA(h, WM_RBUTTONDOWN, 0, 0)
Вызов контекстного меню программно
Короче мне надо програмно вызвать контекстное меню. Я делаю так:
Код:
Меню выскакивает не там где курсор мышки, а где угодно. Как сделать что б оно выскочило в указаных координатах?
тоесть чтото вроде того:
Код:
SendMessage(h, WM_RBUTTONDOWN, 0, MAKELONG(x,y));
Это если на С, VB не знаю, сказать не могу.
Жаль, мне как раз на VB и надо.
<y> <сдвиг влево на 16 бит> + <x>
Вроде если так то
Код:
SendMessage(h, WM_RBUTTONDOWN, 0, y shl 16 + x);
А по подробнее?
Я плохо знаю VB (даже почти не знаю), трудно сказать как она там, но скорее всего SHL, на C - <<
Обьясни как ето матиматичаски происходит? Потому что в VB такой ф-ции нет.
Код:
SendMessage(h, WM_RBUTTONDOWN, 0, y * 65536 + x);
Умножил.. С осью X все в порядке, а вот ось Y почему-то больше чем недо на пикселов сорок...