Как отловить событие контекстного меню? - VB
Формулировка задачи:
Допустим есть ListView, на него повешано контекстное меню, как определить осуществлен ли выбор команды из контекстного меню и какая команда выбрана?
Решение задачи: «Как отловить событие контекстного меню?»
textual
Листинг программы
<font color="blue">Option</font> <font color="blue">Explicit</font>
<font color="blue">Private</font> <font color="blue">Sub</font> Form_Load()
<font color="blue">Dim</font> d <font color="blue">As</font> <font color="blue">Date</font>
<font color="blue">With</font> ListView1
.View = lvwReport
.ColumnHeaders.Add , , <font color="teal">"Text"</font>
<font color="blue">For</font> d = <font color="teal">"2007-09-03"</font> <font color="blue">To</font> <font color="teal">"2007-09-09"</font>
.ListItems.Add , , Format(d, <font color="teal">"dddd"</font>)
<font color="blue">Next</font>
<font color="blue">End</font> <font color="blue">With</font>
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Private</font> <font color="blue">Sub</font> ListView1_MouseUp(Button <font color="blue">As</font> <font color="blue">Integer</font>, Shift <font color="blue">As</font> <font color="blue">Integer</font>, x <font color="blue">As</font> <font color="blue">Single</font>, y <font color="blue">As</font> <font color="blue">Single</font>)
<font color="blue">If</font> Button = vbRightButton <font color="blue">Then</font>
mnuList1Delete.Enabled = <font color="blue">Not</font> ListView1.SelectedItem <font color="blue">Is</font> <font color="blue">Nothing</font>
PopupMenu mnuList1
<font color="blue">End</font> <font color="blue">If</font>
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Private</font> <font color="blue">Sub</font> mnuList1Add_Click()
<font color="blue">Dim</font> s <font color="blue">As</font> <font color="blue">String</font>
s = InputBox(<font color="teal">"Введите имя новой строчки"</font>, <font color="teal">"Новая строчка"</font>, <font color="teal">"Новая сточка "</font> & ListView1.ListItems.Count)
<font color="blue">If</font> s <> <font color="teal">""</font> <font color="blue">Then</font>
ListView1.ListItems.Add , , s
<font color="blue">End</font> <font color="blue">If</font>
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Private</font> <font color="blue">Sub</font> mnuList1Delete_Click()
<font color="blue">If</font> ListView1.SelectedItem <font color="blue">Is</font> <font color="blue">Nothing</font> <font color="blue">Then</font> <font color="blue">Exit</font> <font color="blue">Sub</font>
<font color="blue">If</font> MsgBox(<font color="teal">"Удалить '"</font> & ListView1.SelectedItem.Text & <font color="teal">"' ?"</font>, vbQuestion <font color="blue">Or</font> vbYesNo, <font color="teal">"Подтвердите удаление"</font>) = vbYes <font color="blue">Then</font>
ListView1.ListItems.Remove ListView1.SelectedItem.Index
<font color="blue">End</font> <font color="blue">If</font>
<font color="blue">End</font> <font color="blue">Sub</font>