DISKUSE
HCL Domino na NAS QNAP (1)
20.02.2024 10:34

Vložení přílohy do dokumentu MS Word (3)
14.02.2024 20:54

Problěmy s diakritikou. (4)
06.02.2024 17:34

AI pomocnici 
15.01.2024 10:16

Export do pdf souboru (1)
12.01.2024 23:11

Agent přestává fungovat (1)
18.11.2023 06:42

RTF - Computed (2)
19.10.2023 13:00

Čtení polí v neuloženém dokumentu 
08.10.2023 17:15


ŠKOLENÍ


REKLAMA


KOMENTÁŘE

Dostupnosť menu príkazov v Notes klientovi.

Vytisknout článek

Notes klient je "thick". Používateľovi dáva k dispozícii množstvo funkcií, ktoré sú dostupné naprieč aplikáciami. No čo v prípade, ak je potrebné urobiť aplikáciu, v ktorej nemá byť dostupný určitý menu príkaz? Napríklad zneprístupníť v pohľade menu príkaz "File-Export"...


Nižšie uvedený kód umiestnite do tlačítka, ktoré zobrazí rozhodovacie okno s dvomi možnosťami:
/1/ Ak zvolíte Yes, menu príkaz File-Export je dostupný (enabled)
/2/ Ak zvolíte No, menu príkaz File-Export je nedostupný (disabled)

Teraz je už úplne jednoduché zneprístupniť v konkrétnej aplikácii menu File-Export. Ale pozor! Ide iba o zneprístupnenie menu príkazu, nie funkcie ako takej....

Const MF_BYPOSITION = &H00000400
Const MF_ENABLED = &H00000000
Const MF_GRAYED = &H00000001
Const MF_DISABLED = &H00000002
Declare Function WIN32_GetActiveWindow Lib {user32} Alias {GetActiveWindow} ( ) As Long
Declare Function WIN32_GetMenu Lib {user32} Alias {GetMenu} ( Byval hWnd As Long ) As Long
Declare Function WIN32_GetSubMenu Lib {user32} Alias {GetSubMenu} ( Byval hMenu As Long , Byval nPos As Long ) As Long
Declare Function WIN32_GetMenuString Lib {user32} Alias {GetMenuStringA} ( Byval hMenu As Long , Byval wIDItem As Long , Byval lpString As String , Byval nMaxCount As Long , Byval wFlag As Long ) As Long

Declare Function WIN32_ModifyMenu Lib {user32} Alias {ModifyMenuA} ( Byval hMenu As Long , Byval nPosition As Long , Byval wFlags As Long , Byval wIDNewItem As Long , Byval lpString As Any ) As Long


Function ShowHide ( Byval intFlag As Integer ) As Integer

Dim hWnd As Long
Dim hMenu As Long
Dim hSubMenuFile As Long
Dim strBuffer As String * 255
Dim strMenuItem As String
Dim lngAPIReturnValue As Long
Dim intPrintMenuItemPos As Integer

'Pozícia pre EXPORT menu príkaz
intPrintMenuItemPos = 11
hWnd = WIN32_GetActiveWindow ( ) ' Chytíť okno
hMenu = WIN32_GetMenu ( hWnd ) 'Chytiť menu
hSubMenuFile = WIN32_GetSubMenu ( hMenu , 0 ) ' Chytiť "File" - podmenu
strBuffer = Space ( Len ( strBuffer ) )

lngAPIReturnValue = WIN32_GetMenuString ( hSubMenuFile , intPrintMenuItemPos , strBuffer , Len ( strBuffer ) , MF_BYPOSITION )
If lngAPIReturnValue > 0 Then
strMenuItem = Left$ ( strBuffer , lngAPIReturnValue )
If intFlag = True Then
fnShowPrintMenuItem = WIN32_ModifyMenu ( hSubMenuFile , intPrintMenuItemPos , MF_BYPOSITION Or MF_ENABLED , 0 , strMenuItem )
Else
fnShowPrintMenuItem = WIN32_ModifyMenu ( hSubMenuFile , intPrintMenuItemPos , MF_BYPOSITION Or MF_GRAYED , 0 , strMenuItem )
End If
End If

End Function


Sub Click(Source As Button)
If Messagebox ( {Zapni Export (tlačítko Yes) alebo Vypni Export (tlačítko No)} , 36 , {Otázka} ) = 6 Then
Call ShowHide ( True )
Else
Call ShowHide ( False )
End If
End Sub


Autor: Miroslav Uhlár
Datum: 30.11.2002


Sdílet článek Seznam komentářů
 
Od
Téma
 Datum
Mira
Vyborne
11.12.2015 15:38
Miro (eD)
Doplnenie: Od R9 pribudla aj systemova volba na zabranenie exportu z pohladu....
02.10.2017 08:48