在网上看到一个做界面的,无源文件,只有示例,上面是其中一个图片,然后在他的示例里所有按钮都可以用XP样式的(不管多大多少)来正常显示,我猜想他是用上面的图片通过拉伸自绘按钮实现的。
但是我在我的程序里根据实际按钮的大小用GetDIBits和StrechBit等函数将上面的图片进行放大或缩小并贴图后,如果实际按钮与上面图片大小差不多还没事,一旦大小差别很大,缩放后就严重失真。我的问题是,谁能帮我解决:就用上面的图片,自绘按钮时用该图片贴图,不管实际按钮多大多小,都能想出一种办法让其缩放后显示正常,不失真。我在学做界面,其它的方法我研究了一些,觉得还是这种方法最简单(截图,帖图),所以想弄懂。注:我说的那个界面大家可以下载看看:下载
还有个办法是自绘时直接画线。网上有个Xp风格的按钮代码,可以直接Google到。
切割拉伸以外,的确没有别的简单的办法了吗?
大家知道我说的那个“界面专家”他是用什么办法做的吗?
OpenThemeData 获得特定主题句柄
DrawThemeBackground 根据选定的主题句柄绘制控件的背景
DrawThemeEdge 根据选定的主题句柄绘制窗口边界
DrawThemeText 根据选定的主题句柄绘制窗口文本
如果要贴图的话 你可以把图片分为4角图 左上角和右上角高度的中间图 左下角和右下角高度的中间图 以及左上角和左下角之间的中间图 各为一像素即可。剩下就是区域重复性贴图了。四个角是定点贴图