1.
注意include路徑設定,由於**裡面是#include
所以只需要包含到g:/svn/winutils/library/snmp/include
而不要到g:/svn/winutils/library/snmp/include/snmp_pp,這樣就錯了
2.儲存list control裡面的內容部被重新整理掉
由於本程式在changeview時,是新new了乙個新物件createnewview(new cdlgsyssetting(this));而在createnewview中
void ctrapreceiverview::createnewview(cdialog *pdlg){
if (m_pdlg){
m_pdlg->sendmessage(wm_close);
delete m_pdlg;
m_pdlg = pdlg;
是delete掉了原物件,所以在切換檢視的時候list control裡面的內容沒法儲存,因為物件已經銷毀了
此時,可以用showwindow(sw_hide)來解決,只是隱藏,而不銷毀。
void ctrapreceiverview::createnewview(cdialog *pdlg){
if (m_pdlg){
m_pdlg->sendmessage(wm_close);
if(m_pdlg!=s_pdlg)
delete m_pdlg;
else
m_pdlg->showwindow(sw_hide);
m_pdlg = pdlg;
3.改變list control裡面每行的顏色。
新增oncustomdraw訊息響應函式
void csortlistctrl::oncustomdraw(nmhdr* pnmhdr, lresult* presult)
lpnmlvcustomdraw lplvcd = (lpnmlvcustomdraw)pnmhdr;
*presult = 0;
switch(lplvcd->nmcd.dwdrawstage)
case cdds_prepaint :
*presult = cdrf_notifyitemdraw;
break;
case cdds_itemprepaint:
*presult = cdrf_notifysubitemdraw;
break;
case cdds_subitem | cdds_itemprepaint:
if(getitemcount() >= 1)
cstring stext = getitemtext(lplvcd->nmcd.dwitemspec,3);
if (stext=="錯誤"){
lplvcd->clrtextbk = rgb(255,0,0);
else if (stext=="警告")
lplvcd->clrtextbk = rgb(255,255,0);
cstring stext2 = getitemtext(lplvcd->nmcd.dwitemspec,0);
if (stext2=="已確認")
lplvcd->clrtextbk = rgb(255,255,255);
/*if(lplvcd->nmcd.dwitemspec % 2)
lplvcd->clrtextbk = rgb(255,255,255);
else
lplvcd->clrtextbk = rgb(255,255,200);
*presult = cdrf_newfont;
break;
4.當list control前面有核取方塊時,如果選擇核取方塊就做響應動作
取消選擇也做響應動作。
乙個是用clistcontrol中的hittest函式,注意的是cpoint要用screentoclient調整一下才行。
cpoint pt;
getcursorpos(&pt);
m_list.screentoclient(&pt);
int nrow, ncol;
nrow=m_list.hittest(pt);
m_list.setitemtext(nrow,col_sure,_t("已確認"));
for (int i=0; iif(m_list.getitemtext(i,col_sure)==_t("未確認"))
*presult = 0;
return;
另乙個是用clistcontrol中的getcheck函式,不過要遍歷list control的所有項,貌似沒有上面的好
for(int i=0;iif(m_list.getcheck(i)==bst_checked)
m_list.setitemtext(i,col_sure,_t("已確認"));
4.關於cdlgsyssetting。系統設定介面。
是點儲存的時候,讀取整個介面資訊,然後寫到配置檔案裡面。而非選擇核取方塊時響應訊息,這樣太複雜。所以本軟體如果只是選取核取方塊而不點儲存,則無效,返回此介面時候仍然為預設值。
然後當初始化時候都是讀取配置檔案設定核取方塊的預設值。
在確定是否trap**的時候也是讀取配置檔案。
認識控制台 控制台控制代碼 附著到控制台 關閉控制台
1.附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。2.關閉乙個控制台 程序可以使用 freeconsol...
認識控制台 控制台控制代碼 附著到控制台 關閉控制台
附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。關閉乙個控制台 程序可以使用 freeconsole 函式...
php學習筆記6 控制台程式
例項在linux下測試通過 控制台直譯器有兩種,一種是cgi的,它會生成帶有http頭輸出 另外一種是 純cli command line inte ce 的,它不會生成http頭。使用方法都是一樣的,記得不要通過標準輸入來輸入程式,而要用php f filename。輸入php v可以知道你的ph...