关于自己制作一个界面库的可行性研究!
公司要求做一个界面库,非通用界面库,程序使用这个界面库可以完成边框和一些标志(类似下面的图中所显示的"Creative"等等)。现在的问题是,使用贴图的方法界面都是不能改变大小的(拉伸位图可能造成失真),但是,现在要求能改变界面大小,有什么解决方案吗?
http://blog.csdn.net/vcleaner/gallery/image/33025.aspx
再有就是如果使用贴图的方法怎么能能贴出圆角的界面窗口?可以看到上图中的窗口是圆角的。呵呵。
时间比较紧,如果能用贴图的方法实现最好!
注意:界面能改变大小,包含拖动改变大小和最大最小化;圆角窗口!
问题点数:200、回复次数:24Top
1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-12-03 12:05:56 得分 0
帖图?界面库?这之间有什么关系?Top
2 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-12-03 12:09:55 得分 0
Logo?针对不同的分辨率贴不同的图?Top
3 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-03 12:15:24 得分 0
当然是针对不同的分辨率,界面库和贴图的关系是我猜测的。因为我使用ExeScope没有看到那个EXE的资源中有图片,它的相关的DLL中好像有一个界面库,呵呵,如果不用贴图就能实现那最好的!Top
4 楼Trashy(【叶落随风】)回复于 2004-12-03 12:37:13 得分 0
VCBASE上不是有这样的程序代码嘛,重画非客户区的!Top
5 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-03 12:49:11 得分 0
呵呵,非客户区作图?^_^,我知道,“金山毒霸”的界面贴图我都看了,觉得那不能满足我改变窗体大小的要求!Top
6 楼try876(彼岸)回复于 2004-12-03 12:49:42 得分 20
改变大小也可以用帖图的方式来做
可以参考winamp的皮肤,在skins目录下面,用zip的方式打开,可以看到一堆的图片)
winamp的主窗口可以双倍大小,playlist窗口可以任意大小
主要是要把一些图片分成多块,比如圆角按钮,就可以分开9块Top
7 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-03 12:57:54 得分 0
to try876(彼岸):
代码在何处能下载?Top
8 楼tong20037(小菜)回复于 2004-12-03 14:56:35 得分 20
我这里有源代码,但公司不让发邮件,你可以在www.vczx.com上找找,我就是从那里下的Top
9 楼Trashy(【叶落随风】)回复于 2004-12-03 15:16:06 得分 20
我没说是“金山毒霸”界面的那篇啊,VCKBASE上确实有可以拖动改变大小和最大最小化的代码文章!Top
10 楼try876(彼岸)回复于 2004-12-03 15:25:08 得分 20
我没有winamp的源代码,不过可以推断她应该用的就是帖图Top
11 楼Trashy(【叶落随风】)回复于 2004-12-03 15:46:40 得分 40
第13期 美化你的应用程序的外观界面
第14期 XP风格复活节彩蛋的实现
第18期 支持换肤功能的窗口实例
上面的文章,都有可以拖动改变大小和最大最小化的代码!Top
12 楼wangjia184(我就是传说中的。。。。。。SB)回复于 2004-12-03 15:50:17 得分 0
麻烦啊~~Top
13 楼marstxj(翼山)回复于 2004-12-03 16:02:58 得分 0
下载个AppFace 试试,速度最快的免费界面库,使用非常简单,只需添加几行代码. http://www.appface.comTop
14 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-03 16:09:24 得分 0
真的很麻烦啊,呵呵,我也看到他们的代码了,呵呵,尝试了一下,离我的目标还有一段距离啊,使用了第18期 支持换肤功能的窗口实例的方法,程序太麻烦了,并且实现非矩形窗口比较难。
我现在最烦的就是怎么实现非矩形窗口了!!
Top
15 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-03 16:23:12 得分 0
不要给我提过什么界面库了,公司规定一律不能使用别人的界面库,因为害怕涉及到版权的问题!呵呵Top
16 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-03 16:23:43 得分 0
不过如果有源代码的界面库可以拿来参考一下!Top
17 楼chinagaici(山沟里跑出来的穷小子 )回复于 2004-12-03 19:09:44 得分 20
对于窗口的大小怎么适应,我想应该是:
首先:你的位图一定是个固定大小的,但是在窗口大小变动的时候,你就不能适应了,但是想想看,你可以把那个位图的四个角分别单独的保存成一个位图,这个是固定不变得,然后把两个角 中间的部分保存成一个位图,这个要足够的大,当你的窗口的尺寸发生了变化了,你可以根据不同的大小来切割这个中间的位图,而角上的那个位图就不要动乱
其次:圆角就用透明位图就可以实现了吗。
你是两星级的大哥,这个问题怎么能难倒你呢?Top
18 楼mynamelj(风动,帆动,仁者心动)回复于 2004-12-03 19:47:38 得分 0
其实我也正在研究界面方面,我想写一个界面库最好是从最基层做起,最好不使用MFC,独立处理自己的消息循环!
http://community.csdn.net/Expert/TopicView.asp?id=3595416
有机会我们可相互探讨一下QQ:154828Top
19 楼qrlvls( 空 气 )回复于 2004-12-03 20:44:15 得分 0
别的先不看,先支持一个Top
20 楼Trashy(【叶落随风】)回复于 2004-12-03 22:01:19 得分 0
哎,你都是两颗星的老大了,还会搞不定它嘛~
就凭你的四年VC从业经验,对付它,小KS!Top
21 楼mynamelj(风动,帆动,仁者心动)回复于 2004-12-04 08:57:46 得分 0
你的油箱呢?我发一个较好代码给你!Top
22 楼CLSID(COM真的死了吗...)回复于 2004-12-04 18:36:10 得分 0
垃圾程序员,
你的双星是怎么混来的?
这个问题都解决不了,你还好意思顶着双星在这里充高手.Top
23 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-06 08:53:34 得分 0
to mynamelj(风之羽翼):
已经给你发消息告诉你我的邮箱了!谢谢!
to CLSID(COM真的死了吗...):
我是双星,但是我没有说自己是高手!如果你是高手,大哥给点指点啊!不要只会骂人!Top
24 楼ringphone(临风)回复于 2004-12-08 09:06:30 得分 60
象你那种界面只能做图片分割,四个圆角做四个图片,固定不变,上下左右四个边可以做宽或高为1个像素的图片,根据界面大小平铺。
我的界面库:http://www.njwx.com/ringsdk/ringsdk.zip
不可用于商业用途,你可以参考代码。圆角窗口你可以参考那里面RingDIB类的CreateCoolWindow和CreateRgn函数Top




