步驟一 初始化
在cview類的.h標頭檔案中包含檔案:
#include "gridctrl.h"
並且手寫加入如下的成員函式:
cgridctrl * m_pgridctrl;
步驟二 構造與析構
建構函式中:
m_pgridctrl = null;
析構函式中:
if(m_pgridctrl)
delete m_pgridctrl;
步驟三 如果需要列印功能的話新增同名列印函式**
在cview類的onbeginprinting()函式中新增如下**:
if(m_pgridctrl)
m_pgridctrl->onbeginprinting(pdc,pinfo); //簡單吧,這就是類的好處
其它兩個列印函式也一樣的做法.
步驟四 在oninitaupdate()函式中或者你自己新增的要顯示grid的訊息函式中如下初始化:
//建立非模式對話方塊上例取自實際工程,稍有修改!cdlg *dlg;
dlg=new cdlg();
dlg->create(idd_dlg,this);
//初始化gridctrl控制項
if(m_pgridctrl!=null)
if (m_pgridctrl == null)
catch (cmemoryexception* e)
//填充列標題
int row=0;
for(int col=0;col<4;col++)
else if(col==1)
else if(col==2)
m_pgridctrl->setitem(&item);
}// fill rows/cols with text
for (row = 1; row < k; row++)
for (col = 0; col < h; col++)
else if(col==1)else if(col==2)
m_pgridctrl->setitem(&item);
}m_pgridctrl->autosize();
//--------------設定行列距------------------
for(int a=1;asetrowheight(a,21); //設定各行高
m_pgridctrl->setrowheight(0,24); //設定0行高
m_pgridctrl->setcolumnwidth(1,110); //設定2列寬
m_pgridctrl->setcolumnwidth(2,160); //設定3列寬
m_pgridctrl->setcolumnwidth(3,100); //設定4列寬
}
部分注釋:
void setvirtualmode(true)
//設為虛模式
bool setrowcount(int nrows)
//設定總的行數。
bool setfixedrowcount(int nfixedrows = 1)
//設定固定的行資料
bool setcolumncount(int ncols)
//設定列數
bool setfixedcolumncount(int nfixedcols = 1)
//設定固定的列數
步驟五: 新增wm_size訊息,調整控制項的介面佔螢幕大小
if(m_pgridctrl->getsafehwnd())
在對話方塊中的使用方法
步驟一 建立資料顯示**對話方塊
在資源管理器中新建立乙個對話方塊,假設為cdlgtestreportbox。 從工具箱中加入custom control,就是人頭像的那個,將其區域拉伸至要顯示資料**的大小,充滿整個對話方塊。
在cdlgtestreportbox類的標頭檔案中:
#include "gridctrl.h"
再定義成員變數:
cgridctrl* m_pgrid;
新增onshowwindow()訊息處理函式如下:
void cdlgtestreportbox::onshowwindow(bool bshow, uint nstatus)if(m_pgrid==null)
catch (cmemoryexception* e)
for (int row = 0; row < m_pgrid->getrowcount(); row++)
for (int col = 0; col < m_pgrid->getcolumncount(); col++)
else if (row < 1) //設定0行表頭顯示
else if (col < 1) //設定0列表頭顯示
}else
m_pgrid->setitem(&item);
}m_pgrid->invalidate();
}//--------------設定行列距------------------
for(int a=0;agetrowcount();a++)
m_pgrid->setrowheight(a,16); //設定各行高
m_pgrid->setcolumnwidth(0,58); //設定0列寬
for(int b=1;bgetcolumncount();b++)
m_pgrid->setcolumnwidth(b,59); //設定各列寬
}
步驟二 嵌入上面的對話方塊 顯示資料
在你需要顯示資料的對話方塊上的標頭檔案中,假設為cdlgtest,加入
#include "gridctrl.h"
cdlgtestreportbox* m_ptestreportbox;
將資料顯示對話方塊放入你的對話方塊相應位置上,在cdlgtest::oninitdialog() 中:
if(!m_ptestreportbox)
m_ptestreportbox->create(idd_dlgtestreportbox,this);
//定義區域變數
crect rectdraw;
getdlgitem(idc_aerareport)->getwindowrect(rectdraw);
screentoclient(&rectdraw); //動態測試資料顯示區域rectdraw
//將對應的對話方塊放到指定區域
m_ptestreportbox->movewindow(rectdraw);
m_ptestreportbox->showwindow(sw_show);
自定義填充資料的函式:cdlgtest::fillgrid() 如下:
cgridctrl* pgrid=m_ptestreportbox->m_pgrid;for (int row = pgrid->getrowcount()-1; row >= pgrid->getrowcount()-3; row--)
else
}pgrid->setitem(&item); //提交資料
if(row==0||col==0)
}//迴圈結束
pgrid->invalidate();
}
GridCtrl使用詳解
在單文件中的使用方法 步驟一 初始化 在cview類的.h標頭檔案中包含檔案 include gridctrl.h 並且手寫加入如下的成員函式 cgridctrl m pgridctrl 步驟二 構造與析構 建構函式中 m pgridctrl null 析構函式中 if m pgridctrl de...
Regmon使用詳解
新近安裝foxmail 5.0正式版,卻發現只能收取而不能傳送郵件。經過一番檢查確定,網路正常,foxmail設定也正確。那麼究竟是 何方神聖 在暗中搗鬼呢?甭急,咱先請來個 福爾摩斯 regmon幫忙查出 真兇 regmon v6.12小檔案 軟體版本 6.12 軟體大小 82 kb 軟體性質 免...
FCKeditor使用詳解
fckeditor 的.net 2.0核心庫 說明 fckeditor2.6.3.zip是其最新的檔案和什麼的 fckeditor.net.zip是asp.net呼叫的dll在裡面。2.分別解壓後把fckeditor2.6.3.zip裡的fckeditor目錄整個複製到 中。3.解壓fckedito...