Metody pro prßci se seznamem map
Tyto metody slou₧φ pro sprßvu hierarchickΘho seznamu map. Seznam map je stromovß struktura sklßdajφcφ se ze Φty° zßkladnφch polo₧ek:
Seznam slou₧φ k logickΘmu sdru₧ovßnφ map do tΘmat a urΦuje po°adφ vykreslovßnφ a vyhledßvßnφ u analytick²ch funkcφ.
Ka₧dΘ tΘma m∙₧e obsahovat libovolnΘ mno₧stvφ podtΘmat, vektorov²ch map, rastrov²ch map a klad∙ list∙. SátΘmatem je mo₧nΘ pracovat jako se samostatnou mapou. JednotlivΘ mapy je mo₧nΘ p°esunovat várßmci tΘmatu i mimo tΘma.
Ka₧dß mapa mß sv∙j vn∞jÜφ (Id) a vnit°nφ (Item) identifikßtor. Vn∞jÜφ urΦuje u₧ivatel (programßtor) aplikace. Vnit°nφ se m∙₧e m∞nit. Vn∞jÜφ identifikßtor se nastavuje p°i p°idßvßnφ map do seznamu metodou AddMap. JedinΘ funkce, kterΘ jej majφ jako parametr, je funkce DeleteMap slouφcφ k odstran∞nφ mapy ze seznamu a funkce zaΦφnajφcφ p°edponami Vect a Ras. Ostatnφ funkce pou₧φvajφ kv∙li rychlosti jako parametry vnit°nφ identifikßtor. Pomocφ funkce MTGetItemHandle zφskßme závn∞jÜφho identifikßtoru vnit°nφ a pomocφ funkce MTGetItemId závnit°nφho vn∞jÜφ.
Pro pr∙chod stromovou strukturou jsou dßle p°φstupnΘ metody MTGetRootItem, MTGetLastItem, MTGetChildItem, MTGetParentItem, MTGetNextItem, MTGetPrevItem, MTGetNextSiblingItem a MTGetPrevSiblingItem. VÜechny pracujφ s vnit°nφm identifikßtorem.
Dßle jsou dostupnΘ funkce pro zjiÜ¥ovßnφ a nastavovßnφ r∙zn²ch atribut∙. Jsou to MTGetItemType pro zjiÜt∞nφ typu polo₧ky, MTGetItemName a MTSetItemName pro zjiÜt∞nφ a nastavenφ jmΘna, MTGetItemIsDraw a MTSetItemIsDraw pro zjiÜt∞nφ a nastavenφ atributu vykreslovßnφ, MTGetItemFilename pro zjiÜt∞nφ nßzvu souboru spjatΘho s polo₧lou, MTGetCount pro zjiÜt∞nφ poΦtu polo₧ek , GetMapMBR pro zjiÜt∞nφ nejmenÜφho opsanΘho obdΘlnφka mapy a MTMoveItem pro p°esun jednotliv²ch polo₧ek ve stromu map.
Dßle existujφ specißlnφ metody SetMapTree a SetLegTree pro navßzßnφ spojenφ mezi komponentami MapTree a LegendaTree a komponentou BasMap. BasMap si pamatuje si atributy zda je prvek aktivnφ (MTSelectItem, MTGetSelectedItem) a zda je podstrom rozbalen² (MTExpandItem, MTGetItemIsExpanded).
Seznam metod
long AddMap(long Type, long Id, LPCTSTR FileName, LPCTSTR Name, long ParentId, long InsertAfterId)
Popis
AddMap p°idß mapu do stromovΘ struktury seznamu map. Mapu p°idß jako potomka ParentId a za InsertAfterId.
Parametry
Type Obsahuje jednu z konstant popisujφcφch typ mapy
Id UrΦuje jednoznaΦn² identifikßtor mapy
FileName ┌plnß cesta, vΦetn∞ nßzvu souboru, kde je ulo₧en soubor sámapou
Name JmΘno kter²m bude mapa pojmenovßna v MapTree
ParentId Id rodiΦovskΘho tΘmatu, kam bude mapa vlo₧ena.
InsertAfterId Id sourozence, za kterΘho bude mapa vlo₧ena.
Nßvratovß hodnota
Prob∞hne-li vÜe v po°ßdku, vracφ funkce celΘ kladnΘ Φφslo. Toto Φφslo reprezentuje item, p°es kter² je nutnΘ se odkazovat p°i prßci se seznamem map. Nastane-li chyba, je nßvratovß hodnota zßpornß nebo 0, v zßvislosti na typu p°idßvanΘ mapy (parametr Type). Pro jednotlivΘ hodnoty parametru Type existujφ p°φsluÜnΘ chybovΘ nßvratovΘ hodnoty pro tΘmata, vektorovΘ mapy, rastrovΘ mapy a klady list∙. Nenφ-li parametr Type ani jednΘ zát∞chto hodnot, vracφ funkce 0.
Poznßmka
Je nutnΘ dßvat pozor na rozdφl mezi Id mapy a item mapy. Id je jednoznaΦn² identifikßtor, kter² urΦuje programßtor. Item je identifikßtor, pod kter²m je ulo₧en ve stromovΘ struktu°e a je urΦovßn po°adφm vlo₧enφ mapy. Id slou₧φ pro vytvo°enφ jednoznaΦnΘ relace na databßzi. Item slou₧φ pro odkazovßnφ na mapu ve stromovΘ struktu°e u metod pro prßci se seznamem map.
Programßtor musφ zajistit, aby Id byl opravdu jednoznaΦn². Jinak nelze zaruΦit sprßvnou funkci komponenty. Pro zjiÜt∞nφ nejvyÜÜφho Id pou₧itΘho v seznamu map lze pou₧φt metodu MTGetMaxId. Toto Id zv∞tÜenΘ o 1 nenφ zaruΦen∞ pou₧itΘ.
Mo₧nΘ hodnoty parametr∙ ParentId a InsertAfterId naleznete vápopisu metody MTMoveItem.
Odkazy
DeleteMap, chybovΘ stavy tΘmat, vektorovΘ mapy, rastrovΘ mapy, kladu list∙ a konstanty popisujφcφ typ mapy.