5 第二組UI組件:文本、超鏈、線條和圖片框

5.1 文本

文本由CSkinTextView類來(lái)代表,繼承于CSkinView,支持CSkinView的所有屬性和方法。

文本

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW1" Animation="SizeChange" EscCloseDialog="true">
    <SkinTextView Id="1" FontColor="ID_COLOR_TEXT" Text="IDS_CONTROL_SHOW_TEXT1" AlignParentLeft="30" AlignParentRight="30" AlignParentTop="45" LayoutHeight="24" FontStyle="ID_FONT_NORMAL"/>
    <SkinTextView Id="1" FontColor="ID_COLOR_TEXT" Text="IDS_CONTROL_SHOW_TEXT2" AlignParentLeft="30" AlignParentTop="100" AlignParentRight="30" LayoutHeight="72" FontStyle="ID_FONT_NORMAL" MultiLine="true"/>
    <SkinTextView Id="1" FontColor="ID_COLOR_RED" Text="IDS_CONTROL_SHOW_TEXT3" AlignParentLeft="30" AlignParentTop="200" LayoutHeight="72" LayoutWidth="275" FontStyle="ID_FONT_NORMAL" MultiLine="true"/>
</SkinDialog>

下面是CSkinTextView類特有的XML屬性和相關(guān)方法:

5.1.1設(shè)置文本是單行還是多行

  • 通過(guò)XML屬性控制如下:
MultiLine="true"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetMultiLine(BOOL bMultiLine);

5.1.2設(shè)置文本顏色

  • 通過(guò)XML屬性控制如下:
FontColor="ID_COLOR_RED"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetFontColor(const tstring& strFontColor);

5.1.3設(shè)置文本字體

  • 通過(guò)XML屬性控制如下:
FontStyle="ID_FONT_NORMAL"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetFontStyle(const tstring& strFontStyle);

5.1.4設(shè)置文本水平對(duì)齊方式

  • 通過(guò)XML屬性控制如下:
HorzAlignment="Left"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetHorzAlignment(StringAlignment alignment);

5.1.5設(shè)置文本垂直對(duì)齊方式

  • 通過(guò)XML屬性控制如下:
VertAlignment="Center"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetVertAlignment(StringAlignment alignment);

5.1.6單行文本太長(zhǎng)時(shí),自動(dòng)在結(jié)尾處加“...”

  • 通過(guò)XML屬性控制如下:
AutoLayout="true"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetAutoLayout(BOOL bAutoLayout);

5.2 超鏈

文本由CSkinHyperlink類來(lái)代表,繼承于CSkinTextView,支持CSkinTextView的所有屬性和方法。

超鏈

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW3" Animation="SizeChange">
    <SkinHyperlink LayoutWidth="WrapContent" LayoutHeight="30" Text="IDS_CONTROL_SHOW_TEXT4" AlignParentHorizontalCenter="0" AlignParentTop="50"/>
    <SkinHyperlink LayoutWidth="120" LayoutHeight="30" Text="IDS_CONTROL_SHOW_TEXT5" AlignParentHorizontalCenter="0" AlignParentTop="125"/>
    <SkinHyperlink LayoutWidth="WrapContent" LayoutHeight="30" Text="IDS_CONTROL_SHOW_TEXT6" URL="www.baidu.com" AlignParentHorizontalCenter="0" AlignParentTop="200"/>
</SkinDialog>

下面是CSkinHyperlink類特有的XML屬性和相關(guān)方法:

5.1.1設(shè)置超鏈激活狀態(tài)的字體

  • 通過(guò)XML屬性控制如下:
HotFontStyle="ID_FONT_HYPERLINK"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetHotFontStyle(const tstring& strFontStyle);

5.1.2設(shè)置超鏈激活狀態(tài)字體的顏色

  • 通過(guò)XML屬性控制如下:
HotFontColor="ID_COLOR_HYPERLINK"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetHotFontColor(const tstring& strFontColor);

5.1.2設(shè)置超鏈的鏈接URL

  • 通過(guò)XML屬性控制如下:
URL="www.baidu.com"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetUrl(const tstring& strUrl);

單擊超鏈時(shí),如果超鏈?zhǔn)荱RL,則直接用系統(tǒng)默認(rèn)瀏覽器打開(kāi)這個(gè)URL;否則,給超鏈所在窗口發(fā)送WM_COMMAND消息。

5.3 線條

文本由CSkinLine類來(lái)代表,繼承于CSkinView,支持CSkinView的所有屬性和方法。

線條

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW16" Animation="SizeChange">
    <SkinLine LayoutHeight="1" AlignParentLeft="10" AlignParentRight="10" AlignParentTop="100" Color="ID_COLOR_DEFAULT12"/>
    <SkinLine LayoutHeight="1" AlignParentLeft="10" AlignParentRight="10" AlignParentTop="150" Color="ID_COLOR_DEFAULT12"/>
    <SkinLine LayoutHeight="1" AlignParentLeft="10" AlignParentRight="10" AlignParentTop="151" Color="ID_COLOR_DEFAULT12"/>
    <SkinLine LayoutHeight="1" AlignParentLeft="10" AlignParentRight="10" AlignParentTop="200" Color="ID_COLOR_DEFAULT12"/>
    <SkinLine LayoutHeight="1" AlignParentLeft="10" AlignParentRight="10" AlignParentTop="201" Color="ID_COLOR_DEFAULT12"/>
    <SkinLine LayoutHeight="1" AlignParentLeft="10" AlignParentRight="10" AlignParentTop="202" Color="ID_COLOR_DEFAULT12"/>
</SkinDialog>

下面是CSkinLine類常用的XML屬性和相關(guān)方法:

5.3.1設(shè)置線條風(fēng)格

  • 通過(guò)XML屬性控制如下:
DashStyle="Solid"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetDashStyle(DashStyle dashStyle);

5.3.2設(shè)置線條顏色

  • 通過(guò)XML屬性控制如下:
Color="ID_COLOR_RED"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetColor(const tstring& strColor);

5.3.3設(shè)置顏色漸變線條開(kāi)始顏色

  • 通過(guò)XML屬性控制如下:
StartColor="ID_COLOR_BLACK"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetStartColor(const tstring& strColor);

5.3.4設(shè)置顏色漸變線條結(jié)束顏色

  • 通過(guò)XML屬性控制如下:
EndColor="ID_COLOR_WHITE"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetEndColor(const tstring& strColor);

5.4 圖片框

圖片框分為顯示單幀圖片的普通圖片框和顯示多幀圖片的加強(qiáng)圖片框。圖片內(nèi)容可以加載資源文件,也可以加載保存在硬盤任意位置的圖片。

5.4.1普通圖片框

普通圖片框由CSkinImageView類來(lái)代表,繼承于CSkinView,支持CSkinView的所有屬性和方法。
CSkinImageView可以顯示普通靜態(tài)圖片,也可以顯示Gif動(dòng)畫圖片。

普通圖片

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW6" Animation="SizeChange">
    <SkinImageView LayoutWidth="WrapContent" LayoutHeight="WrapContent" Image="Image.png" AlignParentHorizontalCenter="0" AlignParentVerticalCenter="0"/>
</SkinDialog>
Gif動(dòng)畫圖片

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW7" Animation="SizeChange">
    <SkinImageView Id="1" LayoutWidth="WrapContent" LayoutHeight="WrapContent" Image="Image.gif" AutoPlay="true" AlignParentHorizontalCenter="0" AlignParentVerticalCenter="0"/>
</SkinDialog>

下面是CSkinImageView類特有的XML屬性和相關(guān)方法:

5.4.1.1設(shè)置圖片框顯示的Gif動(dòng)畫是否需要自動(dòng)播放

  • 通過(guò)XML屬性控制如下:
AutoPlay="true"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetAutoPlay(BOOL bAutoPlay);

如果圖片框設(shè)置為自動(dòng)播放,則Gif動(dòng)畫會(huì)在初始化完成之后自動(dòng)播放。

5.4.1.2設(shè)置圖片框是否可以點(diǎn)擊

  • 通過(guò)XML屬性控制如下:
ClickAble="true"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetClickAble(BOOL bClickAble);

如果圖片框設(shè)置為可點(diǎn)擊,單擊圖片框時(shí),SkinUI會(huì)給圖片框所在窗口發(fā)送WM_COMMAND消息。

5.4.1.3設(shè)置圖片框顯示資源圖片

  • 通過(guò)XML屬性控制如下:
Image="Finish.png"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
virtual void SetImage(const tstring& strImage);

5.4.1.4設(shè)置圖片框顯示保存在硬盤任意位置的圖片

  • 無(wú)法通過(guò)XML屬性控制
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
virtual void LoadImage(const tstring& strImage);

5.4.2加強(qiáng)圖片框

加強(qiáng)圖片框由CSkinImageViewEx類來(lái)代表,繼承于CSkinView,支持CSkinView的所有屬性和方法。
CSkinImageViewEx用來(lái)顯示將動(dòng)畫的多幀從左到右依次排列的多幀動(dòng)畫圖片資源。

加強(qiáng)圖片框

布局文件如下:

<SkinDialog DefaultWidth="400" DefaultHeight="300" SysButton="CLOSE" Icon="128" Caption="IDS_CONTROL_SHOW8" Animation="SizeChange">
    <SkinImageViewEx Id="1" LayoutWidth="WrapContent" LayoutHeight="WrapContent" Image="MultiImage.png" TotalFrame="17" AutoPlay="true" AlignParentHorizontalCenter="0" AlignParentVerticalCenter="0"/>
</SkinDialog>

下面是CSkinImageViewEx類特有的XML屬性和相關(guān)方法:

5.3.2.1設(shè)置圖片框顯示的多幀動(dòng)畫圖片是否需要自動(dòng)播放

  • 通過(guò)XML屬性控制如下:
AutoPlay="true"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetAutoPlay(BOOL bAutoPlay);

如果圖片框設(shè)置為自動(dòng)播放,則多幀動(dòng)畫圖片會(huì)在初始化完成之后自動(dòng)播放。

5.4.2.2設(shè)置圖片框是否可以點(diǎn)擊

  • 通過(guò)XML屬性控制如下:
ClickAble="true"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetClickAble(BOOL bClickAble);

如果圖片框設(shè)置為可點(diǎn)擊,單擊圖片框時(shí),SkinUI會(huì)給圖片框所在窗口發(fā)送WM_COMMAND消息。

5.4.2.3設(shè)置圖片框顯示資源圖片

  • 通過(guò)XML屬性控制如下:
Image="Loading.png"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
virtual void SetImage(const tstring& strImage);

5.4.2.4設(shè)置圖片播放下一幀的時(shí)間間隔

  • 通過(guò)XML屬性控制如下:
Elapse="50"
  • 通過(guò)C++程序代碼調(diào)用方法控制如下:
void SetElapse(LONG nInterval);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官方網(wǎng)站:http://www.skinui.cn 下載地址:http://pan.baidu.com/s/1sl...
    吳忠亮閱讀 1,791評(píng)論 0 2
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,586評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,111評(píng)論 25 709
  • 很久之前就做過(guò)淘寶客,那時(shí)的空閑時(shí)間比較多,每天花2小時(shí)打理一下網(wǎng)站,每個(gè)月都還是有不錯(cuò)的收入,后來(lái)因?yàn)楣ぷ鞯脑?..
    9SiR閱讀 1,560評(píng)論 5 3
  • 在一個(gè)頁(yè)面可能會(huì)有請(qǐng)求多個(gè)接口的情況,而接口的請(qǐng)求是異步的,為了能保證一個(gè)頁(yè)面數(shù)據(jù)的同步處理,針對(duì)多個(gè)異步線程的處...
    c_f閱讀 3,030評(píng)論 0 1

友情鏈接更多精彩內(nèi)容