Список форумов Форум Libreoffice

Форум Libreoffice

Добро пожаловать на Форум Libreoffice!
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

English French German Italian Portuguese Russian Spanish
Отключить контекстное меню, вызываемое правой кнопкой мыши

 
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Basic
Предыдущая тема :: Следующая тема  
Автор Сообщение
neft



Репутация: 0    

Зарегистрирован: 19.10.2011
Сообщения: 28

СообщениеДобавлено: Ср Мар 28, 2012 5:46 pm    Заголовок сообщения: Отключить контекстное меню, вызываемое правой кнопкой мыши Ответить с цитатой

Отключить контекстное меню, вызываемое правой кнопкой мыши, можно с помощью макроса registerContextMenuInterceptor:
Код:
Option Explicit

Global oDocView As Object
Global oContextMenuInterceptor As Object
Global oStore As Object
Global oPropSetRegistry As Object

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub registerContextMenuInterceptor        ' <- Run!
   
   InitMenuFactory

   oDocView = ThisComponent.CurrentController
   oContextMenuInterceptor = CreateUnoListener("RightClick_", "com.sun.star.ui.XContextMenuInterceptor")
   
   oDocView.registerContextMenuInterceptor(oContextMenuInterceptor)

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub releaseContextMenuInterceptor
   On Error Resume Next
   oDocView.releaseContextMenuInterceptor(oContextMenuInterceptor)
End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function RightClick_notifyContextMenuExecute(ContextMenuExecuteEvent As Object) As Variant
Dim oATContainer As Object
Dim i As Integer

oATContainer = ContextMenuExecuteEvent.ActionTriggerContainer
      
   For i = oATContainer.Count - 1 To 0 Step -1
      oATContainer.removeByIndex(I)
   Next i

RightClick_notifyContextMenuExecute = com.sun.star.ui.ContextMenuInterceptorAction.EXECUTE_MODIFIED

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub InitMenuFactory()
   oStore = CreateUnoService("com.sun.star.ucb.Store")
   oPropSetRegistry = oStore.createPropertySetRegistry("")
End Sub


Дополнительно:
http://www.oooforum.org/forum/viewtopic.phtml?t=29908
http://codesnippets.services.openoffice.org/Office/Office.ContexMenuInterceptor.snip
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Basic Часовой пояс: GMT
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Вы можете бесплатно создать форум на MyBB2.ru, RSS