惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
腾讯CDC
G
Google Developers Blog
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
美团技术团队
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志

博客园 - 碧血黄沙-java、c#

nginx反向代理tomcat应用,struts2网站程序redirect时导致请求地址错误的解决方法 开源一个最近写的spring与mongodb结合的demo(spring-mongodb-demo) 基于spring框架的apache shiro简单集成 java的struts2项目实现网站首页只显示域名不显示index.do的做法 用WPF开发仿QQ概念版之--------MessageWindow开发以及Demo下载 用WPF开发仿QQ概念版之--------Loading预加载界面(闪屏窗体) 用WPF开发仿QQ概念版之--------登录界面 纪念一下我在2009年开发的一款网站客户端软件[winform] 参考XNA官方Platformer模版,修改Platformer为横版可以滚动的小游戏 Xna小游戏开发【飞机空间大战】 Airfey Radio网络电台播放器V2.0绿色单文件版本发布(大小仅296KB) 一种开发软件的新思路,给Web页面穿个马甲,用web页面做软件UI,用C#(或者C++等其它语言)代码做功能 Airfey Radio网络电台播放器V2.0版本发布(2010.4.18最新更新) Airfey Radio网络电台播放器V1.0.0.0版本发布(2010.1.29更新)此版本不再更新,转入2.0版本开发 网络电台播放器即将开放下载,敬请期待!!! 在WinForm里面使用多线程修改主线程上的一个Label的值 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢? 发布Winform自定义控件snMessageBox,基于系统的MesssageBox实现重绘,需要源码者请留下邮箱 [原创]WinForm中重绘滚动条以及用重绘的滚动条控制ListBox的滚动
高仿QQMusic播放器,浅谈WinForm关于UI的制作
碧血黄沙-java、c# · 2009-02-12 · via 博客园 - 碧血黄沙-java、c#

高仿QQMusic(2008)播放器,VS2008环境下开发,功能陆续开发中,上图先(右边那个乐库没有啥内容,临时弄个网页放上去充数)

软件UI开发方法我正在整理中,尽量探索出既简单又功能强大的UI制作方法,随后会发布方法与大家讨论的,最近比较忙......

[2月13日更新]

首先感谢园友对本随笔的关注!!!!

浅谈一下我关于此软件的UI的制作方法,我的文笔不好,说话可能有点罗嗦,谅解哈!

要想做出好看的界面,素材准备是第一步,我因为超级喜欢QQMusic的界面,萌发了仿造它的想法。本人美工不咋好,直接用QQMusic的皮肤做素材是个不错的主意(安装此软件后找它的皮肤很简单吧,^-^)。安装目录下的QQMusic2008文件夹下都是皮肤用到的图片。

有了素材,还要推敲QQMusic是怎么样把这些散乱的图片组织起来的,QQMusic2008\Player文件夹内有个config.xml文件,我的分析就从这里入手,看下它的内容:

Code

这里我只截取了主窗口以及该窗口上几个按钮的XML组织。<Window width="290" height="360" minWidth="290" maxWidth="2048" minHeight="100" maxHeight="2048" clippingColor="#FF00FF" style="hard" >

这里定义主窗体的宽、高等属性,以下定义主窗体的背景图的属性

<Picture id="Pic_BG_Left" image="..\Common\mainboard.bmp" x="5" y="23" w="92" h="123" zIndex="0" left="0" top="0" width="92" height="123" relative="lt" horizontalAlignment="Stretch" verticalAlignment="Stretch" />
  <Picture id="Pic_BG_Mid" image="..\Common\mainboard.bmp" x="98" y="23" w="5" h="123" zIndex="0" left="92" top="0" width="76" height="123" relative="ltr" horizontalAlignment="Stretch" verticalAlignment="Stretch" />
  <Picture id="Pic_BG_Right" image="..\Common\mainboard.bmp" x="103" y="23" w="122" h="123" zIndex="0" left="168" top="0" width="122" height="123" relative="tr" horizontalAlignment="Stretch" verticalAlignment="Stretch" />
  
mainboard.bmp图片如下:

上面XML里的具体属性我们可以不理会,只需要明白这是把图片按照左上角为坐标原点分成Pic_BG_Left、 Pic_BG_Mid、 Pic_BG_Right三部分,将来我们在做窗体时将用这三部分作为窗体左、中、右的背景。

Pic_BG_Left和Pic_BG_Right这两块是包含钝角背景的,终于明白QQ软件里的窗体为什么都是明显区别于普通软件的矩形窗体了。

当然我们不需要完全照搬QQ软件里的XML内容,我们自己定义XML时只需要把所取图片的坐标位置、宽度、高度、左距、右距、是否透明这些属性写上,随后我们按照自己定义的规则顺序读取出来供使用就OK了,所谓兵无定势也。

 下面我把自己制作的XML配置文件里主窗体的代码帖出来,和QQMUSIC里的XML稍微有差异,但思想一致

Code

此XML里的属性的含义我将在随后的窗体制作中顺便介绍!

罗嗦半天了,手头有点事,回头继续写,本文会不断更新,下次我将叙述一下如何简单利用这个图片把主窗体绘制出来,脑子有点乱,吃饭去......