- •Add Cartographic Frame
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор Autolabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Оператор Call
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Оператор Commit Table
- •Оператор Continue
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложение Control RadioGroup
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Оператор Create Collection
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create MultiPoint
- •Оператор Create Point
- •Оператор Create PrismMap
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Graph
- •оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Оператор Line Input
- •Процедура Main
- •Оператор Map
- •Оператор Menu Bar
- •Оператор Metadata
- •Оператор Note
- •Оператор Objects Check
- •Оператор Objects Clean
- •Оператор Objects Combine
- •Оператор Objects Disaggregate
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Snap
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Table
- •Оператор Open Window
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Оператор Server Commit
- •Оператор Server Create Map
- •Оператор Server Create Table
- •Оператор Server Create Style
- •Оператор Server Disconnect
- •Оператор Server Fetch
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File TimeOut
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set PrismMap
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Objects Move
- •Оператор Objects Offset
- •Функция Offset()
- •Функция SphericalOffset()
- •Функция SphericalOffsetXY()
- •Функция CartesianOffsetXY()
- •Функция LayerInfo( )
- •Оператор Register
- •Оператор Server Create Map
- •Функция TableInfo( )
Оператор Alter MapInfoDialog
Оператор Alter MapInfoDialog
Назначение:
Делает недоступными, прячет или присваивает значение элементу стандартного диалогового окна в MapInfo.
Предупреждение:
Идентификаторы, используемые этим оператором, могут быть изменены в будущих версиях MapInfo. В результате программы, работающие в 4 версии MapInfo, могут некорректно работать в следующих версиях.
Синтаксис (вариант 1 8 присвоение нестандартных установок):
Alter MapInfoDialog dialog_ID
Control control_ID
{ Disable | Hide | Value new_value } [ , { Disable ... } ] [ Control ... ]
Синтаксис: (вариант 2 8 восстановление стандартных установок)
Alter MapInfoDialog dialog_ID Default
где
dialog_ID – целое число, идентификатор изменяемого диалогового окна MapInfo; control_ID – целое число от 1 и более, идентификатор изменяемого элемента диалога; new_value – новое значение элемента диалога.
Описание:
Оператор позволяет делать недоступными, скрытыми и присваивать значения элементам стандартных диалогов MapInfo - кнопкам, флажкам и т. п. Надо отметить, что оператор Alter MapIn foDialog работает только со стандартными диалогами в MapInfo. Для работы с элементами диалогов, построенных оператором Dialog, используется оператор Alter Control.
Определение идентификатора
Для определения идентификатора диалога необходимо загрузить MapInfo для Windows командой:
mapinfow.exe helpdiag
После того, как программа MapInfo будет запущена с аргументом -helpdiag, выведите нужное диалоговое окно на экран и нажмите на кнопку Справки в нем. Обычно, эта кнопка вызывает окно Справочной системы, но в этом случае MapInfo показывает идентификатор данного диалога.
Замечание: Существуют разные общесистемные диалоги (такие как диалоги открытия и сохранения) в разных версиях Windows. Если Вы хотите внести изменения в общесистемный диалог, и если Ваше приложение используется в разных версиях Windows, Вам необходимо приготовить две версии оператора Alter MapInfoDialog по одному для каждой версии Windows.
Каждый элемент диалога также имеет идентификатор. Например, большинство кнопок "OK" имеют идентификатор 1, а кнопка "Отмена" ("Cancel") - идентификатор 2. Определить идентификатор элемента диалога можно только с помощью программы, не входящей в состав пакета MapInfo, такой, как программа Microsoft Spy++ из пакета компилятора C.
Изменное состояние элементов диалога и значения, присвоенные оператором Alter MapInfoDialog, сохраняются, только если пользователь закрыл диалог с подтверждением (кнопкой "OK" или "Да").
Справочник MapBasic |
23 |
Оператор Alter MapInfoDialog
Например, Вы используете оператор Alter MapInfoDialog для помещения адреса в диалог "Найти", но MapInfo не выполнит поиск, пока Вы не откроете диалог и пользователь не нажмет на кнопку "OK".
Возможные виды изменений
Ключевое слово Disable используется для того, чтобы сделать элемент недоступным для пользователя (в диалоге элемент закрашивается серым цветом).
Ключевое слово Hide прячет элемет, делает его невидимым.
Предложение Value изменяет значение элемента.
Если Вы вносите изменения в общесистемный диалог (например, "Открыть таблицу"), то можете изменить выбор в поле со списком (combo box), или Вы можете изменить текст подписи (static text), кнопки или в текстовом окошке. Вы можете изменить положение элементов в диалоге "Настройка печати"; кнопкам “Книжная” и “Альбомная” соответствуют числа 1056 и 1057 соответственно. Однако, в 16–битной версии MapInfo, если пользователь подключает разные принтеры, диалог "Настройка печати" может быть изменен некорректно.
Если Вы изменяете другой диалог MapInfo, то следующий список приводит виды изменений, которые Вы можете в нем сделать:
Кнопка, подпись (static text), текстовое окошко, окошко со списком (editable combo box):
можно менять текст, задавая новый текст параметром new_value.
Список (list box), окошко со списком (combo box): можно менять выбор в списке, задавая номер элемента списка в параметре new_value.
Флажок: можно устанавливать (значение new_value равно 1) или сбрасывать (значение new_value равно 0).
Переключатель: можно менять выбор кнопки, задавая номер в параметре new_value 0 (не выбрана) или 1 (выбрана).
Кнопка стиля символа: можно менять установку стиля символа (например, используя вызов функции MakeSymbol(_)).
Кнопка стиля линии: можно менять установку стиля линии.
Кнопка стиля штриха: можно менять установку стиля заливки.
Кнопка стиля шрифта: можно менять установку стиля шрифта.
Кнопка стиля оформления области (линия/штрих): можно задать новое значение стиля линии или стиля штриха.
Пример:
Следующий фрагмент вносит в диалог "Найти" текстовую строку с адресом (“Волхонка 13”) в поле первого окна и прячет кнопку "Снова".
If |
SystemInfo(SYS_INFO_MIVERSION) = 400 Then |
Alter MapInfoDialog 2202 |
|
|
Control 5 Value ”Волхонка 13” |
|
Control 12 Hide |
End |
If |
Run |
Menu Command M_ANALYZE_FIND |
Идентификатор окна "Найти" – 2202. Control 5 ссылается на текстовое поле, в которое вводится |
|
24 |
Справочник MapBasic |
Оператор Alter MapInfoDialog
адрес для поиска. Control 12 – ссылается на кнопку"Снова". Все эти номера в будущей версии MapInfo будут изменены. Поэтому используется функция SystemInfo(_) для определения версии программы, в которой выполняется это приложение.
Смотрите также:
Alter Control, Dialog
Справочник MapBasic |
25 |
Оператор Alter Menu
Оператор Alter Menu
Назначение:
Добавляет элемент в список одного из существующих меню в окне MapInfo или убирает существующий элемент из списка меню.
Синтаксис (вариант 1):
Alter Menu { menuname | ID menu_id } Add menudef [, menudef... ]
где
menuname – заголовок меню;
menu_id – целочисленный идентификатор меню от одного до пятнадцати, где единица представляет меню ФАЙЛ;
menudef – идентификатор элемента списка меню, который имеет следующий синтаксис:
newmenuitem
[ ID menu_item_id ] [ HelpMsg help ]
[ { Calling handler | As menuname } ]
где
newmenuitem – строковая величина, имя нового элемента списка меню;
menu_item_id – целочисленный идентификатор элемента меню, который может быть использован в дальнейшем оператором Alter Menu Item;
help – строковая величина, текст которой будет показываться в строке сообщений, когда элемент меню будет выбран (подсвечен);
handler – имя sub-процедуры обработчика или командный код, имена для которых определены в файле MENU.DEF (например, M_FILE_NEW) или же специальный код обработки события выбора меню механизмами OLE или DDE. Особенности последнего способа обработки см. в описании оператора Create Menu.
Синтаксис (вариант 2):
Alter Menu { menuname | ID menu_id }
Remove { handler | submenuname | ID menu_item_id }
[, { handler | submenuname | ID menu_item_id } ... ]
где
menuname – заголовок уже определенного меню;
menu_id – целочисленный идентификатор меню от 1 до 22, где единица представляет меню ФАЙЛ; handler – имя sub-процедуры обработчика или код для стандартной команды MapInfo; submenuname – заголовок подменю, иерархически подчиненного menuname;
menu_item_id – целочисленный идентификатор элемента меню, который может быть использован в дальнейшем оператором Alter Menu Item.
Описание:
Оператор Alter Menu добавляет или убирает элемент в списке меню (или подменю) menuname.
Элемент меню в операторе может быть идентифицирован его именем (например, "File" или "Файл"). Набор стандартных имен зависит от языковой версии MapInfo; оператор Alter Menu использует имена, соответствующие языковой версии. Поэтому, если Вы планируете использовать Вашу
26 |
Справочник MapBasic |
Оператор Alter Menu
прикладную программу в MapInfo другой языковой версии, используйте вместо имени номер, задаваемый предложением ID. Значения параметра menu_id от одного до двадцати двух соответствуют заголовкам стандартного меню MapInfo: 1 соответствует меню ФАЙЛ и т. д.
Ниже приводится таблица с именами стандартной системы меню MapInfo и соответствующими им значениями идентификатора menu_id. Внимание: меню с 16 по 22 – это быстрые меню, которые появляются при нажатии на правую кнопку мыши. Быстрые меню доступны только в Windows.
Имя меню |
Описание и идентификатор |
|
|
"Файл" |
Стандартное меню ФАЙЛ (ID 1) |
|
|
|
|
||
"Правка" |
Стандартное меню ПРАВКА (ID 2) |
|
|
|
|
||
"Объекты" |
Стандартное меню ОБЪЕКТЫ (ID 14) |
|
|
"Запрос" |
Стандартное меню ЗАПРОС (ID 3) |
|
|
"Таблица" |
Стандартное меню ТАБЛИЦА (ID 15) |
|
|
"Настройки" |
Стандартное меню НАСТРОЙКИ (ID 5) |
|
|
"Окно" |
Стандартное меню ОКНО (ID 6) |
|
|
"Справка" |
Стандартное меню СПРАВКА (ID 7) |
|
|
"Список" |
Меню СПИСОК (ID 8). Используется, когда активно окно Списка. |
|
|
|
Смотрите имя "WinSpecific". |
|
|
"Карта" |
Меню КАРТА (ID 9). Используется, когда активно окно Карты. |
|
|
"График" |
Меню ГРАФИК (ID 11). Используется, когда активно окно Графика. |
|
|
"Отчет" |
Меню ОТЧЕТ (ID 10). Используется, когда активно окно Отчета. |
|
|
"Геогруппы" |
Меню РАЙОНИРОВАНИЕ (ID 13). Используется, когда активно окно |
|
|
|
Районирование. |
|
|
"MapBasic" |
Меню MAPBASIC (ID 12). Используется, когда активно окно MapBasic. |
|
|
"Программы" |
Меню ПРОГРАММЫ (ID 4). Предлагается для помещения в него команд, |
|
|
|
задаваемых в программах, таких как SCALEBAR. |
|
|
"WinSpecific" |
Имя, обозначающее меню, соответствующее открытому окну: "Карта", |
|
|
|
"График", "Список", "Отчет", "MapBasic" или "Справка". |
|
|
"Растр" |
Это меню в стандартном варианте иерархически подчинено меню |
|
|
|
ТАБЛИЦА. |
|
|
"Изменить" |
Это меню в стандартном варианте иерархически подчинено меню |
|
|
|
ТАБЛИЦА. |
|
|
“DefaultShortcut” |
Стандарное быстрое меню. Это меню появляется при нажатии правой |
|
|
|
кнопки мыши на окне, не имеющем своего быстрого меню (ID 16) . |
|
|
“MapperShortcut” |
Быстрое меню для окна Карты (ID 17) . |
|
|
Справочник MapBasic |
27 |
Оператор Alter Menu
“BrowserShortcut” |
Быстрое меню для окна Списка (ID 18) . |
“LayoutShortcut” |
Быстрое меню для окна Отчета (ID 19) . |
“GrapherShortcut” |
Быстрое меню для окна Графика (ID 20) . |
“CmdShortcut” |
Быстрое меню для окна MapBasic (ID 21) . |
“RedistrictShortcut” |
Быстрое меню для окна Районирование (ID 22) . |
Пример 1:
Добавим в список меню ФАЙЛ новую команду:
Alter Menu "Файл" Add
"Специальная команда" Calling sub_procedure_name
Пример 2:
Следующий фрагмент делает то же самое, что и предыдущий пример, только используется идентификатор меню.
Alter Menu ID 1 Add
"Специальная команда" Calling sub_procedure_name
Пример 3:
Теперь добавим назначение идентификатора для команды, который позже можно будет использовать в операторе Alter Menu Item.
Alter Menu ID 1 Add
"Специальная команда" ID 300 Calling sub_procedure_name
Пример 4:
Следующий пример удаляет определенный элемент списка, который был создан ранее.
Alter Menu ID 1 Remove sub_procedure_name
Пример 5:
Программа TEXTBOX использует оператор Create Menu для создания меню “Рамка,” и оператор Alter Menu для добавления его в качестве иерархически подчиненного в меню "Программы":
Alter Menu ”Программы” Add
”( ”,
”Рамка” As ”Рамка”
Пример 6:
В следующем примере добавляется новая команда в быстрое меню для окна Карты (это меню появляется при нажатии на вторую кнопку мыши).
Alter Menu ID 17 Add
”Поиск ближайшего города” Calling sub_procedure_name
Смотрите также:
Alter Menu Bar, Alter Menu Item, Create Menu, Create Menu Bar
28 |
Справочник MapBasic |
Оператор Alter Menu Bar
Оператор Alter Menu Bar
Назначение:
Добавляет или удаляет заголовки меню в строку меню окна MapInfo.
Синтаксис:
Alter Menu Bar { Add | Remove }
{ menuname | ID menu_id }
[, { menuname | ID menu_id } ... ]
где
menuname – имя меню (например, "Файл");
menu_id – целочисленный идентификатор меню от 1 до 22, где единица представляет меню ФАЙЛ.
Описание:
Оператор Alter Menu Bar добавляет или убирает один или более заголовков меню в строку меню. Заголовок меню – это слово, представляющее группу команд MapInfo. Указав на это слово, пользователь открывает список меню, состоящий из команд, имен подменю и элементов оформления (например, черта, разделяющая список на части).
Параметр menuname может быть строкой или выражением строкового типа, результатом которого является имя одного из стандартных меню в MapInfo (например, "Файл" или "Правка"). Параметр menuname может быть также именем меню, созданного оператором Create Menu (смотрите примеры).
Меню может быть также определено специальным идентификатором. Например, предложение ID 2 задает меню ПРАВКА.
Заметим, что набор стандартных имен зависит от языковой версии; оператор Alter Menu использует имена, соответствующие языковой версии. Поэтому, если Вы планируете использовать Вашу прикладную программу в MapInfo другой языковой версии, используйте вместо имени номер, задаваемый предложением ID. Значения параметра menu_id от 1 до 22 соответствуют заголовкам стандартного меню MapInfo: 1 соответствует меню ФАЙЛ и т. д.
Список имен стандартной системы меню MapInfo и соответствующих им значений идентификатора menu_id приведен в разделе, описывающем оператор Alter Menu.
Как добавить меню
Оператор Alter Menu Bar Add... добавляет заголовок меню в строку меню с правого края. Если Вам необходимо вставить меню в определенное место в строке меню, то для переопределения строки меню выполните оператор Create Menu Bar.
В Windows, если Вы добавите много заголовков меню в строку меню, то в ней появляется вторая строчка.
Как убрать меню
Оператор Alter Menu Bar Remove... удаляет заголовок из строки меню. При этом меню не пропадает и может быть в любой момент восстановлено так, как показано ниже. Следующая пара операторов сначала удаляет меню ЗАПРОС из строки меню, а затем помещает ее снова туда крайним справа:
Alter Menu Bar Remove "Запрос"
Alter Menu Bar Add "Запрос"
Справочник MapBasic |
29 |
Оператор Alter Menu Bar
После того, как оператор Alter Menu Bar Remove... удалит меню, MapInfo отменяет все клавишные сокращения, ранее назначенные командам, которые находились в удаленном списке меню. Например, если Вы удалите меню ФАЙЛ, то клавишное сокращение Ctrl+O больше не будет вызывать команду ОТКРЫТЬ ТАБЛИЦУ.
Пример:
Создается меню ДАННЫЕ, содержащее три команды, и затем оператором Alter Menu Bar Add добавляется в строку заголовков меню MapInfo.
Declare Sub addsub
Declare Sub editsub
Declare Sub delsub
Create Menu "Данные" As
"Добавить" Calling addsub, "Правка" Calling editsub, "Удалить" Calling delsub
'Удаляются меню Окно и Справка...
Alter Menu Bar Remove ID 6, ID 7
'Добавляется меню Данные, а затем восстанавливаются ‘ меню Окно и Справка
Alter Menu Bar Add "Данные", ID 6, ID 7
Перед тем как поместить заголовок созданного меню в строку меню, эта программа сначала удаляет меню ОКНО (идентификатор 6) и меню СПРАВКА (идентификатор 7). Затем в правый конец строки меню добавляется сначала заголовок меню ДАННЫЕ, а затем меню ОКНО и СПРАВКА. Тем, что в примере меню сначала удаляется, а потом восстанавливается, соблюдается соглашение, что меню Справочной системы всегда должно быть последним справа.
Смотрите также:
Alter Menu, Alter Menu Item, Create Menu, Create Menu Bar, Menu Bar Hide, Menu_Bar Show
30 |
Справочник MapBasic |