Win32环境,SDK项目,对话框上的文字输出问题,使用DrawText,但文字不显示。

Win32环境,SDK项目,对话框上的文字输出问题,使用DrawText,但文字不显示。,第1张

问题多多啊,推荐你看《Windows程序设计》这本书

指出一下错误:

包含头文件

#include <wchar.h>

VOID reportFallMsg(const TCHAR* msg)//这里既然用char *,说明是ANSI版本的,后面又用L"ABCDEFG\rNGHTF" 这个UNICODE 版本,冲突了。

{

PAINTSTRUCT ps

HDC hdc

RECT rect

SetRect(40,15,320,45)//简化为这句

hdc=GetDC(g_hDlg)//g_hDlg是全局变量么?

SetTextColor(hdc, RGB(255,0,0))

SetBkMode(hdc, TRANSPARENT)//透明背景

DrawText (hdc, TEXT("ABCDEFG\rNGHTF"), -1, &rect, DT_LEFT)

ReleaseDC(g_hDlg,hdc)

}

完整源代码:

case WM_PAINT:

hdc=GetDC(hDlg)

SetRect(40,15,320,45)//简化为这句

SetTextColor(hdc, RGB(255,0,0))

SetBkMode(hdc, TRANSPARENT)//透明背景

DrawText (hdc, TEXT("ABCDEFG\rNGHTF"), -1, &rect, DT_LEFT)

ReleaseDC(hDlg,hdc)

break

是软件开发工具包。

一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、 *** 作系统等创建应用软件的开发工具的集合。

软件工程师通常从目标系统开发者那里获得软件开发包。为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。SDK经常可以直接从互联网下载。有时也被作为营销手段。例如:甲产品或许会免费提供构件SDK以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。

扩展资料

sdk背景

Android是谷歌(Google)公司推出的手机开发平台。与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等.

比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。

Android平台提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<packagename>/shared_prefs目录下。

SharedPreferences,它是Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。

相关特性

其最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;

同时与WindowsMobile、Symbian等厂商不同,Android *** 作系统免费向开发人员提供,这样可节省近三成成本。

参考资料来源百度百科-sdk(软件开发工具包)

其实很简单,SDK就是SoftwareDevelopmentKit的缩写,中文意思就是“软件开发工具包”。

这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。

具体到我们这个系列教程,我们后面只讨论广义SDK的一个子集——即开发Windows平台下的应用程序所使用的SDK。

呵呵,其实上面只是说了一个SDK大概的概念而已,理解什么是SDK真有这么容易吗?恐怕没这么简单!为了解释什么是SDK我们不得不引入API、动态链接库、导入库等等概念。^

_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。

首先要接触的是“API”,也就是ApplicationProgrammingInterface,其实就是 *** 作系统留给应用程序的一个调用接口,应用程序通过调用 *** 作系统的API而使 *** 作系统去执行应用程序的命令(动作)。其实早在DOS时代就有API的概念,只不过那个时候的API是以中断调用的形式(INT21h)提供的,在DOS下跑的应用程序都直接或间接的通过中断调用来使用 *** 作系统功能,比如将AH置为30h后调用INT21h就可以得到DOS *** 作系统的版本号。而在Windows中,系统API是以函数调用的方式提供的。同样是取得 *** 作系统的版本号,在Windows中你所要做的就是调用()函数。

可以这么说,DOSAPI是“Thinkingin汇编语言”的,而WindowsAPI则是“Thinkingin高级语言”的。

DOSAPI是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么WindowsAPI呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。

DLL,即DynamicLinkLibrary(动态链接库)。我们经常会看到一些.dll格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟.exe文件不同的是,.dll文件不能直接执行,他们通常由.exe在执行时装入,内含有一些资源以及可执行代码等。其实Windows的三大模块就是以DLL的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了API函数的执行代码。为了使用DLL中的API函数,我们必须要有API函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在DLL中找到API的入口点而使用的。

所以,为了使用API函数,我们就要有跟API所对应的.H和.LIB文件,而SDK正是提供了一整套开发Windows应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了SDK的含义。

由于SDK包含了使用API的必需资料,所以人们也常把仅使用API来编写Windows应用程序的开发方式叫做“SDK编程”。而API和SDK是开发Windows应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如VCL和MFC,虽然他们比起“SDK编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用API函数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12068025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存