锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久夜色精品国产亚洲,亚洲中文字幕无码久久2020,国产综合久久久久http://www.shnenglu.com/Tauruser/category/3682.htmlEnjoy Every Dayzh-cnMon, 19 May 2008 21:04:01 GMTMon, 19 May 2008 21:04:01 GMT60CListCtrl For Beginners(杞澆)http://www.shnenglu.com/Tauruser/archive/2007/03/07/19381.htmlTauruserTauruserWed, 07 Mar 2007 13:23:00 GMThttp://www.shnenglu.com/Tauruser/archive/2007/03/07/19381.htmlhttp://www.shnenglu.com/Tauruser/comments/19381.htmlhttp://www.shnenglu.com/Tauruser/archive/2007/03/07/19381.html#Feedback0http://www.shnenglu.com/Tauruser/comments/commentRss/19381.htmlhttp://www.shnenglu.com/Tauruser/services/trackbacks/19381.htmlThe List Control (MFC CListCtrl class) is the type of control that the Windows Explorer uses for it's right-side pane, but figuring out how to use the control can be a different kind of pain. The control is usually used only in "report view", which provides columns for each item. The following shows the basics of adding data to a List Control:

聽(tīng)聽(tīng)聽(tīng)聽(tīng) int 聽(tīng)I(yíng)ndex;
// 聽(tīng)I(yíng)nsert聽(tīng)columns
ListCtrl.InsertColumn( 0 ,聽(tīng) " One " ,聽(tīng)LVCFMT_LEFT,聽(tīng) - 1 ,聽(tīng) 0 );
ListCtrl.InsertColumn(
1 ,聽(tīng) " Two " ,聽(tīng)LVCFMT_LEFT,聽(tīng) - 1 ,聽(tīng) 1 );
// 聽(tīng)I(yíng)nsert聽(tīng)first聽(tīng)row
Index聽(tīng) = 聽(tīng)ListCtrl.InsertItem(LVIF_TEXT,聽(tīng) 0 ,聽(tīng) " One聽(tīng)one " ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng)NULL);
ListCtrl.SetItem(Index,聽(tīng)
1 ,聽(tīng)LVIF_TEXT,聽(tīng) " One聽(tīng)two " ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng)NULL);
// 聽(tīng)I(yíng)nsert聽(tīng)second聽(tīng)row
Index聽(tīng) = 聽(tīng)ListCtrl.InsertItem(LVIF_TEXT,聽(tīng) 1 ,聽(tīng) " Two聽(tīng)one " ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng)NULL);
ListCtrl.SetItem(Index,聽(tīng)
1 ,聽(tīng)LVIF_TEXT,聽(tīng) " Two聽(tīng)two " ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng) 0 ,聽(tīng)NULL);
// 聽(tīng)Set聽(tīng)column聽(tīng)widths聽(tīng)(an聽(tīng)optional聽(tīng)nice聽(tīng)touch)
ListCtrl.SetColumnWidth( 0 ,聽(tīng)LVSCW_AUTOSIZE);
ListCtrl.SetColumnWidth(
1 ,聽(tīng)LVSCW_AUTOSIZE);

If you are using CListView, then you will need to use something such as the following to access the CListCtrl:

CListCtrl聽(tīng)&ListCtrl聽(tīng)=聽(tīng)GetListCtrl();

Note that for these to work, the control must have the "LVS_REPORT" style. For list controls in dialogs, including dialogs for CFormView, this style can be set in the dialog editor. If you are using CListView or you are creating list controls using Create, the style can be set in a PreCreateWindow override, as in:

BOOL聽(tīng)CDumpView::PreCreateWindow(CREATESTRUCT&聽(tīng)cs)聽(tīng){
cs.style聽(tīng)
|=聽(tīng)LVS_REPORT;
return聽(tīng)CListView::PreCreateWindow(cs);
}


Getting a Count of Columns

The solution for determining the number of columns is not obvious. You must get the header control from the list control and get the number of items (rows) in the header control. So I suggest putting the following in your header:

CHeaderCtrl聽(tīng)*GetHeaderCtrl()聽(tīng)const聽(tīng){return聽(tīng)(CHeaderCtrl*)GetDlgItem(0);};
int聽(tīng)GetColumnsCount()聽(tīng)const聽(tīng){return聽(tīng)GetHeaderCtrl()->GetItemCount();};


Deleting All Columns

Using GetColumnsCount() from above, it is easy to delete all columns.

void聽(tīng)CListControl::DeleteAllColumns()聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
int聽(tīng)i,聽(tīng)n;
n聽(tīng)
=聽(tīng)GetColumnsCount();
for聽(tīng)(i=0;聽(tīng)i<n;聽(tīng)++i)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)DeleteColumn(
0);
}

Confusing Terminology


Microsoft has made things very confusing because the Platform SDK name for a listbox is "ListBox Control" but MFC programmers usually use "list control" to refer to an instance of the CListCtrl class, which is confusing. Also, the MFC class name for a "List View Control" is CListCtrl and CListView is the view class for it. The MFC class name for a "ListBox Control" is CListBox so we would expect the view class for it to also be CListView except there is not a view class. The following summarizes this.

Platform SDK name:List Boxes
Window class name: ListBox (See under "Predefined Controls" in User Controls and the documentation for CreateWindow and CreateWindowEx)
MFC class name:CListBox
MFC view class name: none

Platform SDK name:ListView Control
Window class name: SysListView32 (use WC_LISTVIEW in source code instead, which is defined as "SysListView32")
MFC class name:CListCtrl
MFC view class name:CListView

























Tauruser 2007-03-07 21:23 鍙戣〃璇勮
]]>
MFC ComboBox 浣跨敤鏂規(guī)硶錛堣漿杞斤級(jí)http://www.shnenglu.com/Tauruser/archive/2007/02/28/19038.htmlTauruserTauruserWed, 28 Feb 2007 02:29:00 GMThttp://www.shnenglu.com/Tauruser/archive/2007/02/28/19038.htmlhttp://www.shnenglu.com/Tauruser/comments/19038.htmlhttp://www.shnenglu.com/Tauruser/archive/2007/02/28/19038.html#Feedback3http://www.shnenglu.com/Tauruser/comments/commentRss/19038.htmlhttp://www.shnenglu.com/Tauruser/services/trackbacks/19038.htmlMFC ComboBox 浣跨敤鏂規(guī)硶錛堣漿杞斤級(jí)

Combo box controls are space savers. Wherever there is no need for a multi-select from a list of items, combo box is a good choice in such places. This article " CComboBox Example" explains how to use the MFC CComboBox class for manipulation of a list of strings.

CComboBox Example - Initializing a Combo Box:

聽(tīng)聽(tīng) It is assumed that the readers of the sample have already created a dialog box (either in a dialog based application or SDI/MDI application) and placed a combo box control from the controls toolbox on the Resource Editor.

聽(tīng)聽(tīng) After placing the combo box control on the dialog box, open the class wizard by pressing Ctrl + W keys or Menu --> View --> ClassWizard. In the Member Variables tab, Add a Variable for the CComboBox class. This CComboBox example assumes that the variable name is,

聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) CComboBox聽(tīng) m_cbExample;

聽(tīng)聽(tīng) This m_cbExample will be used further in our CComboBox example MFC code.

CComboBox Example - Adding Items to a Combo Box:

聽(tīng)聽(tīng) The function AddString is used for adding items to a combo box. If there is a constant set of data, these values can also be added in the Resource Editor itself. The Combo Box control properties dialog has a tab for adding data. Otherwise the data can be added as follows.

聽(tīng)聽(tīng)聽(tīng) m_cbExample.AddString("StringData1");
聽(tīng)聽(tīng)聽(tīng) m_cbExample.AddString("StringData2");
聽(tīng)聽(tīng)聽(tīng) m_cbExample.AddString("StringData3");

CComboBox Example - Retrieving Items from a Combo Box:

聽(tīng)聽(tīng) Usually
a requirement for retrieving items from the combo box will arise from selecting the data. This article also assumes the same. Now the data selected in a combo box needs to be retrieved.

聽(tīng)聽(tīng) To do this, the first step is to find out the index of the selected item inside the combo box control.
Then the item at the corresponding position needs to be pulled out as follows.


聽(tīng)聽(tīng)聽(tīng) int nIndex = m_cbExample.GetCurSel();
聽(tīng)聽(tīng)聽(tīng) CString strCBText;

聽(tīng)聽(tīng)聽(tīng) m_cbExample.GetLBText(
nIndex, strCBText);


聽(tīng)聽(tīng) In the above CComboBox example code, the value will be retrieved and stored in strCBText variable. There is another overloaded version for GetLBText. But the version which uses CString is the easiest one.


CComboBox Example - Finding Items inside a Combo Box:


聽(tīng)聽(tīng) This kind of Find operations on a Combo box will most probably be useful in programs that dynamically modify the values in a combo box. The function FindStringExact is used to find the exact string match inside a combo box.


聽(tīng)聽(tīng)聽(tīng) int nIndex = m_cbExample.FindStringExact(0, "Value to be found");

聽(tīng)聽(tīng) The string position inside the combo box control is the return value. It returns CB_ERR if it was unsuccessful in finding the string.


CComboBox Example - Deleting Items from a Combo Box:


聽(tīng)聽(tīng)聽(tīng) This operation can be done by using the CCombobox member function DeleteString. This function needs the index of the item inside the combo box.


聽(tīng)聽(tīng)聽(tīng)聽(tīng) m_cbExample
.DeleteString(nIndex);



Tauruser 2007-02-28 10:29 鍙戣〃璇勮
]]>
人妻无码精品久久亚瑟影视| 日韩AV毛片精品久久久| 日日噜噜夜夜狠狠久久丁香五月| 欧美午夜精品久久久久久浪潮| 久久影院综合精品| 久久久噜噜噜久久中文福利| 91久久婷婷国产综合精品青草| 久久精品亚洲福利| 亚洲日韩中文无码久久| 狠狠色丁香婷婷久久综合不卡| 久久综合给合综合久久| 久久99精品久久只有精品| 欧美午夜A∨大片久久| 精品一区二区久久| 狠狠综合久久综合88亚洲| 国产精品激情综合久久| 久久精品水蜜桃av综合天堂 | 久久精品国产亚洲av日韩| 日本免费一区二区久久人人澡| 久久精品成人欧美大片| 久久久免费观成人影院| 国产一久久香蕉国产线看观看| 日韩人妻无码一区二区三区久久99| 久久综合久久综合九色| 99久久国产综合精品麻豆| 97精品依人久久久大香线蕉97| 精品国产91久久久久久久a| 2020久久精品国产免费| 久久久女人与动物群交毛片| 波多野结衣久久一区二区| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 色99久久久久高潮综合影院| 国产亚洲美女精品久久久| 国产∨亚洲V天堂无码久久久| 欧美一区二区久久精品| 久久久久综合国产欧美一区二区| 91性高湖久久久久| 国产综合免费精品久久久| 久久精品国产亚洲Aⅴ香蕉| 国产三级观看久久| 欧美精品福利视频一区二区三区久久久精品|