Есть код Перемещения элементов списка (см файл) (из Уокенбаха) В нем есть процедура обработки двойного щелчка мышью на на кнопке вверх (MoveUpButton)
Объясните пожалуйста кому не лень строку выделенную жирным Что за загадочный аргумент в этой процедуре в скобках и для чего он нужен?: (ByVal Cancel As MSForms.ReturnBoolean)
[vba]
Код
Private Sub MoveUpButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean) TextBox1.Text = "Произведен двойной щелчок" Call MoveUpButton_Click End Sub
[/vba]
Есть код Перемещения элементов списка (см файл) (из Уокенбаха) В нем есть процедура обработки двойного щелчка мышью на на кнопке вверх (MoveUpButton)
Объясните пожалуйста кому не лень строку выделенную жирным Что за загадочный аргумент в этой процедуре в скобках и для чего он нужен?: (ByVal Cancel As MSForms.ReturnBoolean)
[vba]
Код
Private Sub MoveUpButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean) TextBox1.Text = "Произведен двойной щелчок" Call MoveUpButton_Click End Sub
Cancel - отмена. Если в TRUE установить, то по завершению собственного кода, отменяется стандартное действие по этому событию, предусмотренное приложением.
Cancel - отмена. Если в TRUE установить, то по завершению собственного кода, отменяется стандартное действие по этому событию, предусмотренное приложением.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Справка для листа для Worksheet_BeforeDoubleClick https://docs.microsoft.com/en-us....leclick Перевод переводчиком вроде нормально переводится В части Cancel никаких отличий нет
А лишняя строка
Не, стоп, не заметил сразу - Руслан, исправляйте название темы и раскидывайте вопросы на две темы. Вы что, Правила форума не читали?
Справка для листа для Worksheet_BeforeDoubleClick https://docs.microsoft.com/en-us....leclick Перевод переводчиком вроде нормально переводится В части Cancel никаких отличий нет
А лишняя строка
Не, стоп, не заметил сразу - Руслан, исправляйте название темы и раскидывайте вопросы на две темы. Вы что, Правила форума не читали?_Boroda_
Коллеги. Я прекрасно умею пользовать справку мелкософта, в том числе и без перевода и более того, прежде, чем задавать вопрос на этом форуме, ищу в яндексе ответ на свой вопрос , потому что это быстрее, чем ждать ответ на форуме. И только после того, как в силу своего тугодумия, мне не стал ясен ответ на вопрос, пощу его здесь, в надежде на чей-то педагогический талант для тугодумов:)
Сейчас ввел в код Cancel = True , закомментил вывзов процедуры события на одинарный клик и все равно при двойном щелчке элемент списка двигается вверх и в Текстовом поле (TextBox1) появляется надпись "Произведен двойной щелчок", то есть Процедура [vba]
Код
Private Sub MoveUpButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[/vba] все равно срабатывает... Такой же результат получается , если поставить Cancel = False. Никакой разницы...
[vba]
Код
Private Sub MoveUpButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Cancel = True TextBox1.Text = "Произведен двойной щелчок"
Коллеги. Я прекрасно умею пользовать справку мелкософта, в том числе и без перевода и более того, прежде, чем задавать вопрос на этом форуме, ищу в яндексе ответ на свой вопрос , потому что это быстрее, чем ждать ответ на форуме. И только после того, как в силу своего тугодумия, мне не стал ясен ответ на вопрос, пощу его здесь, в надежде на чей-то педагогический талант для тугодумов:)
Сейчас ввел в код Cancel = True , закомментил вывзов процедуры события на одинарный клик и все равно при двойном щелчке элемент списка двигается вверх и в Текстовом поле (TextBox1) появляется надпись "Произведен двойной щелчок", то есть Процедура [vba]
Код
Private Sub MoveUpButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[/vba] все равно срабатывает... Такой же результат получается , если поставить Cancel = False. Никакой разницы...
[vba]
Код
Private Sub MoveUpButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Cancel = True TextBox1.Text = "Произведен двойной щелчок"
Cancel в событии "DblClick" отключает второй щелчок. То есть Windows не обрабатывает второй щелчок. Это видно на "ToggleButton" (об этом написано в справке: сайт). Для остальных элементов управления эффекта от Cancel нет (мой вывод). Просто событие "DblClick" сделано одно на все элементы управления. Ну или ждите ситуации, когда Вам будет мешать второй щелчок при двойном щелчке. Может быть в какой-то ситуации это будет не только в "ToggleButton". Если Вам сейчас не мешает второй щелчок, значит Cancel не нужно использовать. Если станет мешать, то используйте Cancel.
Cancel в событии "DblClick" отключает второй щелчок. То есть Windows не обрабатывает второй щелчок. Это видно на "ToggleButton" (об этом написано в справке: сайт). Для остальных элементов управления эффекта от Cancel нет (мой вывод). Просто событие "DblClick" сделано одно на все элементы управления. Ну или ждите ситуации, когда Вам будет мешать второй щелчок при двойном щелчке. Может быть в какой-то ситуации это будет не только в "ToggleButton". Если Вам сейчас не мешает второй щелчок, значит Cancel не нужно использовать. Если станет мешать, то используйте Cancel.Karataev
Сообщение отредактировал Karataev - Пятница, 15.03.2019, 23:20