cimagelist就是乙個容器,用來儲存資源,方便這些資源被clistbox,ccombobox,ccomboboxex,ctabctrl以及ctreectrl,clistctrl等使用。
要使用cimgelist首先要使用它的create函式:
一般用的比較多的是這乙個函式,當然,它還有很多過載,自己可以去翻閱msdn.
bool create( int cx, int cy, uint nflags, int ninitial, int ngrow );
cx與cy表示圖示的大小,nflags確定建立影象列表的型別,可以是以下值的組合: ilc_color、ilc_color4、ilc_color8、ilc_color16、ilc_color24、ilc_color32、 ilc_colorddb和ilc_mask;
用的較多的是ilc_color32表示顏色數目,自然越多越好,ilc_mask也很常用,如果不設定這個值,那個圖示透明的地方會被黑色填充。
ninitial指的是初始時list中包含的容量,ngrow表示當原來的容量用完之後每次新增的新的容量(大於等於1就可以了).
然後我們就新增了,暫時我只說明從程式中資源檔案中新增圖示這種方法
[cpp]view plain
copy
?cimagelist *pimage;
pimage = new
cimagelist();
pimage->create(16, 16, ilc_color32 | ilc_mask, 2, 2);
//新增圖示
hicon
pimage->add(icon);
然後在要使用資源的地方呼叫setimagelist即可,新增對於該類資源的引用。
cimagelist* setimagelist( cimagelist* pimagelist, int nimagelist );
其返回值是指向前乙個影象列表控制項的乙個指標,如果不存在前乙個影象列表則為null;其中引數pimagelist是指向影象列表的標識,nimagelist是影象列表的型別,可以是如下值:
lvsil_normal 用大圖示方式進行影象列表;
lvsil_small 用小圖示方式進行影象列表;
我們以在clistview為基類的子類中的oninitialupdate()函式為例,來看一看如何使用:
[cpp]view plain
copy
?void
cemaillistview::oninitialupdate()
注:pimage為指向cimagelist的指標.
效果如下:
使用cimagelist我們經常犯的乙個錯誤是,我們經常這麼寫:
[cpp]view plain
copy
?void
cemaillistview::oninitialupdate()
這麼寫的話,我們的程式將看不到圖示,很簡單的乙個道理,因為pimage是乙個區域性變數,oninitialupdate()函式執行完畢之後pimage就已經析構了,**還有什麼對於圖示的引用,解決的辦法就是讓pimage成為類的成員變數或者讓其成為乙個指標。MyEclipse Tomcat的一點使用經驗
我用的是myeclipse6.5 1 編碼 在project裡可以設定整個工程的編碼,而對於每個檔案的編碼則是在開啟檔案後,在edit下拉列表的最下方有乙個setencoding,那裡可以設定。2 關閉自動更新 在window preferences myeclipse的community esse...
一點一點進步
requestparam,是獲取前端傳遞給後端的引數,可以使get方式,也可以是post方式。若前端傳遞的引數和後端接收的引數名稱不一致,則必須要標註。pathvariable,是獲取get方式,url後面引數,進行引數繫結。1.裝箱就是講基本資料型別轉換為包裝類,拆箱就是自動將包裝類轉換為基本資料...
adb 使用的一點命令
自用,只貼自己常用的,新手上路 目前使用mac電腦,終端下cd 編輯 bash profile export sdk home users library android sdk export path exportpath sdk home tools sdk home platform tool...