DrawText函数与前面介绍的TextOut函数都是文本输出函数,但它们是有区别的。DrawText函数是格式化输出函数,而TextOut函数不具备这样的功能。因而DrawText函数比TextOut函数功能强大,可以让文本输出时左对齐,或者右对齐,或者中间对齐,还可以让文本适应输出矩形内,如果超出时可以截断,或者显示为省略号的方式。DrawText函数在表格方式显示时肯定要使用到的函数。
函数DrawText声明如下:
WINUSERAPI
int
WINAPI
DrawTextA(
__in HDC hdc,
__inout_ecount(cchText) LPCSTR lpchText,
__in int cchText,
__inout LPRECT lprc,
__in UINT format);
WINUSERAPI
int
WINAPI
DrawTextW(
__in HDC hdc,
__inout_ecount(cchText) LPCWSTR lpchText,
__in int cchText,
__inout LPRECT lprc,
__in UINT format);
#ifdef UNICODE
#define DrawTextDrawTextW
#else
#define DrawTextDrawTextA
#endif // !UNICODE
hdc是当前设备的句柄。
lpchText是输出文本的缓冲区首地址。
cchText是输出文本的字符个数。
lprc是输出的显示区域。
format是用什么格式输出。
调用这个函数的例子如下:
#001//
#002//界面显示输出.
#003//
#004//蔡军生2007/08/27 QQ:9073204 深圳
#005//
#006void CCaiWinMsg::OnDraw(HDC hDC)
#007{
#008//
#009std::wstring strShow(_T("C++窗口类的实现,2007-08-27"));
#010TextOut(hDC,10,10,strShow.c_str(),(int)strShow.length());
#011
#012//设置输出字符串的颜色.
#013COLORREF crOld = SetTextColor(hDC,RGB(255,0,0));
#014
#015RECT rcText;
#016
#017//显示不全.
#018rcText.left = 10;
#019rcText.top = 30;
#020rcText.right = 100;
#021rcText.bottom = 50;
#022
#023DrawText(hDC,strShow.c_str(),(int)strShow.length(),&rcText,
#024 DT_LEFT|DT_SINGLELINE|DT_END_ELLIPSIS);
#025
#026//完全显示,左对齐.
#027 rcText.left = 10;
#028rcText.top = 50;
#029rcText.right = 300;
#030rcText.bottom = 80;
#031
#032DrawText(hDC,strShow.c_str(),(int)strShow.length(),&rcText,
#033 DT_LEFT|DT_SINGLELINE|DT_END_ELLIPSIS);
#034
#035
#036SetTextColor(hDC,RGB(0,0,255));
#037//完全显示,右对齐.
#038rcText.left = 10;
#039rcText.top = 80;
#040rcText.right = 300;
#041rcText.bottom = 110;
#042
#043strShow = _T("A&bcd");
#044DrawText(hDC,strShow.c_str(),(int)strShow.length(),&rcText,
#045 DT_RIGHT|DT_SINGLELINE|DT_END_ELLIPSIS);
#046
#047
#048//
#049SetTextColor(hDC,crOld);
#050}
分享到:
相关推荐
CreateScalableFontResource 为一种TureType字体创建一个资源文件,以便能用API函数AddFontResource将其加入Windows系统 DrawText 将文本描绘到指定的矩形中 DrawTextEx 与DrawText相似,只是加入了更多的功能 ...
windowsAPI函数详细介绍 AddFontResource 在Windows系统中添加一种字体资源 CreateFont 用指定的属性创建一种逻辑字体 CreateFontIndirect 用指定的属性创建一种逻辑字体 CreateScalableFontResource 为一种...
CreateScalableFontResource 为一种TureType字体创建一个资源文件,以便能用API函数AddFontResource将其加入Windows系统 DrawText 将文本描绘到指定的矩形中 DrawTextEx 与DrawText相似,只是加入了更多的功能 ...
用DrawText函数显示html格式内容,可以实现字体高亮显示
API函数AddFontResource将其加入Windows系统 DrawText 将文本描绘到指定的矩形中 DrawTextEx 与DrawText相似,只是加入了更多的功能 EnumFontFamilies 列举指定设备可用的字体 EnumFontFamiliesEx 列举指定设备...
Draw a Text in PictureBox by using DrawText API Code
掌握CDC的文字处理程序的编写,如何产生自定义字体和自定义插入符,熟悉对CString类的使用。通过对卡拉OK程序的编写,讲解定时器的使用和DrawText函数的巧妙运用。讲解如何使用CDC的裁减功能。
Android DrawText字符串的绘制 Android DrawText字符串的绘制
MFC环境下文本输出,包括路径层,DrawText函数使用等
解决DrawText中文字与字母之间自动换行
当鼠标在屏幕上移动时系统会产生重画消息,相应的程序就会调用TextOut,DrawText等API函数重画屏幕,翻译软件使用自己的函数代替系统提供的重画函数,在屏幕重画前进行自己的处理,显示翻译等等。
易语言API画矩形源码,API画矩形,设置刷子颜色,取对象句柄_,设置画笔颜色,取设备场景_,释放设备场景_,画矩形_,删除对象_,DrawText,GetClientRect,选入设备场景_,画矩形边框_
通达信指标公式编写教程:绘图函数DRAWLINE、DRAWTEXT等终版.pdf
利用drawtext给视频加字幕,忽略音频,只处理一个流视频
本文实例讲述了Python使用Windows API创建窗口。分享给大家供大家参考,具体如下: 一、代码 # -*- coding:utf-8 -*- #! python3 import win32gui from win32con import * def WndProc(hwnd,msg,wParam,lParam): ...
易语言菜单栏写字源码,菜单栏写字,proc,drawText,API_CallWindowProc,API_SetWindowLong,API_SendMessage,API_BeginPaint,API_EndPaint,API_DrawText,API_GetDC,API_GetWindowRect,API_DefWindowProc,API_...
掌握CDC的文字处理程序的编写,如何产生自定义字体和自定义插入符,熟悉对CString类的使用。通过对卡拉OK程序的编写,讲解定时器的使用和DrawText函数的巧妙运用。讲解如何使用CDC的裁减功能。
MFC文本输出函数DrawText,TabbedTextOut
更多内容见: VC共享乐园vcshare.net 何丹的论坛hedanwang.cn/bbs/
易语言自适应尺寸的输入框源码,自适应尺寸的输入框,WinProc,API_GetCurrentThreadId,API_GetWindowLong,API_GetWindowRect,API_SetWindowPos,API_SetWindowsHookEx,API_UnhookWindowsHookEx,API_GetWindow,API_...