首页 > 编程知识 正文

c窗体应用程序实例结课作业,c语言程序设计例题

时间:2023-05-04 17:10:28 阅读:143310 作者:1624

《WINDOWS程序设计》第四章关于TEXTOUT的小问题

jsdfd原文是这样说的。

很清楚需要显示格式化的数字和简单的字符串。 正如第2章所述,不能使用习惯的工具。(

爱的printf函数)来完成此任务,但可以使用sprintf和Windows版的sprintf-wsprintf。 这些信

数量与printf相似,只是将格式化字符串放入字符串中。 然后,可以通过TextOut将字符串输出到显示器。

方便的是,从sprintf和wsprintf返回的值是字符串的长度。 把这个值传递给TextOut

长度参数。 以下程序代码显示了wsprintf和TextOut的典型组合。

int iLength;

TCHAR szBuffer [40];

其他行程序

Ilength=wsprintf(SZbuffer,text ) ' thesumof%Iand%Iis%I ' )、

iA、iB、iA iB;

textout(HDC,x,y,szBuffer,iLength );

在这种简单的情况下,不需要定义iLength,因为nLength的定义值可以与TextOut包含在同一说明中。

textout(HDC,x,y,szBuffer,

wprintf(SZbuffer,text ) ' thesumof%Iand%Iis%I ' ),

() iA、iB、iA iB );

这个样子不漂亮,但功能和前者一样。

综合使用

问题1 :

示例代码

Ilength=wsprintf(SZbuffer,text ) ' thesumof%Iand%Iis%I ' )、

iA、iB、iA iB;

textout(HDC,x,y,szBuffer,iLength );

的格式字符%i是什么意思? 我读了很多关于c语言的书,但是找不到这个格式文字。

问题2 :

在处理WM_PAINT消息时,示例程序SYSMETS1中的WndProc函数如下所示:

case WM_PAINT :

HDC=beginpaint(HWND,ps );

for(I=0; i NUMLINES; I )

{

textout(HDC,0,cyChar * i,

sysmetrics[I].SZ级别,

Lstrlen(sysmetrics[I].SZ级别);

textout(HDC,22 * cxCaps,cyChar * i,

sysmetrics[i].szDesc,

Ltrlen(sysmetrics[I].SZdesc );

设置文本对齐(hdc,TA_RIGHT | TA_TOP );

textout(HDC,22 * cxCaps 40 * cxChar,cyChar * i,szBuffer,

wprintf(SZbuffer,text ) ')、

getsystemmetrics (sys metrics [ I ].iindex );

设置文本对齐(hdc,TA_LEFT | TA_TOP );

}

endpaint(hwnd,ps );

返回0;

其中的:

textout(HDC,0,cyChar * i,

sysmetrics[I].SZ级别,

Lstrlen(sysmetrics[I].SZ级别);

textout(HDC,22 * cxCaps,cyChar * i,

sysmetrics[i].szDesc,

Ltrlen(sysmetrics[I].SZdesc );

为什么不在wsprintf中处理显示的字符串? 就像后面一样

textout(HDC,22 * cxCaps 40 * cxChar,cyChar * i,szBuffer,

wprintf(SZbuffer,text ) ')、

getsystemmetrics (sys metrics [ I ].iindex );

是的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。