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
萬連文 閱讀(980)
評論(5) 編輯 收藏 引用 所屬分類:
小作品