自动化容器

从您创建的项目开始教程2:向量负载并保存

采取以下步骤添加使用自动化编辑对象的功能。

  1. 在项目工作区中,单击“类视图”选项卡,然后单击以打开“ Vecaut类”分支。

  2. 右键单击“ CVECAUTAPP”类,然后选择“添加“添加变量...”

  3. 对于“可变类型”,输入l_bool。

  4. 对于“可变声明”,输入m_btoolbardrawing。使用自动化绘制时,此变量将设置为true,并在选择指针(无)时将其设置为False。

  5. 单击以打开“ CVECAUTAPP”类分支。

  6. 双击“ cvecautapp”构造函数。

  7. 最后一次通话后添加以下行lsettings :: setlicensefile():

    m_btoolbardrawing = false;

  8. 有必要从Lcontainer得出类并覆盖“ ContainerCallback”功能。这用于设置m_btoolbardrawing变量。

  9. 右键单击“ Vecaut类”分支,然后选择添加“类...”

  10. 从“类别”中选择“ C ++类”。

  11. 对于“类名称”输入“ mycontainer”。

  12. 对于“基类”输入“ lcontainer”。

  13. 单击“完成”。

  14. 单击“类查看”选项卡。双击“ mycontainer”以转到类定义。然后添加以下行:

    上市l_int containerCallback(containeReventType neventtype,l_void * peventdata);

  15. 用以下#include替换自动生成的#include Line(请记住,您可能必须将路径更改为标头文件的位置):

    #包括“ .. \ .. \ .. \ .. \ .. \ includs \ classlib \ ltwrappr.h”

  16. 在“ mycontainer.cpp”中添加以下代码:

    l_int mycontainer :: containerCallback(containeReventType neventtype,l_void * peventdata){如果(neventtype == container_event_type_draw){pcontainerobjectdata pcontainerobjectdata;pcontainerObjectData =(pcontainerObjectData)peventdata;转变(pcontainerobjectdata-> fstate){案子container_state_begin://开始theapp.m_btoolbardrawing = true;休息;案子container_state_process://绘画//没做什么休息;案子container_state_end://完成的theapp.m_btoolbardrawing = false;休息;}}返回lcontainer :: containerCallback(neventtype,peventdata);}

  17. 转到mycontainer.cpp的顶部,然后在最后一个#include之后添加以下几行:

    #包括“ vecaut.h”外部cvecautapp theapp;

  18. 现在,有必要从lvectorwindow派生一类,并覆盖MSGProccallback()成员函数来处理鼠标消息。

  19. 右键单击“ Vecaut类”分支,然后选择添加“类...”

  20. 从“类别”中选择“ C ++类”。

  21. 对于“类名称”输入“ MyVectorWindow”。

  22. 对于“基类”输入“ lvectorwindow”。

  23. 单击“完成”。

  24. 您将获得一个对话框,指出“新类向导找不到适当的标题文件...”单击“确定”。

  25. 单击“类查看”选项卡。双击“ MyVectorWindow”以转到类定义。然后添加以下行:

    上市lresult msgproccallback(HWND HWND,UINT UMSG,WPARAM WPARAM,LPARAM LPARAM);

  26. 用以下#include替换自动生成的#include Line(请记住,您可能必须将路径更改为标头文件的位置):

1)

  1. 双击“ msgproccallback”分支,添加以下代码:

    lresult myVectorwindow :: msgproccallback(HWND HWND,UINT UMSG,WPARAM WPARAM,LPARAM LPARAM){转变(UMSG){案子wm_rbuttondown:{如果(theapp.m_btoolbardrawing == false){lvectorObject myobject;点点;point.x = loword(lparam);point.y = hiword(lparam);Hittest(&Point,&MyObject);theapp.m_automation.editvectorObject(&myObject);}}}返回lvectorwindow :: msgproccallback(HWND,UMSG,WPARAM,LPARAM);}

  2. 单击“类查看”选项卡。然后单击以打开“ Vecaut类”分支。

  3. 单击以打开“ CVECAUTDOC”分支。

  4. 双击M_VectorWindow成员变量。

  5. 从以下方式更改声明:

    lvectorwindow m_vectorwindow

至:

MyVectorWindow m_vectorwindow;

  1. 转到myVectorwindow.cpp的顶部,然后在最后一个#include之后添加以下几行:

    #包括“ vecaut.h”外部cvecautapp theapp;

  2. 打开vecautdoc.h,然后在#include“ ltwrappr.h”之后添加以下行:

    #包括“ myVectorwindow.h”

  3. 现在添加代码以设置容器属性。这些影响选定的向量对象的外观。

  4. 单击“类视图”选项卡中的“ CVECAUTVIEW”分支。

  5. 双击“ OnCreate”成员函数,然后添加以下本地变量:

    Containermetrics Containermetrics;

  6. 在“返回0”之前添加以下代码

    //设置容器指标containermetrics.dwmask =CMF_BORDERCOLOR |cmf_handlecolor |cmf_handleheight |cmf_handlewidth |cmf_enablehandles;containermetrics.crborder = rgb(255,0,0);containermetrics.crhandle = rgb(0,255,0);containermetrics.nhandleheight = 8;contunermetrics.nhandlewidth = 8;containermetrics.fenablehandles = true;getDocument() - > m_container.setMetrics(&continerMetrics);

  7. 编译并运行程序。从菜单栏中选择File->新的。选择视图 - >向量工具栏。选择行工具并绘制几行。现在选择“无”工具(带有箭头图标)。右键单击矢量线之一。手柄出现。拖动一个手柄以旋转线路。拖动线的中心以移动整个线路。双击以结束“编辑模式”。

LeadTools容器和自动化C ++类库帮助
188金宝搏的网址客服|支持|联系我们|知识产权通知
©1991-2021Lead Technologies,Inc。版权所有。