www.mxdraw.com
内容索引主面
前一个向上下一个
_DMxDrawXEvents::InputPointToolTipEvent 方法

动态提示信息事件

IDL
[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();

                }
Copyright (c) 2010. All rights reserved.
你认为该帮助怎么样? 发送反馈信息!