www.mxdraw.com
|
动态提示信息事件
[id(2)] void InputPointToolTipEvent(IDispatch* pEntity, BSTR* pToolTip);
参数 |
说明 |
BSTR* pToolTip |
返回提示字符串 |
lId |
被提示的对象id |
例如: 提示字符串支持html的一些格式,如:监测对象提示!ndddsss 说明如下:
Prints the formating string of the tooltip
---------------------------------------------------------------
Format of string:
text - The bold string
text - The italic string
text - The underline string
<s> text </s> - The strike out string
<cb=0x123456> text </cb> - The background color (RGB (12,34,56))
<ct=0x123456> text </ct> - The text color (RGB (12,34,56))
<cbi=1> text </cbi> - The index background color(0 - F)
<cti=1> text </cti> - The index text color(0 - F)
<al> or <al_l> - sets align to left edge
<al_c> - sets align to the center
<al_r> - sets align to the right edge
<hr=100%> - the horizontal line with length 100%
<hr=32> - the horizontal line with length 32 pixels.
<a="link"> text </a> - The hyperlink
<h=1> text </h> - hot zone (number of zone)
<br[=1]> - new line (numbers of the lines)
<t[=1]> - tabulation (number of tabulations)
"<ct=0x0000FF><al_c>读取<br><ct=0x00AA00><hr=100%></ct><br><a="link">读取Outlook Express中通讯薄内容</a>"
- draws the image by his name
<ilst[=0x0000]> - draws the image from image list
<bmp[=0x0000] mask[=0xFF00FF] [cx=0] [cy=0]> - draws bitmap
<icon[=0x0000] [cx=0] [cy=0]> - draws the icon
例如: VC6代码
void CTestMxDrawXDlg::OnInputPointToolTipEventMxdrawxctrl1(long lId, BSTR FAR* pToolTip) { // TODO: Add your control notification handler code here IDispatch* pDispatch = m_ocx.GetDatabase(); CComPtr<IMxDrawDatabase> spDatabase; pDispatch->QueryInterface(&spDatabase); pDispatch->Release(); if(spDatabase == NULL) return ; IMxDrawMcDbObjectPtr spObj = spDatabase->ObjectIdToObject(lId); CComPtr<IMxDrawEntity> spEnt; spObj->QueryInterface(&spEnt); if(spEnt == NULL) { return; } CString sName((const char*)(spEnt->ObjectName) ); CComPtr<IMxDrawLine> spLine; spEnt->QueryInterface(&spLine); CString sLayerName((const char*)(spEnt->Layer )); CString sColor; sColor.Format(_T("颜色RGB:(%d,%d,%d)"),spEnt->TrueColor->GetRed(), spEnt->TrueColor->GetGreen(), spEnt->TrueColor->GetBlue() ); CString sT1; sT1.Format(_T("对象名:%s,层名:%s,%s"),sName,sLayerName,sColor); CString sT2; if(spLine != NULL) { MXPOINT startPt; MXPOINT endPt; Convert3dPoint(spLine->GetStartPoint(),startPt); Convert3dPoint(spLine->GetEndPoint(),endPt); // 用户选择了一个直线.. sT2.Format(_T("直线开始点:%lf,%lf,%lf,直线结束点:%lf,%lf,%lf"),startPt.x,startPt.y,startPt.z, endPt.x,endPt.y,endPt.z ); } // CString sPrompt; sPrompt.Format(_T("%s%s"),sT1,sT2); *pToolTip = sPrompt.AllocSysString(); }