symbian面板使用方法彙總

2021-05-11 04:31:03 字數 3121 閱讀 1301

一 使用系統**

如果是乙個已有工廠以前沒有支援**功能,也可以手工新增。步驟如下

1) 在ui裡面 ui constructl函式裡面將原來的baseconstructl();換成baseconstructl( eaknenableskin );

2) container 裡面加入標頭檔案

#include //skin

3) container裡面新增成員變數 並在constructl裡面初始化它。

.h裡面加成員變數  maknscontrolcontext* ibackground; // for skins support

.cpp裡面constructl裡初始化

setrect(arect);

ibackground = caknsbasicbackgroundcontrolcontext::newl( kaknsiidqsnbgareamain, rect(), efalse );

//  或者為此處,自己換**

ibackground = caknsbasicbackgroundcontrolcontext::newl(

kaknsiidqsnbgareamain, rect(), efalse);

maknsskininstance* skin = aknsutils::skininstance();

tfilename bitmapfile(ksysiconfile);

caknsitemdef* mainbgitemdef = aknsutils::createbitmapitemdefl(

kaknsiidqsnbgareamain, bitmapfile,

embmsymbian_ua_guibgon);//embmtestskina為自己的

skin->setlocalitemdefl(mainbgitemdef);

放在setrect之後!!!!!!!否則無法看到**

4) container 的

draw(const trect& arect) const

5) container 的

ttypeuid::ptr mopsupplyobject(ttypeuid aid);

ttypeuid::ptr mopsupplyobject(ttypeuid aid)

return ccoecontrol::mopsupplyobject( aid );

}maknsskininstance* skin = aknsutils::skininstance();

trgb color;

aknsutils::getcachedcolor(skin,color,kaknsiidqsnscrollcolors,eaknsciqsniconcolorscg10);

我作了乙個列舉顏色的程式:

void testskincolor(taknsitemid aid,const tdesc& aname, const mobjectprovider* amop,cwindowgc& agc)

...else

...tint x,y;

x=index%columnnum;

y=index/columnnum;

trect colorrect(tpoint(10*x+1,10*y+1),tsize(8,8));

agc.setbrushcolor(color);

agc.setbrushstyle(cgraphicscontext::esolidbrush);

agc.drawroundrect(colorrect,tsize(2,2));

index++;

}這是在不同**下取到的顏色對比:

二 grid使用自定義的**

在一的基礎上做如下修改

constructl()中新增:

ibackground = caknsbasicbackgroundcontrolcontext::newl( kaknsiidqsnbgareamain, rect(), efalse );

maknsskininstance* skin = aknsutils::skininstance();

caknsitemdef* mainbgitemdef = aknsutils::createbitmapitemdefl(kaknsiidqsnbgareamain,bitmapfile,embmbgbg);

skin->setlocalitemdefl( mainbgitemdef );

sizechanged()中新增:

if ( ibackground )

三 listbox使用自己定義的**

在一的基礎上做如下修改

參考:http://wiki.forum.nokia.com/index.php/how_to_use_custom_background_for_listbox

四 label edwin使用系統字型顏色

label

// trgb textcolor1; // text color when not highlighted ---- 系統字型顏色

// aknsutils::getcachedcolor(skin, textcolor1, kaknsiidqsntextcolors,

// eaknsciqsntextcolorscg9);

// ilabel1->overridecolorl(ecolorlabeltextemphasis, textcolor1);

// ilabel1->setemphasis(ceiklabel::epartialemphasis);

// ilabel1->setbrushstyle(cwindowgc::enullbrush);

//edwin

symbian字型使用方法彙總

先看看 由於標籤的原有有些內容有誤,gc.drawtext l symbolfont x671d x5916 x5927 x8857 tpoint x,baseh 被顯示成了 symbolfont g1dy16y27 57 tpoint x,baseh 實際上 x671d x5916 x5927 x...

DevExpress 面板使用方法

第一步讓所有窗體都從devexpress.xtraeditors.xtraform繼承。第二步 新增兩個引用 devexpress.bonusskins.v9.2 devexpress.officeskins.v9.2 第三步 在軟體的入口program類的main函式的第一行 前加上 devexp...

Bootstrap面板使用方法

面板樣式是在很多種情況下都可能會使用到的樣式之一,例如部落格的側邊欄 企業 的公告欄 欄目列表等。面板樣式除了內容之外,還有乙個面板頭部可以新增標題,讓我們通過這篇文章看看bootstrap面板樣式的使用方法。bootstrap面板基本樣式 直接呼叫面板樣式也非常容易,只需要通過以下 即可實現 ba...