cheadctrl類的部分用法
以下轉貼自:http://blog.163.com/wang_zhi_bo3344/blog/static/39926070200772311554751/
cheadctrl
表頭控制(cheaderctrl)通常應用在視窗中的文字或資料的列表之上。一般為資料列的標題,可以包括多個部分,使用者可以拖動每個部分並可以控制每列的寬度。表頭控制類提供了普通表頭控制的基本方法,只有在windows95以後版本系統中才提供,其方法包含在afxcmn.h檔案中,一般與標籤控制(ctabctrl)和列表控制(clistctrl)組合使用。
1.1 表頭控制的物件結構
1.1.1 表頭控制物件的建立方法
cheaderctrl &cheaderctrl 建立表頭控制物件
create 建立表頭並繫結物件
cheaderctrl::create的格式如下:bool create( dword dwstyle, const rect&
rect, cwnd* pparentwnd, uint nid );
其返回值非零時初始化成功,否則失敗。
引數dwstyle用來確定表頭控制型別;rect用來確定表頭控制的大小和位置;parentwnd用來確定表頭控制的父視窗;nid用來表示表頭控制的標誌。
表頭控制風格包括:
hds_buttons 表示表頭控制外觀類似按鈕;
hds_horz 表示表頭控制為水平排列;
hds_vert 表示表頭控制為垂直排列;
hds_hidden 表示表頭控制為隱藏模式。
它也可以使用普通類控制風格,包括:
ccs_bottom 設定控制位置在父視窗的底部並與父視窗同樣寬度;
ccs_nodivider 在控制頂部形成兩個畫素的高亮區;
ccs_nohilite 在控制頂部形成乙個畫素的高亮區;
ccs_nomovey 在響應wm_size訊息時重置大小並水平排列;
ccs_noparentalign 使控制自動靠近父視窗的頂部或底部;
ccs_noresize 設定初始大小或新值時使控制使用預設寬度和高度;
ccs_top 設定在父視窗客戶區域的頂部並與父視窗同樣寬度;
同樣表頭控制也可以使用視窗控制風格,包括:
ws_child 建立乙個子視窗,不能用於ws_popup視窗型別;
ws_visible 建立乙個初始時不可見的視窗;
ws_disabled 建立乙個初始時無效的視窗;
ws_group 確定可用游標移動的控制群組;
ws_tabstop 確定可用tab控制移動站點;
表頭控制一般分為兩個步驟,首先確定表頭控制的資料結構,然後建立表頭控制並繫結物件。
1.1.2 表頭控制的屬性
表頭控制的屬性包括取得表頭控制中專案的數量getitemcount、取得表頭控制中某一項目的內容getitem和設定表頭控制中某一項目的內容setitem。
1.1.3 表頭控制的操作方法
表頭控制的操作方法包括向表頭控制中插入乙個新專案insertitem、從表頭控制中刪除乙個專案deleteitem和繪製表頭中給定的專案drawitem等。
1.2 表頭控制的資料結構
在使用表頭控制時,首先必須建立乙個資料結構hd_item,其結構定義如下:
typedef struct _hd_item
hd_item;
遮蔽控制位說明了資料結構成員中包含的有效資料,可以是下面標誌的組合:
hdi_bitmap hbm成員有效
hdi_format fmt 成員有效
hdi_lparam lparam成員有效
hdi_text psztext 和cchtextmax 成員有效
hdi_width cxy 成員有效並確定專案寬度值
格式標誌位fmt可以是以下標誌的組合:
hdf_center 表頭專案居中
hdf_left 表頭專案左對齊
hdf_right 表頭專案右對齊
hdf_bitmap 表頭顯示乙個位圖
hdf_ownerdraw 由主視窗自繪表頭專案
hdf_string 表頭專案為乙個字串
1.3 表頭控制的應用技巧
由於表頭控制無法單獨使用,其主要是配合列表控制和標籤控制,並多以文字表頭應用多見,insertitem、setitem和getitem是常用的方法,如在列表控制時利用insertcolumn屬性就可以增加乙個表列的文字標題,具體用法和技巧見列表控制和標籤控制。下面以在列表控制中的增加表列的方法來具體說明:
lvcol.psztext=品 名;//設定第一列名
lvcol.isubitem=i; //表列寬
m_listctrl.insertcolumn(i++,&lvcol);//插入一列
lvcol.psztext=數 量;//第二列名
lvcol.isubitem=i;
lvcol.cx=70;
m_listctrl.insertcolumn(i++,&lvcol);//插入一列
......
grep部分用法
在看鳥哥的linux私房菜 總結一下今天看的東西 grep 用於正規表示式 regular expression 一般用法 grep a b color auto string filename a after後面可接數字表示向後n行 b before接數字表示向後n行 color選項設定標註顏色 ...
Meta 部分用法
model.userinfo.meta.model name 獲取該類對應表名 字串型別 model.userinfo.meta.get field username 獲取該類內指定字段資訊 物件 model.userinfo.meta.fields 獲取該類內所有字段物件 model.userin...
extern的部分用法
extern c 這個就不說了。解決被編譯器認為重複定義的問題,直接看 某個標頭檔案,比如叫 externtest.h 中 externintiextern 這樣就是乙個變數宣告 而不是定義,因為沒有分配儲存空間 這以後就可以引用這個變數,而這個變數的儲存於下面的 int iextern 的那個位置...