一、關於spin控制項按鈕上下增加數出現想反的情況
spin 控制項設定屬性 auto buddy 和 set buddy integer 之後就會與最近的edit控制項自動關聯
然而會出現按上箭頭減少,下箭頭數增加的情況
解決該問題方法是: 呼叫 setrange() 函式 就ok了
((cspinbuttonctrl *)getdlgitem(idc_spin))->setrange(0, 100);
二、用函式獲取控制項checkbox 按鈕的選定狀態,用getcheck函式出錯
正確呼叫 :
int check = ((cbutton *)getdlgitem( idc_check)) -> getcheck(); 就ok了
check 的值 可能為 0 、1 、2;
三、樹形控制項 ctreeviewctrl
//新增父項和子項
//treectrl const int deptcount = 4;
cstring compname = _t("父項");
cstring treeheader[deptcount] = ;
htreeitem htreeitem[deptcount];
htreeitem hcomp;
hcomp = m_tree.insertitem( compname );
for (i = 0; i < deptcount; ++i)
獲取每個子項的值
htreeitem selitem;
selitem = m_tree.getselecteditem(); //所選擇的項
dword w = m_tree.getitemdata( selitem ); //w為20為子項1 21為子項2
為樹形控制項新增圖示
四、c******* 工具條的建立和圖示的新增m_imgtree.create(16, 16, ilc_color4 | ilc_mask, 4, 1);
m_tree.setimagelist( &m_imgtree, tvsil_normal );
insertnodetotree( tvi_root, cdepttree::getinstance().getdept(0) );
m_tree.expand( m_tree.getrootitem(), tve_expand );
htreeitem hchild = m_tree.getnextitem( m_tree.getrootitem(), tvgn_child );
if (hchild)
else
m_hactive = m_tree.getrootitem();
//*******
m_*******.createex(this, tbstyle_flat, ws_child | ws_visible | cbrs_align_top | cbrs_align_any /*| ccs_nodivider */ | cbrs_tooltips );
m_*******.load*******( idr_******* );
//工具條資源id
uint id = ;
m_*******.setbuttons( id, sizeof(id)/sizeof(uint) );
m_*******.setbuttontext(0, _t("儲存"));
m_*******.setbuttontext(1, _t("取消"));
m_imagelist.create(16, 16, ilc_color24|ilc_mask, 4, 1);
//圖示大小,顏色值,初始化個數為4,預設增加數為1
//載入圖示資源
m_*******.get*******ctrl().setimagelist( &m_imagelist);
m_*******.get*******ctrl().setbuttonsize( csize( button_width, *******_height ) );
//設定工具條寬度和高度(常量)
m_*******.setwindowpos(null, 0, 0, 0, 0, swp_nosize | swp_showwindow );
//設定工具條放置的位置
repositionbars(afx_idw_controlbar_first, afx_idw_controlbar_last, 0); //顯示工具條
五、時間控制項 datetimepickerctrl
ctime t1 , t2;
用ctimespan ts=t1-t2;函式,得到兩個時間的相差天數
//設定時間控制項顯示格式00:00 ((cdatetimectrl *)getdlgitem( idc_datetimepicker ))->setformat(_t("hh:mm"));
可用classwizard 為控制項設定兩個變數 control and value type
設定控制項的初始值
coledatetime time;
cstring strtime ;
strtime.format( _t("%s:00"), m_pclass->getontime() );
if ( time.parsedatetime( strtime ) )
((cdatetimectrl *)getdlgitem( idc_datetimepicker_onwork ))->settime( time );
//設定控制項時間日期的範圍
coledatetime t = coledatetime::getcurrenttime();
coledatetime t1 = coledatetime(t.getyear()-50, 1, 1, 0, 0, 0);
coledatetime t2 = coledatetime(t.getyear()+50, 12, getdaysofmonth( t.getyear()+50, 12), 23, 59, 59 );
((cdatetimectrl*)getdlgitem(idc_datetimepicker_ow_sd))->setrange( &t1, &t2 );
((cdatetimectrl*)getdlgitem(idc_datetimepicker_ow_ed))->setrange( &t1, &t2 );
六、listctrl 控制項
m_listctrl.deleteitem(nindex);
delete pover;
int items = m_listctrl.getitemcount();
nindex = nindex == items? items-1:nindex;
m_listctrl.setfocus();
m_listctrl.setitemstate(nindex,lvis_selected | lvis_focused, lvis_selected | lvis_focused);
m_listctrl.ensurevisible(nindex, false);
七、手動新增狀態列
#define ids_string_operator_name 1
#define ids_indicator_time 2
#define ids_indicator_reserve1 3
#define ids_indicator_reserve2 4
#define ids_indicator_reserve3 5
static uint indicators =
;
//載入狀態列
一些小問題
1 曼徹斯特編碼和差分曼徹斯特編碼。曼徹斯特編碼,常用於區域網傳輸。在曼徹斯特編碼中,每一位的中間有一跳變,位中間的跳變既作時鐘訊號,又作資料訊號 從高到低跳變表示 1 從低到高跳變表示 0 還有一種是差分曼徹斯特編碼,每位中間的跳變僅提供時鐘定時,而用每位開始時有無跳變表示 0 或 1 有跳變為 ...
一些小問題
問1 子類繼承了父類的所有成員,對嗎?答1 錯,至少子類沒有繼承父類的建構函式 析構函式不知有沒有繼承,但複製建構函式肯定是繼承了 class a a intx a const a a a operator const a a class b public a intmain view code 問...
一些小問題
最近使用win10出現了很多問題,簡單總結一二。第一,剛建登陸使用者時,使用者名稱搞成了中文的,於是乎eclipse中 總是報錯,想改名發現改不了,必須先將家庭版公升級為專業版才可以建立乙個admin許可權的賬戶登入,然後修改c users 張三中的張三為英文。第二,我的電腦不在桌面上,進去麻煩,要...