|
|
function MapEvent_OnPOIUIClick(XPOIItem, Flag, X, Y, Panel)
{
if (!XPOIItem) return;
if (!Panel) return;
switch (Panel.GetUIID()) {
case 1: alert("Á¤º¸ ¹Ú½ºÀÇ CaptionÀ» Ŭ¸¯Çß½À´Ï´Ù!!"); break;
case 2: alert("Á¤º¸ ¹Ú½º¸¦ Ŭ¸¯Çß½À´Ï´Ù!!"); break;
case 3: // »ó¼¼ Á¤º¸
{
var lonlat = XPOIItem.GetLonLat();
alert("°æµµ: " + lonlat.X + ", À§µµ: " + lonlat.Y);
}
break;
case 4: // ¸Þ´º
{
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
var uiman = ctrlman.GetUIMan();
var size = ctrlstate.GetSizeDP();
var lonlat = XPOIItem.GetLonLat();
var menu = m_Map.GetApplication().GetPopupMenu();
menu.Create();
menu.AppendString(1, "1¹ø ¸Þ´º", "", "", 1);
menu.AppendString(2, "2¹ø ¸Þ´º", "", "", 2);
menu.AppendString(3, "3¹ø ¸Þ´º", "", "", 3);
menu.AppendString(4, "4¹ø ¸Þ´º", "", "", 4);
menu.AppendString(5, "5¹ø ¸Þ´º", "", "", 5);
var pos = Panel.ClientToScreen(X, Y);
var item = menu.TrackPopupMenu(0, pos.X, pos.Y);
if (item) {
switch (item.GetID()) {
case 1: alert("1¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."); break;
case 2: alert("2¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."); break;
case 3: alert("3¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."); break;
case 4: alert("4¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."); break;
case 5: alert("5¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."); break;
default: alert("À¯È¿ÇÏÁö ¾ÊÀº ÀÛ¾÷ÀÔ´Ï´Ù.!!"); break;
}
}
}
break;
case 5:
{
XPOIItem.DestroyInfoBox();
}
break;
default:
alert("À¯È¿ÇÏÁö ¾ÊÀº IDÀÔ´Ï´Ù!!");
}
}
|
|
|
#include "CXCtrlMan.h"
#include "CXPOIItem.h"
#include "CXUIObj.h"
#include "CXUIMan.h"
#include "CXControlState.h"
#include "CXSize.h"
#include "CXPoint.h"
#include "CXApplication.h"
#include "CXPopupMenu.h"
#include "CXPopupMenuItem.h"
void CSampleDlg::OnPOIUIClickTalmapxctrl1(LPDISPATCH POI, long nFlag, long X, long Y, LPDISPATCH Obj)
{
CXPOIItem poi;
poi.AttachDispatch(POI, FALSE);
CXUIObj object;
object.AttachDispatch(Obj, FALSE);
if (poi.m_lpDispatch == NULL) return;
if (object.m_lpDispatch == NULL) return;
switch(object.GetUIID())
{
case 1: MessageBox(_T("Á¤º¸¹Ú½ºÀÇ CaptionÀ» Ŭ¸¯Çß½À´Ï´Ù."), _T("È®ÀÎ"));break;
case 2: MessageBox(_T("Á¤º¸¹Ú½º¸¦ Ŭ¸¯Çß½À´Ï´Ù."), _T("È®ÀÎ")); break;
case 3: {
CXPoint point = poi.GetLonLat();
CString msg ;
msg.Format(_T("°æµµ : %d, À§µµ : %d"), point.GetX(), point.GetY());
MessageBox(msg, _T("È®ÀÎ"));
} break;
case 4: {
CXUIMan uiman = ctrlman.GetUIMan();
CXControlState ctrlstate = ctrlman.GetControlState();
CXSize size = ctrlstate.GetSizeDP();
CXPoint point = poi.GetLonLat();
CXApplication app = m_Map.GetApplication();
CXPopupMenu menu = app.GetPopupMenu();
menu.Create();
menu.AppendString(1, _T("1¹ø ¸Þ´º"), _T(""),_T(""), 1);
menu.AppendString(2, _T("2¹ø ¸Þ´º"), _T(""), _T(""), 2);
menu.AppendString(3, _T("3¹ø ¸Þ´º"), _T(""), _T(""), 3);
menu.AppendString(4, _T("4¹ø ¸Þ´º"), _T(""), _T(""), 4);
menu.AppendString(5, _T("5¹ø ¸Þ´º"), _T(""), _T(""), 5);
CXPoint pos = object.ClientToScreen(X, Y);
CXPopupMenuItem item = menu.TrackPopupMenu(0, pos.GetX(), pos.GetY());
if (item.m_lpDispatch != NULL) {
switch (item.GetID())
{
case 1: MessageBox(_T("1¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."), _T("È®ÀÎ")); break;
case 2: MessageBox(_T("2¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."), _T("È®ÀÎ")); break;
case 3: MessageBox(_T("3¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."), _T("È®ÀÎ")); break;
case 4: MessageBox(_T("4¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."), _T("È®ÀÎ")); break;
case 5: MessageBox(_T("5¹ø ¸Þ´º¸¦ Ŭ¸¯ÇÏ¿´½À´Ï´Ù."), _T("È®ÀÎ")); break;
}
}
}break;
case 5: poi.DestroyInfoBox(); break;
}
}
|
|