Конференция "Gupta/Centura (Gupta Technologies)"

Обсуждение вопросов, связанных с компанией Unify/Gupta (Gupta Technologies), ее продуктами Team Developer, SQLBase и др.

 
 
Добавить сообщение »

Тема: Работа с меню

Автор:  Lelik Дата: 07.06.2001 18:35
Вопрос: Хочется с помощью API функций блокировать пункты меню.
С главным меню все получается. С подменю нет. Вот кусок кода. Может быть есть какая то изюмина или это просто глюк у СTD. Версия у меня 1.1.0. Спасибо заранее.
!Главное меню
Set nPointMenu = GetMenu( hWndForm )
Set nMenuItemCount = GetMenuItemCount( nPointMenu )
If nMenuItemCount = -1
Return TRUE
While nCount < nMenuItemCount
Set strMenuItemName '**********************'
Call GetMenuStringA( nPointMenu,
nCount,
strMenuItemName,
SalStrLength( strMenuItemName )+10,
MF_BYPOSITION )
Call SalSetProfileString( 'OK',strMenuItemName, '1', 'eltom.ini' )
Call SalGetProfileString( 'OK', strMenuItemName, 'ERROR', tr, 'eltom.ini' )
If not str = 'ERROR' and SalStrToNumber( str ) = 0
Set nTemp = EnableMenuItem( nPointMenu, nCount,MF_BYPOSITION / MF_DISABLED / MF_GRAYED)
Set nCount = nCount + 1

! Подменю
Set nCount = 0
Set nPointMenu1 =GetSubMenu( GetMenu( hWndForm ), 4 )
Set nMenuItemCount = GetMenuItemCount( nPointMenu1 )
If nMenuItemCount = -1
Return TRUE
While nCount < nMenuItemCount
Set strMenuItemName = '***************************************'
Call GetMenuStringA( nPointMenu1,
nCount,
strMenuItemName,
SalStrLength( strMenuItemName )+10,
MF_BYPOSITION )
Call SalGetProfileString( 'OK', strMenuItemName, 'ERROR', str, 'eltom.ini' )
If not str = 'ERROR' and SalStrToNumber( str ) = 0
Set nTemp = EnableMenuItem( nPointMenu1, nCount,MF_BYPOSITION / MF_DISABLED / MF_GRAYED)
Set nTemp = GetMenuState( nPointMenu, nCount,MF_BYPOSITION )

! Здесь я вижу, что на самом деле статус моего пункта меню
!изменился на нужный, но на экране все по старому
Set nCount = nCount + 1
Set nTemp = DrawMenuBar( frmMain )
Ответить на сообщение »
 

Добавить сообщение »
Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/iservices/messages.asp?forumId=589&topicId=52