麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

VC++开发GIS系统(256)输入注释之类实现

前文《VC++开发GIS系统(248)输入注释之类设计》设计了输入注释的类,一系列的准备工作,本文对这个类做一个实现。

类的实现

在_malaLabel.cpp中实现 CmalaLabelsInput类,代码如下:

/*
* 输入注释
*/
CmalaLabelsInput::CmalaLabelsInput(CView* mView, malaScreen *pScreen, CString &fileFullPath)
{
    mBaseView = mView;
    mPath = fileFullPath;
    mScreen = pScreen;
    getLabelPro();
    mIsInput = false;
}
CmalaLabelsInput::~CmalaLabelsInput()
{
}
void CmalaLabelsInput::LButtonDown(UINT nFlags, malaPoint point)
{
    if (!mIsInput)
    {
        if (mLabelPro.textStr != L"")
        {
            malaCDC dc(mBaseView, *mScreen);
            dc.textDraw(point, mLabelPro);
            CLabelIO lio;
            lio.labelAdd(point, mLabelPro,mPath);
        }
        else
        {
            MessageBox(mBaseView->m_hWnd, L"输入内容不得为空", L"提示", MB_ICONQUESTION);
        }
        mIsInput = true;
    }
    
}

void CmalaLabelsInput::getLabelPro()
{
    //字体对话框
    if (dlgInputLabel(mLabelPro) == FALSE)
    {
        mLabelPro.labelHeight = 20;    //字体高度
        mLabelPro.labelHeight = 10;     //字体宽度
        mLabelPro.labelAngle = 0;  //字体角度
        mLabelPro.textAngle = 0; //文本角度
        mLabelPro.textColor = RGB(0, 0, 0);//字体颜色
        mLabelPro.textOff = 1;  //字体间距
        mLabelPro.textFont = L"华文楷体";  //字体类型
        mLabelPro.fontWeight = 400;
    }
}

解释一下思路。

  1. 构造输入注释的类的时候调用getLabelPro 函数,(参考:VC++开发GIS系统(249)设置注释属性对话框),设置并记录注释的输入参数。
  2. 点击左键,在点击位置绘制注释(参考:《VC++开发GIS系统(250)绘制文字的函数》),并保存文件(参考:《VC++开发GIS系统(255)保存一条注释函数》)。

详细代码可以参考:GitHub

麻辣GIS-Sailor
作者:
GIS爱好者,学GIS,更爱玩GIS。
微博关注
手机阅读
赞赏支持
手机阅读
微信捐助麻辣GIS
微信打赏
支付宝捐助麻辣GIS
支付宝打赏

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

3.如果本文对您有所帮助,请您对我们团队进行 打赏捐助让我们在传播3S的路上可以走得更远,不胜感激。PS:如果你是学生党,请优先把经费用于购买学习资料 以及 与小哥哥/小姐姐约会上:-)

如您有疑问,可在文末留言,或到麻辣GIS QQ群中提问。

QQ群(一):291616564 加入QQ群

QQ群(二):166408035 加入QQ群

QQ群(三):627853279 加入QQ群

QQ群(四):436386604 加入QQ群

QQ群(五):606176554 加入QQ群

QQ群(六):946178380 加入QQ群

QQ群(七):861271808 加入QQ群

新疆互助群:910717627 加入QQ群

微信公众号:malagis,扫描右边二维码直接关注。

发表评论