Отмена правой кнопки

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Vol_12
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 30.04.2006 (Вс) 18:53
Откуда: Mos

Отмена правой кнопки

Сообщение Vol_12 » 14.06.2006 (Ср) 1:42

Помогите пожалуйста. Мне надо, чтобы в TextBox при нажатии правой кнопки мыши не отображалось никаких меню и вообще ничего. Я все облазил, нигде нет ничего похожего.
Заранее спасибо.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 14.06.2006 (Ср) 2:04

Искал, говоришь?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

IIIypuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 10.06.2006 (Сб) 12:39

Сообщение IIIypuk » 14.06.2006 (Ср) 15:32

В модуле:

Код: Выделить всё
Option Explicit
'===============   Api
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" ( _
        ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, _
        ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
        ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

'===============   Const
Const GWL_WNDPROC = -4
Public Const WM_RBUTTONUP = &H205

'===============   Var
Public prevWnd As Long
Dim tphWnd As Long


Public Sub Hook(hWnd As Long)

    tphWnd = hWnd
    prevWnd = SetWindowLong(tphWnd, GWL_WNDPROC, AddressOf WindowProc)

End Sub

Public Sub UnHook()
Dim lngVal As Long

    lngVal = SetWindowLong(tphWnd, GWL_WNDPROC, prevWnd)
   
End Sub

Private Function WindowProc(ByVal hW As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

    Select Case Msg
        Case WM_RBUTTONUP
            ' Здесь мона показать своё меню
        Case Else
            WindowProc = CallWindowProc(prevWnd, hW, Msg, wParam, lParam)
    End Select

End Function


В коде формы:
Код: Выделить всё
Option Explicit


Private Sub Form_Load()

    Call Hook(Text1.hWnd)

End Sub

Private Sub Form_Unload(Cancel As Integer)

    Call UnHook

End Sub


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

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

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

    TopList