DXUT为基础的控件库(2)

目前已完成如下控件:

1.按钮

按钮可以通过提供四个状态的个性化纹理来定制,也可以使用库提供的默认纹理。可以只有图片,这通常用于定制。也可以在图片上叠加文字,多数情况下使用库默认的纹理即可;当然也可以自己提供纹理并指定文字。

2.单选按钮、复选框

可以利用库提供的选中/非选中纹理,也可以定制纹理。

3.编辑框

可以自己提供纹理,默认使用库中的纹理。可以指定文字颜色、选中框背景颜色、选中文字颜色等。

4.组合框

可指定边框颜色和下拉按钮的纹理(四个状态),可指定下拉框高度、滚动条宽度。

5.滑块

可以指定轨迹、填充层、小拖动块等。

6.垂直滚动条

不能直接在配置中指定此类型控件,它只是在列表框、组合框、列表控件中被使用。它的纹理可以修改looknfeel文件来指定,可以定制(还没有实现)。

7.列表控件

支持多列,每列支持文本、图片、简单控件的混合显示。尚未完善

8.超链接风格按钮

可指定文本的四个状态的颜色,指定是否显示下划线。

9.静态控件

支持图片和文字。默认没有背景和边框。

10.窗口

窗口可以有背景,可以单独提供一张背景纹理,也可以分9部分提供纹理以定制,也可以不要背景,只指定背景颜色。可以有标题栏,也可以没有。


待实现的控件:

1.多行编辑框

分析DXUT的编辑框,修改一下。

2.列表框

修改DXUT的列表框,应该很快。

这些控件完成后,一个基本齐全的控件库就OK了,可以构建复杂界面。

下一步的想法是实现窗口嵌套。不过要往后放一放,先来实现用户输入和脚本的关联。准备用lua或javascript。

有个问题:我大刀阔斧修改DXUTGUI后,帧率只有50左右,哈哈,对D3D不熟,要慢慢查是什么地方导致的。貌似ID3DXSprite的使用有些问题。

你可能感兴趣的:(基础)