Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Контекстное меню... / 10 сообщений из 10, страница 1 из 1
20.05.2004, 12:58
    #32525856
AloneWarlock
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
Пожалуйста объясните, как программно сделать контекстное меню, которое надо повесить на определенное поле и относительно выбронного значения выполнять какую-то процедуру? Голова от мая совсем не варит
...
Рейтинг: 0 / 0
20.05.2004, 13:03
    #32525876
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
Какая версия Access'а?
...
Рейтинг: 0 / 0
20.05.2004, 13:16
    #32525927
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
Ладна, предположим, что Access2002-2003 (насчёт 2000 и 97 не знаю).
Подкючаешь Microsoft Office XX.0 Object Library
там есть объект CommandBar

вот примерный код (скопировал из своей проги), надеюсь разберёшся что к чему.
Купи Гетца, или достань CD от второго тома, там это подробно расписано ;)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
Dim cbr As CommandBar

Dim WithEvents cbrHistory As CommandBarButton
Dim WithEvents cbrDepozit As CommandBarButton


public sub AAAA()
 Dim qd As DAO.QueryDef
 Dim rst As DAO.Recordset
 Dim x As Long
 Dim Kopa As Single
 Dim cbrButActionDelete As CommandBarButton
 Dim cbrButActionEdit As CommandBarButton
 Dim cbrCaption As CommandBarButton
 Dim cbrBut As CommandBarPopup

        Set qd = CurrentDb.QueryDefs("_GetDebtPaymentsList")
        qd!parUserID = globalContractOperationUserID
        qd!parContractID = globalContractID
        qd!parOperationID = globalContractOperationID
        
        On Error Resume Next
            cbr.ShowPopup
            CommandBars("Debts").Delete
        On Error GoTo  0 
        
        Set cbr = CommandBars.Add("Debts", Position:=msoBarPopup, Temporary:=False)
        
        Set cbrHistory = cbr.Controls.Add(msoControlButton, , ,  1 , True)
        cbrHistory.Caption = "Parada maksajums"
        cbrHistory.FaceId =  1643 
        
        If DebtSum =  0  Then
            cbrHistory.Enabled = False
        Else
            cbrHistory.Enabled = True
        End If
        
        Set rst = qd.OpenRecordset(, dbOpenForwardOnly)
        x =  2 
        Kopa =  0 
        If rst.RecordCount >  0  Then
            Set cbrCaption = cbr.Controls.Add(msoControlButton, , , x, True)
            cbrCaption.Caption = "Parada maksajuma vesture"
            cbrCaption.FaceId =  487 
            cbrCaption.BeginGroup = True
           
            Do While Not rst.EOF
                
                x = x +  1 
                Kopa = Kopa + rst!PaymentSum
                
                Set cbrBut = cbr.Controls.Add(msoControlPopup, , rst!DebtPaymentID, x, True)
                cbrBut.Caption = rst!PaymentDate & "  " & Format(rst!PaymentSum, "0.00") & "Ls  " & IIf(rst!PaymentConfirmed, "+", "-")
              
                Set cbrButActionEdit = cbrBut.Controls.Add(msoControlButton, , rst!DebtPaymentID)
                cbrButActionEdit.Caption = "Rediget"
                cbrButActionEdit.FaceId =  2042 
                cbrButActionEdit.OnAction = "=ActionEdit()"
                cbrButActionEdit.Parameter = rst!DebtPaymentID
                
                Set cbrButActionDelete = cbrBut.Controls.Add(msoControlButton, , rst!DebtPaymentID)
                cbrButActionDelete.Caption = "Dzest"
                cbrButActionDelete.FaceId =  1088 
                cbrButActionDelete.OnAction = "=ActionDelete()"
                cbrButActionDelete.Parameter = rst!DebtPaymentID
                
                rst.MoveNext
                
            Loop
            Set cbrCaption = cbr.Controls.Add(msoControlButton, , - 1 , x +  1 , True)
            cbrCaption.FaceId =  226 
            cbrCaption.Caption = "Kopa:           " & Format(Kopa, "0.00Ls")
            cbrCaption.BeginGroup = True
        End If
a:
        On Error Resume Next
            cbr.ShowPopup
            CommandBars("Debts").Delete
        On Error GoTo  0 
end sub

Вызов этой процедуры вешаешь на MouseDown текстбокса
Код: plaintext
1.
2.
If Button And acRightButton Then
    AAAA
  End If
...
Рейтинг: 0 / 0
20.05.2004, 14:02
    #32526115
AloneWarlock
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
Сп. большое - попробую сейчас
...
Рейтинг: 0 / 0
20.05.2004, 14:08
    #32526137
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
Глянь почту, я тебе скинул pdf с описанием работы с меню.
...
Рейтинг: 0 / 0
20.05.2004, 14:43
    #32526252
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
2 Kelme & AloneWarlock

Может будет интересно посмотреть вот сюда
...
Рейтинг: 0 / 0
20.05.2004, 14:51
    #32526283
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
уже внимательно смотрю...
...
Рейтинг: 0 / 0
20.05.2004, 14:56
    #32526299
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
это более точная ссылка

http://kozin1.narod.ru/newsite/index.html?menuhummer.htm
...
Рейтинг: 0 / 0
20.05.2004, 15:07
    #32526342
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
2 АлексейК
Спасибо за поправку:)

Готов к пиву на след. неделе, а то задёргался совсем:)
...
Рейтинг: 0 / 0
20.05.2004, 15:13
    #32526366
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню...
2 Hummer
ответил почтой, нехоршо в топике
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Контекстное меню... / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]