实现一个非自动化的注释程序

按照以下步骤创建并运行实现非自动化注释的程序。

  1. 在LEADTOOLS21\Examples\CDLL目录中创建一个名为AnnNonAuto的新目录。

  2. 将Color目录中的所有内容复制到AnnNonAuto目录中。

  3. 按原样编译项目并运行Color.exe让你自己熟悉这个程序。您可以从MS-DOS提示符中运行exe文件,或者通过“构建->设置->调试->程序参数”菜单将映像文件设置为加载。

  4. 打开imports.cpp文件,添加如绿色所示的项目:

    如果定义(WIN64)# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ x64 \ \ Ltkrn_x.lib”# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ x64 \ \ Ltdis_x.lib”# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ x64 \ \ Ltfil_x.lib”# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ x64 \ \ Ltann_x.lib”其他的# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ Win32 \ \ Ltkrn_u.lib”# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ Win32 \ \ Ltdis_u.lib”# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ Win32 \ \ Ltfil_u.lib”# pragma评论(自由,"..\\..\\..\\ 自由”L_VER_DESIGNATOR“\ \ CDLL \ \ Win32 \ \ Ltann_u.lib”# endif// #如果已定义(WIN64)

  5. 中声明以下全局变量Color.cpp

    HANNOBJECT hContainer;HANNOBJECT MyNote;

    并具有以下功能:

    无效TestCreateAnn (HWND HWND);无效TestCreateNoteAnn (HWND HWND);

  6. 添加如下代码:

    无效TestCreateAnn (HWND HWND)矩形rClientArea;/*当前窗口的客户端区域*/HDC hWindowDC;/*当前窗口的设备上下文*/ANNRECT ContainerRect;/*定义矩形容器*/矩形rAnnBounds;/*边界矩形显示* //*获取当前窗口的设备上下文hWindowDC = GetDC (hWnd);/*获取当前窗口的客户端区域*/GetClientRect (hWnd, &rClientArea);/*创建注释容器,我们将其用作根容器*/ContainerRect。左= 0;ContainerRect。Top = 0;ContainerRect。right = BITMAPWIDTH(&Data.BitmapHandle) -1;ContainerRect。bottom = BITMAPHEIGHT(&Data.BitmapHandle) - 1;L_AnnCreateContainer(hWnd, &ContainerRect, TRUE, &hContainer);/*设置注释的标量和偏移量,假设显示尺寸与客户区域尺寸*/相同L_AnnSetScalarX(hContainer, (L_DOUBLE) rClientArearight / BITMAPWIDTH(&Data.BitmapHandle), 0);(hContainer, (L_DOUBLE) rClientArea。bottom / BITMAPHEIGHT(&Data.BitmapHandle), 0);L_AnnSetOffsetX(hContainer, (L_DOUBLE) 0,0);L_AnnSetOffsetY(hContainer, (L_DOUBLE) 0,0);L_AnnGetBoundingRect(hContainer, &rAnnBounds, NULL);L_AnnDraw(hWindowDC, &rAnnBounds, hContainer);ReleaseDC (hWnd, hWindowDC);返回

  7. 添加如下代码:

    无效TestCreateNoteAnn (HWND HWND)ANNRECT ContainerRect;ANNRECT MyNoteRect;矩形rAnnBounds;HDC hWindowDC;hWindowDC = GetDC(hWnd);/*创建注释*/L_AnnCreateItem(hContainer, ANNOBJECT_NOTE, TRUE, &MyNote);L_AnnGetRect(hContainer, &ContainerRect, NULL);/*大小和位置*/MyNoteRect。left = ContainerRect。右/ 8;MyNoteRect。top = ContainerRect。底/ 8;MyNoteRect。right = ContainerRect。右/ 2;MyNoteRect。底部= ContainerRect。底部/ 2;L_AnnSetRect (MyNote &MyNoteRect);/*设置注释的文本*/L_AnnSetText (MyNote文本(“这是我的短信”), 0);L_AnnSetBackColor(MyNote, RGB(0, 255, 255), 0);L_AnnSetFontBold(MyNote, TRUE, 0);L_AnnSetFontItalic(MyNote, FALSE, 0);L_AnnSetFontName (MyNote文本(“天线”), 0);L_AnnSetFontSize (MyNote 16 0);L_AnnSetFontStrikeThrough(MyNote, FALSE, 0);L_AnnSetFontUnderline(MyNote, TRUE, 0);L_AnnSetForeColor(MyNote, RGB(255,0,0), 0);/*显示备注*/L_AnnGetBoundingRect(MyNote, &rAnnBounds, NULL);L_AnnDraw(hWindowDC, &rAnnBounds, MyNote);/*删除排队的油漆消息*/ValidateRect (hWnd, &rAnnBounds);ReleaseDC (hWnd, hWindowDC);返回

  8. 将以下代码行添加到Window_OnCreate,在返回(TRUE)之前;:

    TestCreateAnn (hWnd);TestCreateNoteAnn (hWnd);

  9. 添加下面的行到Window_OnPaint

    L_AnnDraw(hdc ps。rcPaint hContainer);
    后立即
    如果(hpalPaint)SelectPalette(hdc, hPalette, FALSE);

  10. 添加下面的行到Window_OnDestroy,紧接在PostQuitMessage

    L_AnnDestroy(hContainer ANNFLAG_RECURSE);

  11. 在“构建”菜单上,选择“构建颜色”。

  12. 在“调试”菜单上,选择“不调试启动”。保留该项目用于测试其他注释代码示例和实现在运行模式中使用非自动注释

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。