ÔÚ³öÏֵĶԻ°¿òÀïÑ¡ÔñESRI MapControl£¬È·¶¨¡£
½ÓÏÂÀ´²é¿´ÐÞ¸ÄESRI MapControlµÄÊôÐÔ£¨ÈçÏÂͼ£©£¬Ñ¡ÔñControlÒ³£¬ÔÚMap Document£º´¦Ñ¡ÔñÒ»¸ömxd/mxt/pmfÎļþ£¬¼´Òª¼ÓÔØµÄµØÍ¼Îĵµ¡£
»òÕßÑ¡ÔñMapÒ³£¨ÈçÏÂͼ£º£©£¬ÔÚÓұߵÄlistÖÐÌí¼Óͼ²ãÒ²¿É¡£
±£´æÐ޸쬱àÒë³ÌÐò¡£ÔËÐоͿÉÒÔ¿´µ½Ò»¸ö¼òµ¥ÏÔʾµØÍ¼µÄ³ÌÐòÁË£¨ÈçÏÂͼ£©¡£
Èý¡¢±¾ÕÂС½á
ÉÏÃæÖ»ÊÇÒ»¸ö¼òµ¥ÊµÀý£¬ÀïÃæÓÐÐí¶à¹¦Äܶ¼Ã»ÓУ¬µ±Äã°Ñ³ÌÐò´°¿Ú×î´ó»¯Ê±Äã»á·¢ÏÖ£¬µØÍ¼´°¿ÚûÓÐËæ´°¿Ú·Å´ó¡£ÔÚÏÂÒ»½ÚÎÒÃǽ«ÍêÉÆÕâ¸ö¹¦ÄÜ£¬²¢Ìí¼ÓµØÍ¼ÂþÓεÄһЩ¹¦ÄÜ¡£
5 AO¿ª·¢±Ê¼Ç(ʵսƪ)£ÓÃVC+AO¿ª·¢¶ÀÁ¢µÄÓ¦ÓóÌ
Ðò(2)
×÷ÕߣºSnoopy ÎÄÕÂÀ´Ô´£ºÖйú3SÍøÕ¾£¨httpwww.863s.com£© µã»÷Êý£º2852 ¸üÐÂʱ¼ä£º2006-12-11
ÔÚÉÏÒ»½ÚÖÐÎÒÃÇʵÏÖÁËÒ»¸ö¼òµ¥µÄÏÔʾµØÍ¼µÄ³ÌÐò¡£ÏÂÃæÎÒÃÇÔÚËüµÄ»ù´¡ÉÏÍêÉÆºÍÌí¼ÓÒÔÏÂÐµĹ¦ÄÜ£º
1£®µ±¿ò¼Ü´°¿Ú´óС¸ü¸Äʱ¸Ä±äµØÍ¼¿Ø¼þ´°¿ÚÊ¹Ö®Ëæ¿ò¼Ü´°¿ÚÔö´ó¡£ 2£®Ôö¼ÓµØÍ¼ÂþÓι¦ÄÜ£ºÒƶ¯¡¢·Å´ó¡¢ËõС¡¢ÏÔʾȫͼ Ò»¡¢¸ü¸ÄÏîÄ¿ÅäÖá¢Ìí¼ÓÒýÈë¿â´úÂë
ÔÚ±¾½ÚÖÐÎÒÃǽ«Ê¹ÓÃAOÌṩµÄһЩ½Ó¿Ú£¬ËùÒÔÐèÒª¸ü¸ÄÏîÄ¿ÅäÖã¬ÒÔ¼°Ìí¼ÓÒýÓÃAO¿âµÄ´úÂë¡£
Ê×ÏÈ´ò¿ªÉÏÒ»½ÚËù½¨ÏîÄ¿¡£Ñ¡Ôñ²Ëµ¥Tools->Options->DirectoriesÒ³ÔÚInclude filesÀïÌí¼ÓÁ½¸ö·¾¶£¨Èç¹ûÄãµÄArcGISµÄ°²×°Ä¿Â¼ÔÚÆäËüÅÌ£¬Ðè×öÏàÓ¦¸Ä¶¯£©£º
C:\\PROGRAM FILES\\ARCGIS\\COM C:\\PROGRAM FILES\\ARCGIS\\BIN ÔÚÏîÄ¿µÄStdAfx.hÖÐÌí¼ÓÈçÏ´úÂ룺 // AOÒýÈë¿â
#pragma warning(push) #pragma warning(disable: 4192) #pragma warning(disable: 4146)
#import \ raw_interfaces_only
raw_native_types
no_namespace
named_guids exclude(\, \,\, \)
#import \ raw_interfaces_only, raw_native_types, no_namespace, named_guids exclude(\)
#import \ raw_interfaces_only named_guids
#import \ raw_interfaces_only named_guids
#import \ raw_interfaces_only raw_native_types no_namespace named_guids
#import \ raw_interfaces_only, named_guids
#import \ raw_interfaces_only
no_namespace named_guids exclude(\, \)
#import \ raw_interfaces_only
no_namespace named_guids exclude(\, \)
#import \ raw_interfaces_only raw_native_types no_namespace
raw_native_types raw_native_types
raw_native_types,
no_namespace,
raw_native_types
no_namespace
raw_native_types
no_namespace
named_guids
#import \ raw_interfaces_only named_guids
#import \ raw_interfaces_only named_guids
#import \ raw_interfaces_only no_namespace named_guids
#import \ raw_interfaces_only raw_native_types no_namespace named_guids
#pragma warning(pop)
¶þ¡¢Ìí¼ÓµØÍ¼ä¯ÀÀ¹¦ÄÜ£¬ÍêÉÆµØÍ¼´°¿ÚËõ·Å 1¡¢Ê¹MapControlËæ´°¿Ú·Å´ó
Ê×ÏÈΪCAOExStep1ViewÌí¼ÓÒ»¸ö±£»¤ÀàÐ͵ijÉÔ±±äÁ¿£º IMapControl3Ptr m_ipMapControl; // µØÍ¼¿Ø¼þ
¸Ã±äÁ¿±£´æÖ¸ÏòMapContrlµÄ½Ó¿ÚÖ¸Õ롣ȻºóÔÚÀàCAOExStep1ViewµÄ³ÉÔ±º¯ÊýOnInitialUpdateÌí¼ÓÈçÏ´úÂë³õʼ»¯Ëü£¨ºìÉ«²¿·Ö£©£º
void CAOExStep1View::OnInitialUpdate() {
¡// ´Ë´¦Ê¡ÂÔÆäËü´úÂë // »ñÈ¡MapControlÖ¸Õë
m_ipMapControl = GetDlgItem(IDC_MAPCONTROL1)->GetControlUnknown(); }
ΪÀàCAOExStep1ViewÌí¼Ó´°¿Ú¸Ä±ä´óСʼþº¯Êý£¬²¢ÔÚÀïÃæÌí¼ÓÈçÏ´úÂ루ºìÉ«²¿·Ö£©£º
void CAOExStep1View::OnSize(UINT nType, int cx, int cy) {
CFormView::OnSize(nType, cx, cy);
// View´°¿Ú¸Ä±ä´óСʱ¸Ä±äMapControl´óС if(m_ipMapControl!=NULL) { CRect rc; GetClientRect(rc);
GetDlgItem(IDC_MAPCONTROL1)->MoveWindow(rc); } }
¾¹ýÉÏÃæµÄÐ޸ģ¬ÏÖÔÚÖØÐ±àÒë³ÌÐò£¬°Ñ´°¿Ú×î´ó»¯£¬Äã»á¿´µ½µØÍ¼´°¿ÚËæÖ®·Å´ó¡£
raw_native_types
raw_native_types
no_namespace
raw_native_types
no_namespace
2¡¢½ÓÏÂÀ´ÎÒÃÇÀ´Ìí¼ÓµØÍ¼ÂþÓι¦ÄÜ
Ê×ÏȰÑÏîĿĬÈϵŤ¾ßÀ¸°´Å¥È«²¿É¾³ýÖ»ÁôϹØÓÚ°´Å¥¡£È»ºóÌí¼Ó5¸ö°´Å¥£¬°´Å¥IDºÍÌáʾÎı¾ÈçÏ£¬°´Å¥µÄͼ±ê¿ÉÒÔʹÓÃArcGISµÄÏàÓ¦¹¦ÄܵÄͼ±ê£¨ArcGISµÄһЩͼ±ê±£´æÔÚ°´ÕÕĿ¼µÄBin\\Icons\\ÏÂÃæ£¬ÊÇһϵÁÐbmpÎļþ£©¡£
ID_MAP_ARROW \Ñ¡Ôñ״̬\\nÑ¡Ôñ״̬\ID_MAP_PAN \µØÍ¼Æ½ÒÆ\\nµØÍ¼Æ½ÒÆ\ID_MAP_ZOOMIN\µØÍ¼·Å´ó\\nµØÍ¼·Å´ó\ID_MAP_ZOOMOUT \µØÍ¼ËõС\\nµØÍ¼ËõС\ID_MAP_FULLEXTENT \ÏÔʾȫͼ\\nÏÔʾȫͼ\
ΪÁË´¦ÀíÊó±êʼþÎÒÃÇÐèҪΪMapControlÌí¼ÓÒ»¸öonMouseDownʼþº¯Êý£¬ÔÚÀàCAOExStep1ViewÀïÌí¼ÓÉÏÃæÌí¼ÓµÄ¹¤¾ßÀ¸°´Å¥µÄÏìÓ¦º¯Êý£¬ÁíÍâÎÒÃÇ»¹ÐèÒªÔÚÀàCAOExStep1ViewÍ·ÎļþÀïÌí¼ÓÒ»¸ö±êÖ¾µ±Ç°Êó±ê²Ù×÷״̬µÄ³ÉÔ±±äÁ¿£º
esriARTool m_ARTool; // Êó±êµ±Ç°×´Ì¬
ÔÚ¹¤¾ßÀ¸ÏìÓ¦º¯ÊýÖÐÌí¼ÓÈçÏ´úÂ루ºìÉ«²¿·Ö£©£º // Ñ¡Ôñ״̬
void CAOExStep1View::OnMapArrow() {
m_ARTool = esriARToolNoneSelected;
m_ipMapControl->put_MousePointer(esriPointerDefault); }
// µØÍ¼Æ½ÒÆ
void CAOExStep1View::OnMapPan() {
m_ARTool = esriARToolMapPan;
m_ipMapControl->put_MousePointer(esriPointerPan); }
// µØÍ¼·Å´ó
void CAOExStep1View::OnMapZoomin() {
m_ARTool = esriARToolMapZoomIn;
m_ipMapControl->put_MousePointer(esriPointerZoomIn); }
// µØÍ¼ËõС
void CAOExStep1View::OnMapZoomout() {
m_ARTool = esriARToolMapZoomOut;