# include“l_bitmap.h”
L_LTANN_APIL_INTL_AnnGetTextScaleWithDpi (hObject pbTextScaleWithDpi)
得到一个值指示是否考虑位图的DPI在计算文本字体大小。
一个自动化对象的句柄。
指针变量更新标志,指示是否考虑位图的DPI在计算文本字体大小。可能的值是:
价值 | 意义 |
---|---|
真正的 | 考虑DPI的位图。 |
假 | 忽略了位图的DPI。 |
价值 | 意义 |
---|---|
成功 | |
< 1 | 一个错误发生。指返回代码。 |
必需的dll和库
Win32 x64, Linux。
样本为L_AnnGetTextScaleWithDpi L_AnnSetTextScaleWithDpi。
尝试此示例,将代码粘贴到CDLL注释演示(Annotate.cpp)。
和替换的代码框(IDM_ABOUT)如下:
案例IDM_ABOUT:
{
ABOUT_DIALOG (hwnd,“注释”);
hwndChild = (HWND) SendMessage (hwndClient WM_MDIGETACTIVE 0,0);
如果(hwndChild)
{
LPCHILDDATA pData = (LPCHILDDATA) GETWNDDATA (hwndChild);
AnnEnumerateObjects (pData - > hContainer);
}
打破;
}
L_INT AnnGetTextScaleWithDpiExample (HANNOBJECT hObject HWND HWND)
{
/ * hObject ANNOBJECT_TEXT * /类型的必须
L_INT nRet;
L_BOOL bTextScaleWithDpi = L_FALSE;
nRet = L_AnnGetTextScaleWithDpi (hObject &bTextScaleWithDpi);/ /存储旧值
nRet = L_AnnSetTextScaleWithDpi (hObject ! bTextScaleWithDpi);/ /切换和重画的价值
RedrawWindow (hWnd,空,空,RDW_INVALIDATE);
对话框(NULL,文本(“TextScaleWithDpi价值已经连接。”),文本(“信息”),MB_OK);
nRet = L_AnnSetTextScaleWithDpi (hObject bTextScaleWithDpi);/ /重置旧值和重画
RedrawWindow (hWnd,空,空,RDW_INVALIDATE);
对话框(NULL,文本(“TextScaleWithDpi价值已恢复。”),文本(“信息”),MB_OK);
返回成功;
}
L_INT EXT_CALLBACK annTextDPIScaleCallback (HANNOBJECT hObject L_VOID * pUserData)
{
L_UINT ObjectType;
L_INT ObjectCount;
ObjectCount = (L_INT) pUserData;
L_AnnGetType (hObject objecttype);
如果(ObjectType = = ANNOBJECT_TEXT | | ObjectType = = ANNOBJECT_NOTE)
{
AnnGetTextScaleWithDpiExample (hObject GetActiveWindow ());
}
返回成功;
}
L_VOID AnnEnumerateObjects (HANNOBJECT hContainer)
{
L_AnnEnumerate (hContainer annTextDPIScaleCallback, NULL, ANNFLAG_RECURSE NULL);
}