|
TalMap SDK Libary Reference |
HOWTO: Make My ToolBar |
|
Summary
|
This document describes how to use the UI functions provided in TalMapX Control.
TalMapX Control provides various kinds of Objects for UI(User Interface).
The UI Objects provided in TalMapX Control are XUIButton, XUICheckBox, XUIImage, XUIImageList, XUIImageText, XUIPanel, UIStatic, and etc.
With this document, users can learn how to easily use UI Objects.
With the UI Objects, users can make My ToolBar and My LevelBar and apply them to the m_Map.
|
|
|
Steps
|
1. Get Control Manager from TalMapX Control.
2. Get UI Manager with the Contorl Manager.
3. Make desired Objects with the UI Manager and make ToolBar and LevelBar.
4. Use the created UI Objects and add the function to enable the ToolBar and the LevelBar.
|
|
|
Example
|
|
<html>
<head>
<script language="javascript">
<!--
// toggle level bar
function ToggleLevelBar()
{
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
if (uiman.GetShowLevelBar() == 0) {
uiman.SetShowLevelBar(1);
} else {
uiman.SetShowLevelBar(0);
}
}
var gCreatedLevelBar = false;
var gCreateToolBarStyle1 = false;
var gCreateToolBarStyle2 = false;
var gLevelBarBg;
// UI »ý¼º
var btnLevel = new Array(13);
function CreateLevelBar()
{
if (gCreatedLevelBar == true) {
gLevelBarBg.DestroyUIObj();
for (var i = 0; i < btnLevel.length; i++)
{
btnLevel[i].DestroyUIObj();
}
gCreatedLevelBar = false;
return;
}
gCreatedLevelBar = true;
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
var ctrlstate = ctrlman.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath("http://www.talmap.co.kr/tutorial/image/level_ico");
// BackGround Image
var bg = gLevelBarBg = uiman.CreateUI_Button(uiman);
bg.SetParent(uiman);
bg.SetUIID(11);
bg.SetImageList("level_bg.png", 27, 167);
bg.SetBound(dpsize._CX-37, 127, 27, 167);
bg.SetAlpha(80);
bg.SetCanClick(0);
bg.SetCanDrag(1);
bg.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
// Zoom In Button
var btnZoomIn = uiman.CreateUI_Button(uiman);
btnZoomIn.SetParent(bg);
btnZoomIn.SetUIID(12);
btnZoomIn.SetImageList("level_btn_minus.png", 16, 20);
btnZoomIn.SetBound(11, 0, 16, 20);
btnZoomIn.SetCanClick(1);
btnZoomIn.SetCanDrag(1);
btnZoomIn.SetDragTracker(1);
btnZoomIn.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP")|
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE")|
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
// Zoom Out Button
var btnZoomOut = uiman.CreateUI_Button(uiman);
btnZoomOut.SetParent(bg);
btnZoomOut.SetUIID(13);
btnZoomOut.SetImageList("level_btn_plus.png", 16, 20);
btnZoomOut.SetBound(11, bg.GetItemHeight()-20, 16, 20);
btnZoomOut.SetCanClick(1);
btnZoomOut.SetCanDrag(1);
btnZoomOut.SetDragTracker(1);
btnZoomOut.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
// Level Button
var UIID = 14;
var CY = btnZoomIn.GetHeight() + 5;
for (var i = btnLevel.length-1; i > -1; i--){
btnLevel[i] = uiman.CreateUI_Button(uiman);
btnLevel[i].SetParent(bg);
btnLevel[i].SetUIID(UIID);
btnLevel[i].SetImageList("level_btn_position.png", 16, 9);
btnLevel[i].SetBound(8, CY, 22, 9);
btnLevel[i].SetCanClick(1);
btnLevel[i].SetCanDrag(1);
btnLevel[i].SetDragTracker(1);
btnLevel[i].SetImageAutoChange(0);
btnLevel[i].SetItemIndex(1);
btnLevel[i].AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
CY = CY + 9;
UIID++;
}
// Show the current level
MapLevel_Master(ctrlstate.GetLevel());
}
function MapLevel_Master(level)
{
if (gLevelBarBg == null) return;
// Image Index ¼³Á¤ 0~3
var SetEnabled = 0;
var SetDisabled = 1;
for (var i = 0; i < btnLevel.length; i++)
{
if (level == i) btnLevel[i].SetItemIndex(SetEnabled);
else btnLevel[i].SetItemIndex(SetDisabled);
}
}
var maxLogicalLevel = 13 - 1; // Map Max Level
var minLogicalLevel = 0; // Map Min Level
// Zoom In
function Map_ZoomIn()
{
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
if (ctrlstate.GetLevel() > minLogicalLevel) {
ctrlstate.SetLevel(ctrlstate.GetLevel() - 1);
}
}
// Zoom Out
function Map_ZoomOut()
{
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
if (ctrlstate.GetLevel() < maxLogicalLevel) {
ctrlstate.SetLevel(ctrlstate.GetLevel() + 1);
}
}
// Set Map Level
function Map_SetLevel(level) {
if (level < minLogicalLevel) return;
if (level > maxLogicalLevel) return;
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
ctrlstate.SetLevel(level);
}
// Making Map ToolBar Style 1
var panel;
function CreateToolBarUI()
{
if (gCreateToolBarStyle1 == true) {
panel.DestroyUIObj();
gCreateToolBarStyle1 = false;
return;
}
else gCreateToolBarStyle1 = true;
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
var ctrlstate = ctrlman.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath("http://www.talmap.co.kr/tutorial/image/level_icon");
var width_px = dpsize._CX/2 - 300;
panel = uiman.CreateUI_Panel(uiman);
panel.SetParent(uiman);
panel.SetUIID(100);
panel.SetAlpha(80);
panel.SetBound(width_px, dpsize._CY-100, 530, 35);
panel.SetCanDrag(1);
panel.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
width_px = 0;
var UIID = 101;
var MyTooBar1 = new Array(21);
for(var i = 0; i < MyTooBar1.length; i++)
{
MyTooBar1[i] = uiman.CreateUI_Button(uiman);
MyTooBar1[i].SetParent(panel);
MyTooBar1[i].SetUIID(UIID);
MyTooBar1[i].SetImageList("map_btn_"+i+".png", 21, 21);
MyTooBar1[i].SetBound(width_px, 5, 21, 21);
MyTooBar1[i].SetAlpha(0);
MyTooBar1[i].SetCanClick(1);
MyTooBar1[i].SetCanDrag(1);
MyTooBar1[i].SetDragTracker(1);
MyTooBar1[i].AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
width_px = width_px + 25;
UIID++;
}
}
// Making Map ToolBar Style 1
var MyToolBar2 = new Array(22);
function CreateToolBarUI2()
{
if (gCreateToolBarStyle2 == true)
{
for(var i = 0; i < MyToolBar2.length; i++)
{
MyToolBar2[i].DestroyUIObj();
}
gCreateToolBarStyle2 = false;
return;
}
else gCreateToolBarStyle2 = true;
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
var ctrlstate = ctrlman.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath("http://www.talmap.co.kr/tutorial/image/level_ico");
var width_px = dpsize._CX/2 - 300;
var UIID = 200;
for (var i = 0; i < MyToolBar2.length; i++)
{
MyToolBar2[i] = uiman.CreateUI_Button(uiman);
MyToolBar2[i].SetParent(uiman);
MyToolBar2[i].SetUIID(UIID + i);
MyToolBar2[i].SetImageList("map_btn_"+i+".png", 21, 21);
MyToolBar2[i].SetBound(width_px, dpsize._CY-50, 21, 21);
MyToolBar2[i].SetAlpha(80);
MyToolBar2[i].SetCanClick(1);
MyToolBar2[i].SetCanDrag(1);
MyToolBar2[i].SetImageAutoChange(0);
MyToolBar2[i].SetItemIndex(3);
MyToolBar2[i].AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSEDOWN") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
width_px = width_px + 25;
}
}
// OnUI_MouseUp Event Function
function MapEvent_UI_MouseUp(XUIObj, Code, Value1, Value2)
{
if (XUIObj.GetParent().GetUIID() == 11) {
switch (XUIObj.GetUIID()) {
case 12: Map_ZoomOut(); break;
case 13: Map_ZoomIn(); break;
case 14: Map_SetLevel(12);break;
case 15: Map_SetLevel(11);break;
case 16: Map_SetLevel(10);break;
case 17: Map_SetLevel(9);break;
case 18: Map_SetLevel(8);break;
case 19: Map_SetLevel(7);break;
case 20: Map_SetLevel(6);break;
case 21: Map_SetLevel(5);break;
case 22: Map_SetLevel(4);break;
case 23: Map_SetLevel(3);break;
case 24: Map_SetLevel(2);break;
case 25: Map_SetLevel(1);break;
case 26: Map_SetLevel(0);break;
}
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
} else if (XUIObj.GetParent().GetUIID() == 100) {
switch (XUIObj.GetUIID()) {
case 101 : Map_ZoomIn(); break;
case 102 : Map_ZoomOut(); break;
case 103 : Map_Rotate(); break;
case 104 : HistoryPrev(); break;
case 105 : HistoryNext(); break;
case 106 : Map_BirdView(); break;
case 107 : break;
case 108 : ViewText(); break;
case 109 : break;
case 110 : break;
case 111 : break;
case 112 : break;
case 113 : break;
case 114 : break;
case 115 : break;
case 116 : break;
case 117 : break;
case 118 : break;
case 119 : break;
case 120 : break;
case 121 : ShowThemeForm(); break;
}
} else {
var UIID = XUIObj.GetUIID();
switch (UIID) {
case 201 : Map_ZoomIn(); break;
case 202 : Map_ZoomOut(); break;
case 203 : Map_Rotate(); break;
case 204 : HistoryPrev(); break;
case 205 : HistoryNext(); break;
case 206 : Map_BirdView();break;
case 207 : break;
case 208 : ViewText(); break;
case 209 : break;
case 210 : break;
case 211 : break;
case 212 : break;
case 213 : break;
case 214 : break;
case 215 : break;
case 216 : break;
case 217 : break;
case 218 : break;
case 219 : break;
case 220 : break;
case 221 : ShowThemeForm(); break;
}
MyToolBar2[UIID-200].SetItemIndex(3);
}
}
// OnUI_MouseDown Event Function
function MapEvent_UI_MouseDown(XUIObj, Code, Value1, Value2)
{
if (XUIObj.GetUIID() > 200) { // Map Tool Bar
MyToolBar2[XUIObj.GetUIID() - 200].SetItemIndex(1);
}
}
// OnUI_Click Event Function
function MapEvent_UI_Click(XUIObj, Code, Value1, Value2)
{
}
// OnUI_MouseLeave Event Function
function MapEvent_UI_MouseLeave(XUIObj, Code, Value1, Value2)
{
// Level Bar
if (XUIObj.GetUIID() == 11) { // Level Bar BG
XUIObj.SetAlpha(80);
}
if (XUIObj.GetParent().GetUIID() == 11) {
XUIObj.GetParent().SetAlpha(80);
}
// ToolBar Style 1
if (XUIObj.GetUIID() == 100) {
XUIObj.SetAlpha(80);
}
if (XUIObj.GetParent().GetUIID() == 100) {
XUIObj.GetParent().SetAlpha(80);
}
// ToolBar Style 2
if (XUIObj.GetUIID() > 200) {
XUIObj.SetAlpha(80);
}
}
// OnUI_MouseHover Event Function
function MapEvent_UI_MouseHover(XUIObj, Code, Value1, Value2)
{
// Level Bar
if (XUIObj.GetUIID() == 11) { // Level Bar BG
XUIObj.SetAlpha(0);
}
if (XUIObj.GetParent().GetUIID() == 11) {
XUIObj.GetParent().SetAlpha(0);
}
// ToolBar Style 1
if (XUIObj.GetUIID() == 100) {
XUIObj.SetAlpha(0);
}
if (XUIObj.GetParent().GetUIID() == 100) {
XUIObj.GetParent().SetAlpha(0);
}
// ToolBar Style 2
if (XUIObj.GetUIID() > 200) {
XUIObj.SetAlpha(0);
}
}
// On_StateChange Event Function
function MapEvent_OnStateChange(Code, Value1, Value2)
{
var util = m_Map.GetUtility();
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
if (Code == util.GetConstToValue("TMCHECKCONFIG_LEVEL")) {
//ChangeLevelButtonImage();
// ÇöÀç Level Ç¥Ãâ
MapLevel_Master(ctrlstate.GetLevel());
} else if (Code == util.GetConstToValue("TMCHECKCONFIG_ROTATION")) {
} else {
}
}
-->
</script>
<script language="javascript" for="m_Map" event="OnCreate(Flag)">
<!--
MapEvent_OnCreate(Flag);
-->
</script>
<script language="javascript" for="m_Map" event="OnStateChange(Code, Value1, Value2)">
<!--
MapEvent_OnStateChange(Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseUp(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseUp(XUIObj, Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseDown(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseDown(XUIObj, Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_Click(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_Click(XUIObj, Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseLeave(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseLeave(XUIObj, Code, Value1, Value2)
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseHover(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseHover(XUIObj, Code, Value1, Value2);
-->
</script>
</head>
<body>
<table>
<tr>
<td>
<OBJECT ID="m_Map" CLASSID="CLSID:DD9B48AD-EDDC-4D2C-BD68-D1FB4B382024"
codebase='http://localhost/TalMapX_Web.CAB#version=1,0,0,17' width=100% height=80%>
</OBJECT>
</td>
</tr>
</table>
</body>
</html>
|
|
|
#include "talmapxctrl1.h"
#include "CXCtrlMan.h"
#include "CXControlState.h"
#include "CXMasterControlState.h"
#include "CXThemeMan.h"
#include "CXMapMan.h"
#include "CXUtility.h"
#include "CXSize.h"
#include "CXImageMan.h"
#include "CXUIMan.h"
#include "CXUIPanel.h"
#include "CXUIButton.h"
#include "CXUIObj.h"
BEGIN_EVENTSINK_MAP(CSampleDlg, CDialog)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 8, CSampleDlg::OnStateChangeTalmapxctrl1, VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 20, CSampleDlg::OnUI_MouseDownTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 21, CSampleDlg::OnUI_MouseUpTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 24, CSampleDlg::OnUI_MouseHoverTalmapxctrl1, VTS_DISPATCH)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 25, CSampleDlg::OnUI_MouseLeaveTalmapxctrl1, VTS_DISPATCH)
END_EVENTSINK_MAP()
// toggle level bar
void CSampleDlg::ToggleLevelBar()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetUIMan();
if (uiman.GetShowLevelBar() == 0) {
uiman.SetShowLevelBar(1);
} else {
uiman.SetShowLevelBar(0);
}
}
// Create UI
void CSampleDlg::CreateLevelBar2()
{
if (bCreateLevelBar == true) {
bLevelBarBg.DestroyUIObj();
for (int i = 0; i < 14; i++) {
bLevel[i].DestroyUIObj();
}
bCreateLevelBar = false;
return;
}
bCreateLevelBar = true;
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetControlState();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXSize dpsize = ctrlstate.GetSizeDP();
CXUtility util= m_Map.GetUtility();
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(_T("http://www.talmap.co.kr/tutorial/image/level_ico"));
// BackGround Image
CXUIButton bg = bLevelBarBg = uiman.CreateUI_Button(uiman);
bg.SetParent(uiman);
bg.SetUIID(101);
bg.SetImageList(_T("level_bg.png"), 26, 167);
bg.SetBound(dpsize.GetCX()-37, 127, 27, 167);
bg.SetAlpha(80);
bg.SetCanClick(0);
bg.SetCanDrag(1);
bg.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEVEL"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
// Zoom In Button
CXUIButton btnZoomIn = uiman.CreateUI_Button(uiman);
btnZoomIn.SetParent(bg);
btnZoomIn.SetUIID(102);
btnZoomIn.SetImageList(_T("level_btn_minus.png"), 16, 20);
btnZoomIn.SetBound(11, 0, 16, 20);
btnZoomIn.SetCanClick(1);
btnZoomIn.SetCanDrag(1);
btnZoomIn.SetDragTracker(1);
btnZoomIn.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
// Zoom Out Button
CXUIButton btnZoomOut = uiman.CreateUI_Button(uiman);
btnZoomOut.SetParent(bg);
btnZoomOut.SetUIID(103);
btnZoomOut.SetImageList(_T("level_btn_plus.png"), 16, 20);
btnZoomOut.SetBound(11, bg.GetItemHeight()-20, 16, 20);
btnZoomOut.SetCanClick(1);
btnZoomOut.SetCanDrag(1);
btnZoomOut.SetDragTracker(1);
btnZoomOut.AddEventMode(util.GetConstToValue(_T("TMEVNETTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
// Level Button
long UIID = 104;
long CY = btnZoomIn.GetHeight() + 5;
for (int i=13; i > -1; i--) {
bLevel[i] = uiman.CreateUI_Button(uiman);
bLevel[i].SetParent(bg);
bLevel[i].SetImageList(_T("level_btn_position.png"), 16, 9);
bLevel[i].SetBound(11, CY, 22, 9);
bLevel[i].SetCanClick(1);
bLevel[i].SetCanDrag(1);
bLevel[i].SetDragTracker(1);
bLevel[i].SetImageAutoChange(0);
bLevel[i].SetItemIndex(1);
bLevel[i].AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
CY = CY + 9;
UIID++;
}
// Show the current level
MapLevel_Master(ctrlstate.GetLevel());
}
// Show the current level
void CSampleDlg::MapLevel_Master(long level)
{
if(mLevelBarBg == NULL) return;
// Image Index ¼³Á¤ 0~3
int SetEnabled = 0;
int SetDisable = 1;
for (int i=0; i < 13; i++) {
if (level == i) btnLevle[i].SetItemIndex(SetEnabled);
else btnLevle[i].SetItemIndex(SetDisable);
}
}
// Zoom In
void CSampleDlg::Map_ZoomIn()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
if (ctrlstate.GetLevel() > minLogicalLevel) {
ctrlstate.SetLevel(ctrlstate.GetLevel() -1);
}
}
// Zoom Out
void CSampleDlg::Map_ZoomOut()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
if (ctrlstate.GetLevel() < maxLogicalLevel) {
ctrlstate.SetLevel(ctrlstate.GetLevel() -1);
}
}
// Making Map ToolBar Style 1
void CSampleDlg::CreateToolBarUI()
{
if (bCreateToolBarStyle1 == true) {
bPanel.DestroyUIObj();
bCreateToolBarStyle1 = false;
return;
} else
bCreateToolBarStyle1 = true;
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetUIMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXSize dpsize = ctrlstate.GetSizeDP();
CXUtility util = m_Map.GetUtility();
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(_T("C:\\Program Files\\TalMapX SDK\\Theme\\image\\level_icon"));
long width_px = dpsize.GetCX()/2 - 300;
bPanel = uiman.CreateUI_Panel(uiman);
bPanel.SetParent(uiman);
bPanel.SetUIID(200);
bPanel.SetAlpha(80);
bPanel.SetBound(width_px, dpsize.GetCY()-100, 530, 35);
bPanel.SetCanDrag(1);
bPanel.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
width_px = 0;
long UIID = 201;
CXUIButton MyToolBar1[21];
for (int i=0; i< 22; i++) {
MyToolBar1[i] = uiman.CreateUI_Button(uiman);
MyToolBar1[i].SetParent(bPanel);
MyToolBar1[i].SetUIID(UIID);
CString url;
url.Format(_T("map_btn_%d.png"), i);
MyToolBar1[i].SetImageList(url, 21, 21);
MyToolBar1[i].SetBound(width_px, 5, 21, 21);
MyToolBar1[i].SetAlpha(0);
MyToolBar1[i].SetCanClick(1);
MyToolBar1[i].SetCanDrag(1);
MyToolBar1[i].SetDragTracker(1);
MyToolBar1[i].AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVNETTYPE_MOUSEENTER")));
width_px = width_px + 25;
UIID++;
}
}
// Making Map ToolBar Style 2
void CSampleDlg::CreateToolBarUI2()
{
if (bCreateToolBarStyle2 == true) {
for (int i=0; i < 23; i++) {
MyToolBar2[i].DestroyUIObj();
}
bCreateToolBarStyle2 = false;
return;
} else
bCreateToolBarStyle2 = true;
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetUIMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXSize dpsize = ctrlstate.GetSizeDP();
CXUtility util = m_Map.GetUtility();
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(_T("C:\\Program Files\\TalMapX SDK\\Theme\\image\\level_icon"));
long width_px = 0;
long UIID = 300;
for (int i=0; i< 22; i++) {
MyToolBar2[i] = uiman.CreateUI_Button(uiman);
MyToolBar2[i].SetParent(bPanel);
MyToolBar2[i].SetUIID(UIID+i);
CString url;
url.Format(_T("map_btn_%d.png"), i);
MyToolBar2[i].SetImageList(url, 21, 21);
MyToolBar2[i].SetBound(width_px, dpsize.GetCY()-50, 21, 21);
MyToolBar2[i].SetAlpha(80);
MyToolBar2[i].SetCanClick(1);
MyToolBar2[i].SetCanDrag(1);
MyToolBar2[i].SetDragTracker(1);
MyToolBar2[i].SetImageAutoChange(0);
MyToolBar2[i].SetItemIndex(3);
MyToolBar2[i].AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVNETTYPE_MOUSEDOWN"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVNETTYPE_MOUSEENTER")));
width_px = width_px + 25;
}
}
// OnUI_MouseHover Event
void CSampleDlg::OnUI_MouseHoverTalmapxctrl1(LPDISPATCH Obj)
{
// TODO: Append Codes for Message Handler here.
CXUIObj UIObj;
UIObj.AttachDispatch(Obj, FALSE);
// ToolBar Style1
if (UIObj.GetUIID() == 200) {
UIObj.SetAlpha(0);
}
CXUIObj pobj = UIObj.GetParent();
if (pobj.GetUIID() == 200) {
pobj.SetAlpha(0);
}
// ToolBar Style2
if (UIObj.GetUIID() > 300) {
UIObj.SetAlpha(0);
}
}
// OnUI_MouseLeave Event
void CSampleDlg::OnUI_MouseLeaveTalmapxctrl1(LPDISPATCH Obj)
{
// TODO: Append Codes for Message Handler here.
CXUIObj UIObj;
UIObj.AttachDispatch(Obj, FALSE);
// ToolBar Style1
if (UIObj.GetUIID() == 200) {
UIObj.SetAlpha(80);
}
CXUIObj pobj = UIObj.GetParent();
if (pobj.GetUIID() == 200) {
pobj.SetAlpha(80);
}
// ToolBar Style2
if (UIObj.GetUIID() > 300) {
UIObj.SetAlpha(80);
}
}
// OnUI_MouseUp Event
void CSampleDlg::OnUI_MouseUpTalmapxctrl1(LPDISPATCH Obj, long Flag, long X, long Y)
{
// TODO: Append Codes for Message Handler here.
CXUIObj UIObj;
UIObj.AttachDispatch(Obj, FALSE);
CXUIObj pObj;
pObj.AttachDispatch(UIObj.GetParent(), FALSE);
if (pObj.GetUIID() == 11) {
switch (UIObj.GetUIID()) {
case 12: Map_ZoomOut(); break;
case 13: Map_ZoomIn(); break;
case 14: MapLevel_Master(12); break;
case 15: MapLevel_Master(11); break;
case 16: MapLevel_Master(10); break;
case 17: MapLevel_Master(9); break;
case 18: MapLevel_Master(8); break;
case 19: MapLevel_Master(7); break;
case 20: MapLevel_Master(6); break;
case 21: MapLevel_Master(5); break;
case 22: MapLevel_Master(4); break;
case 23: MapLevel_Master(3); break;
case 24: MapLevel_Master(2); break;
case 25: MapLevel_Master(1); break;
case 26: MapLevel_Master(0); break;
}
} else if (pObj.GetUIID() == 101) {
switch (UIObj.GetUIID()) {
case 12: Map_ZoomOut(); break;
case 13: Map_ZoomIn(); break;
case 14: MapLevel_Master(12); break;
case 15: MapLevel_Master(11); break;
case 16: MapLevel_Master(10); break;
case 17: MapLevel_Master(9); break;
case 18: MapLevel_Master(8); break;
case 19: MapLevel_Master(7); break;
case 20: MapLevel_Master(6); break;
case 21: MapLevel_Master(5); break;
case 22: MapLevel_Master(4); break;
case 23: MapLevel_Master(3); break;
case 24: MapLevel_Master(2); break;
case 25: MapLevel_Master(1); break;
case 26: MapLevel_Master(0); break;
}
} else if (pObj.GetUIID() == 200) {
switch (UIObj.GetUIID()) {
case 201: Map_ZoomIn(); break;
case 202: Map_ZoomOut(); break;
case 203: OnSmRotation(); break;
case 204: OnSmHistoryprev(); break;
case 205: OnSmHistorynext(); break;
case 206: OnSmBirdview(); break;
case 207: OnSm3Dview(); break;
case 208: break;
case 209: break;
case 210: break;
case 211: break;
case 212: break;
case 213: break;
case 214: break;
case 215: break;
case 216: break;
case 217: break;
case 218: break;
case 219: break;
case 220: break;
case 221: break;
}
} else if (pObj.GetUIID() == 300) {
switch (UIObj.GetUIID()) {
case 201: Map_ZoomIn(); break;
case 202: Map_ZoomOut(); break;
case 203: OnSmRotation(); break;
case 204: OnSmHistoryprev(); break;
case 205: OnSmHistorynext(); break;
case 206: OnSmBirdview(); break;
case 207: OnSm3Dview(); break;
case 208: break;
case 209: break;
case 210: break;
case 211: break;
case 212: break;
case 213: break;
case 214: break;
case 215: break;
case 216: break;
case 217: break;
case 218: break;
case 219: break;
case 220: break;
case 221: break;
}
MyToolBar2[UIObj.GetUIID()-300].SetItemIndex(3);
}
}
// Map Rotation
void CSampleDlg::OnSmRotation()
{
CXControlState ctrlstate = ctrlman.GetControlState();
CXVector vector = ctrlstate.GetRotate();
vector.SetZ(vector.GetZ() + 10);
ctrlstate.SetRotate(vector);
}
// Previous
void CSampleDlg::OnSmHistoryprev()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
ctrlstate.HistoryPrev();
}
// Next
void CSampleDlg::OnSmHistorynext()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
ctrlstate.HistoryNext();
}
// Bird View
void CSampleDlg::OnSmBirdview()
{
CXControlState ctrlstate = ctrlman.GetControlState();
CXVector vector = ctrlstate.GetRotate();
if (vector.GetX() != 0) {
vector.SetX(0);
} else {
vector.SetX(-60);
}
ctrlstate.SetRotate(vector);
}
// 3D View
void CSampleDlg::OnSm3Dview()
{
CXUtility util = m_Map.GetUtility();
CXControlState ctrlstate = ctrlman.GetControlState();
switch(ctrlstate.GetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")))) {
case 1 : ctrlstate.SetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")),
util.GetConstToValue(_T("TMCTRLSTATE_CODE_BUILDING_3D_1"))); break;
case 11 : ctrlstate.SetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")),
util.GetConstToValue(_T("TMCTRLSTATE_CODE_BUILDING_3D_2"))); break;
case 12 : ctrlstate.SetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")),
util.GetConstToValue(_T("TMCTRLSTATE_CODE_BUILDING_NORMAL"))); break;
}
}
|
|
|
|
See Also
|
|
Map Preview
|
|