OutlookBar:
StackBar && ImageCanvas:
基于OPENGL的实现尝试:
3维里面中文字体的处理比较麻烦,dx10开始支持界面控件,不知道是否已经支持中文。dx9以及ogl本身不支持中文,所以需要借助其他辅助库。freetype是不错的字体管理库,用它来处理3维中的中英文会很轻松。
OGL实现版本,以后没时间做了,唉:
Hover:
Pressed:
MenuBar:
Menu图标处理:
最终界面描述文件:
<?xml version="1.0" encoding="utf-8"?>
<XUI>
<XUIVerticalLayout>
<XUIMenubar>
<XUIToolGripper>
</XUIToolGripper>
<XUIMenuButton text="文件" name="menu_file"></XUIMenuButton>
<XUIMenuButton text="编辑"></XUIMenuButton>
<XUIMenuButton text="视图"></XUIMenuButton>
</XUIMenubar>
<XUIToolbar>
<XUIToolGripper>
</XUIToolGripper>
<XUIToolButton text="哈哈" tooltip="我狠开心" icon="face.ico"></XUIToolButton>
<XUIToolSeparator></XUIToolSeparator>
<XUIToolButton icon="My documents.ico"></XUIToolButton>
<XUIToolButton icon="QQhome.ico"></XUIToolButton>
<XUIToolButton icon="security_normal.ico"></XUIToolButton>
<XUIToolSeparator></XUIToolSeparator>
<XUIToolButton icon="SongList.ico"></XUIToolButton>
</XUIToolbar>
<XUIHorizontalSplitLayout inset="3">
<XUIPane width="160">
<XUIOutlookBar>
<XUIOutlookBarPane icon="Yahoo Messenger.ico" text="邮件">
<XUIVerticalLayout>
<XUILabel text=" 我的邮件箱"></XUILabel>
</XUIVerticalLayout>
</XUIOutlookBarPane>
<XUIOutlookBarPane icon="2.ico" text="日历"></XUIOutlookBarPane>
<XUIOutlookBarPane icon="3.ico" text="联系人"></XUIOutlookBarPane>
<XUIOutlookBarPane icon="4.ico" text="任务"></XUIOutlookBarPane>
<XUIOutlookBarPane icon="5.ico" text="便签"></XUIOutlookBarPane>
<XUIOutlookBarPane icon="6.ico" text="文件夹列表"></XUIOutlookBarPane>
</XUIOutlookBar>
</XUIPane>
<XUIPane>
<XUIHeaderPanel text="Demos">
<XUITopTab>
<XUITabPage text="TileLayout">
<XUITileLayout scrollbar="true">
<XUIPushButton text="hello, xui1"></XUIPushButton>
<XUIPushButton text="hello, xui2"></XUIPushButton>
<XUIPushButton text="hello, xui3"></XUIPushButton>
<XUIPushButton text="hello, xui4"></XUIPushButton>
<XUIPushButton text="hello, xui5"></XUIPushButton>
<XUIPushButton text="hello, xui6"></XUIPushButton>
<XUIPushButton text="hello, xui7"></XUIPushButton>
<XUIPushButton text="hello, xui8"></XUIPushButton>
<XUIPushButton text="hello, xui9"></XUIPushButton>
<XUIPushButton text="hello, xui10"></XUIPushButton>
<XUIPushButton text="hello, xui11"></XUIPushButton>
<XUIPushButton text="hello, xui12"></XUIPushButton>
<XUIPushButton text="hello, xui13"></XUIPushButton>
<XUIPushButton text="hello, xui14"></XUIPushButton>
<XUIPushButton text="hello, xui15"></XUIPushButton>
<XUIPushButton text="hello, xui16"></XUIPushButton>
<XUIPushButton text="hello, xui17"></XUIPushButton>
<XUIPushButton text="hello, xui18"></XUIPushButton>
</XUITileLayout>
</XUITabPage>
<XUITabPage text="DialogLayout">
<XUIDialogLayout scrollbar="false">
<XUIPushButton text="hello, xui1" pos="100,0,200,20" stretch="group"></XUIPushButton>
<XUIPushButton text="hello, xui2" pos="300,0,400,20" stretch="size_x"></XUIPushButton>
<XUIPushButton text="hello, xui3" pos="0,100,200,130" stretch="group"></XUIPushButton>
<XUIMultiLineEdit pos="300,25,400,90" stretch="size_x"></XUIMultiLineEdit>
<XUISingleLineEdit text="你好!" pos="250,100,400,120"></XUISingleLineEdit>
</XUIDialogLayout>
</XUITabPage>
<XUITabPage text="StackBar">
<XUIHorizontalSplitLayout>
<XUIPane width="160">
<XUIStackBar>
<XUIStackBarPane text="文件夹">
<XUIActiveX clsid="ImagePreview.FolderTree.1" name="treeview"></XUIActiveX>
</XUIStackBarPane>
<XUIStackBarPane text="Preview">
<XUIActiveX clsid="ImagePreview.PreviewList.1" name="Preview"></XUIActiveX>
</XUIStackBarPane>
<XUIStackBarPane text="其他"></XUIStackBarPane>
</XUIStackBar>
</XUIPane>
<XUIPane>
<XUIVerticalLayout>
<XUIHorizontalLayout height="45">
<XUIImageCanvas width="26" image="ui_lt.bmp" bitbltmode="stretch"></XUIImageCanvas>
<XUIImageCanvas image="ui_t.bmp" bitbltmode="stretch">
</XUIImageCanvas>
<XUIImageCanvas width="45" image="ui_rt.bmp" bitbltmode="stretch"></XUIImageCanvas>
</XUIHorizontalLayout>
<XUIHorizontalLayout>
<XUIImageCanvas width="26" image="ui_l.bmp" bitbltmode="stretch"></XUIImageCanvas>
<XUIImageCanvas image="ui_m.bmp" bitbltmode="stretch"></XUIImageCanvas>
<XUIImageCanvas width="45" image="ui_r.bmp" bitbltmode="stretch"></XUIImageCanvas>
</XUIHorizontalLayout>
<XUIHorizontalLayout height="32">
<XUIImageCanvas width="26" image="ui_lb.bmp" bitbltmode="stretch"></XUIImageCanvas>
<XUIImageCanvas image="ui_b.bmp" bitbltmode="stretch"></XUIImageCanvas>
<XUIImageCanvas width="45" image="ui_rb.bmp" bitbltmode="stretch"></XUIImageCanvas>
</XUIHorizontalLayout>
</XUIVerticalLayout>
</XUIPane>
</XUIHorizontalSplitLayout>
</XUITabPage>
<XUITabPage text="MSChart">
<XUIActiveX clsid="owc10.chartspace.10" name="mschart"></XUIActiveX>
</XUITabPage>
<XUITabPage text="WebBrowser">
<XUIActiveX clsid="Shell.Explorer.2" name="WebBrowser"></XUIActiveX>
</XUITabPage>
<XUITabPage text="DotNetCtrl">
<XUIDotNet assembly="NetCtrl|NetCtrl.UserControl1"></XUIDotNet>
</XUITabPage>
</XUITopTab>
</XUIHeaderPanel>
</XUIPane>
</XUIHorizontalSplitLayout>
</XUIVerticalLayout>
</XUI>
posted on 2007-08-10 14:35
万连文 阅读(955)
评论(5) 编辑 收藏 引用 所属分类:
小作品