锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产一区av在线,国模私拍视频一区,激情欧美日韩一区http://m.shnenglu.com/Mumoo/category/19432.htmlzh-cnMon, 18 Nov 2013 11:04:38 GMTMon, 18 Nov 2013 11:04:38 GMT60紱佹ListCtrl琛ㄥご鎷栧姩http://m.shnenglu.com/Mumoo/archive/2013/11/18/204301.htmlMumooMumooMon, 18 Nov 2013 01:33:00 GMThttp://m.shnenglu.com/Mumoo/archive/2013/11/18/204301.htmlhttp://m.shnenglu.com/Mumoo/comments/204301.htmlhttp://m.shnenglu.com/Mumoo/archive/2013/11/18/204301.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/204301.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/204301.html杞澆~~~~~~~~~~~~婧愬湴鍧蹇樿浜唦~~~~~
紱佹ListCtrl琛ㄥご鎷栧姩錛圥revent CListCtrl column resizing錛?br />/*The header control in the ListView control sends notification to the parent window (e.i. the ListView) before it begins resizing a column. We can override the OnNotify() function in the CListCtrl derived class to handle this notification. The code below prevents resizing of all columns. Note that the resize cursor still shows up. */
BOOL CMyListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
switch (((NMHDR*)lParam)->code)
{
case HDN_BEGINTRACKW:
case HDN_BEGINTRACKA:
*pResult = TRUE; // disable tracking
return TRUE; // Processed message
}

return CListCtrl::OnNotify(wParam, lParam, pResult);
}  
/*
If you want to prevent resizing of only one column, you should check for the value in iItem field of the HD_NOTIFY structure. The code below stops only the first column from being resized. */

BOOL CMyListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
HD_NOTIFY *pHDN = (HD_NOTIFY*)lParam;

if((pHDN->hdr.code == HDN_BEGINTRACKW || pHDN->hdr.code == HDN_BEGINTRACKA)
&& pHDN->iItem == 0) // Prevent only first (col# 0) from resizing
{
*pResult = TRUE; // disable tracking
return TRUE; // Processed message
}

return CListCtrl::OnNotify(wParam, lParam, pResult);



Mumoo 2013-11-18 09:33 鍙戣〃璇勮
]]>
CStdioFile鐢ㄦ硶 闅忕瑪http://m.shnenglu.com/Mumoo/archive/2013/10/23/203883.htmlMumooMumooWed, 23 Oct 2013 01:56:00 GMThttp://m.shnenglu.com/Mumoo/archive/2013/10/23/203883.htmlhttp://m.shnenglu.com/Mumoo/comments/203883.htmlhttp://m.shnenglu.com/Mumoo/archive/2013/10/23/203883.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/203883.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/203883.html鍚戝凡瀛樺湪鐨勬枃浠朵腑鎻掑叆棣栬
BOOL AddTitleColumn(CString &sTxtFile)
{
 CStdioFile stdFile;
 if ( stdFile.Open(sTxtFile,  CFile::modeCreate | CFile::modeNoTruncate
  | CFile::modeReadWrite|CFile::shareExclusive) )
 {
  CIni ini(CCommonFun::GetExecutablePath() +"Config.ini");
  CString sTitleRow = ini.GetString("ListCtrl", "ViewColumName");

  CStringArray arrLines;
  arrLines.Add(sTitleRow);

  stdFile.SeekToBegin();
  CString str;
  while(stdFile.ReadString(str))
  {
   arrLines.Add(str);
  }

  stdFile.SeekToBegin();
  int nCount = arrLines.GetSize();
  for ( int i = 0; i < nCount; i++ )
  {
   CString sContent;
   if (i > 0)
   {
    sContent.Format("%d,%s", i, arrLines[i]);
   }
   else
   {
    sContent = arrLines[i];
   }

   stdFile.WriteString (sContent);
   stdFile.WriteString ("\n");
  }

  stdFile.Close();
  return TRUE;
 }
 return FALSE;
}

鐢熸垚涓涓甫鏍囬鐨勬枃浠?/strong>

BOOL CBarView::ExportDataFile(CString sDataFile/*, CStringArray &arsWriteString*/)
{
 CStdioFile stdFile;
 if ( stdFile.Open(sDataFile,  CFile::modeCreate | CFile::modeNoTruncate
  | CFile::modeReadWrite|CFile::shareExclusive) )
 {
  CString sTitleRow = "搴忓彿,鏂囦歡鍚?浠芥暟,欏墊暟";
  stdFile.WriteString (sTitleRow);
  stdFile.WriteString ("\n");

  for (int i = 0; i < (int)m_data.data.size(); i++)
  {
   CString sLineData;
   for (int j = 0; j < (int)m_data.data.at(i).size(); j++)
   {
    CString sData = m_data.data.at(i).at(j);
    if (j != 0)
    {
     sData.Format(", %s", sData);
    }
    else
    {
     sData.Format("%s", sData);
    }

    sLineData += sData;
   }

   CString sLine;
   sLine.Format("%d, %s", (i+1), sLineData);
   stdFile.WriteString (sLine);
   stdFile.WriteString ("\n");
  }

  stdFile.Close();
  return TRUE;
 }

 LOG("鍒涘緩鏂囦歡 %s 澶辮觸", sDataFile);
 return FALSE;
}



Mumoo 2013-10-23 09:56 鍙戣〃璇勮
]]>
ListCtrl Relatehttp://m.shnenglu.com/Mumoo/archive/2013/10/10/203631.htmlMumooMumooThu, 10 Oct 2013 02:51:00 GMThttp://m.shnenglu.com/Mumoo/archive/2013/10/10/203631.htmlhttp://m.shnenglu.com/Mumoo/comments/203631.htmlhttp://m.shnenglu.com/Mumoo/archive/2013/10/10/203631.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/203631.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/203631.html鍒犻櫎鎵鏈夊垪鏁幫細while(m_listCtrl->DeleteColumn(0));

Mumoo 2013-10-10 10:51 鍙戣〃璇勮
]]>
ListCtrl鎺т歡鏂規硶http://m.shnenglu.com/Mumoo/archive/2013/04/15/199461.htmlMumooMumooMon, 15 Apr 2013 09:20:00 GMThttp://m.shnenglu.com/Mumoo/archive/2013/04/15/199461.htmlhttp://m.shnenglu.com/Mumoo/comments/199461.htmlhttp://m.shnenglu.com/Mumoo/archive/2013/04/15/199461.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/199461.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/199461.html

鍦ㄧ綉涓婃煡鎵劇殑ListCtrl鏂規硶

浠ヤ笅鏈粡璇存槑錛?span style="line-height: 1.3em">listctrl榛樿view椋庢牸涓?span style="line-height: 1.3em">report
-------------------------------------------------------------------------------
1. CListCtrl 椋庢牸
LVS_ICON: 涓烘瘡涓?span style="line-height: 1.3em">item鏄劇ず澶у浘鏍?br />LVS_SMALLICON: 涓烘瘡涓?span style="line-height: 1.3em">item鏄劇ず灝忓浘鏍?br />LVS_LIST: 鏄劇ず涓鍒楀甫鏈夊皬鍥炬爣鐨?span style="line-height: 1.3em">item
LVS_REPORT: 鏄劇ずitem璇︾粏璧勬枡
鐩磋鐨勭悊瑙o細windows璧勬簮綆$悊鍣紝"鏌ョ湅"鏍囩涓嬬殑"澶у浘鏍囷紝灝忓浘鏍囷紝鍒楄〃錛岃緇嗚祫鏂?br />--------------------------------------------------------------------------------
2. 璁劇疆listctrl椋庢牸鍙婃墿灞曢鏍?
LONG lStyle;
lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//鑾峰彇褰撳墠紿楀彛style
lStyle &= ~LVS_TYPEMASK; //娓呴櫎鏄劇ず鏂瑰紡浣?br />lStyle |= LVS_REPORT; //璁劇疆style
SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//璁劇疆style
DWORD dwStyle = m_list.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT;//閫変腑鏌愯浣挎暣琛岄珮浜紙鍙傜敤涓?span style="line-height: 1.3em">report椋庢牸鐨?span style="line-height: 1.3em">listctrl錛?br />dwStyle |= LVS_EX_GRIDLINES;//緗戞牸綰匡紙鍙傜敤涓?span style="line-height: 1.3em">report椋庢牸鐨?span style="line-height: 1.3em">listctrl錛?br />dwStyle |= LVS_EX_CHECKBOXES;//item鍓嶇敓鎴?span style="line-height: 1.3em">checkbox鎺т歡
m_list.SetExtendedStyle(dwStyle); //璁劇疆鎵╁睍椋庢牸
娉細listview鐨?span style="line-height: 1.3em">style璇鋒煡闃?span style="line-height: 1.3em">msdn
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceshellui5/html/wce50lrflistviewstyles.asp
--------------------------------------------------------------------------------
3. 鎻掑叆鏁版嵁
m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//鎻掑叆鍒?br />m_list.InsertColumn( 1, "NAME", LVCFMT_LEFT, 50 );

//鏂版彃鍏ョ殑鍦ㄤ笂闈?br />int nRow = m_list.InsertItem(0, "11");// 鎻掑叆琛?br />m_list.SetItemText(nRow, 1, "jacky");//璁劇疆鍏跺畠鍒楁暟鎹?/span>

//鏂版彃鍏ョ殑鏁版嵁鍦ㄤ笅闈?/span>

int nIndex = m_list.GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //琛屾暟
lvItem.iSubItem = 0;
lvItem.pszText = (char*)(LPCTSTR)strCount; //絎竴鍒?br />//鍦ㄦ渶鍚庝竴琛屾彃鍏ヨ褰曞?
m_list.InsertItem(&lvItem);
//鎻掑叆鍏跺畠鍒?br />m_list.SetItemText(nIndex,1,strLat);

--------------------------------------------------------------------------------
4. 涓鐩撮変腑item
閫変腑style涓殑Show selection always錛屾垨鑰呭湪涓婇潰絎?span style="line-height: 1.3em">2
鐐逛腑璁劇疆LVS_SHOWSELALWAYS
--------------------------------------------------------------------------------
5. 閫変腑鍜屽彇娑堥変腑涓琛?
int nIndex = 0;
//閫変腑
m_list.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
//鍙栨秷閫変腑
m_list.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED);
--------------------------------------------------------------------------------
6. 寰楀埌listctrl涓墍鏈夎鐨?span style="line-height: 1.3em">checkbox鐨勭姸鎬?br />m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);
CString str;
for(int i=0; i<m_list.GetItemCount(); i++)
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED || m_list.GetCheck(i))
{
str.Format(_T("絎?span style="line-height: 1.3em">%d琛岀殑checkbox涓洪変腑鐘舵?span style="line-height: 1.3em">"), i);
AfxMessageBox(str);
}
}
--------------------------------------------------------------------------------
7. 寰楀埌listctrl涓墍鏈夐変腑琛岀殑搴忓彿
鏂規硶涓錛?
CString str;
for(int i=0; i<m_list.GetItemCount(); i++)
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
str.Format(_T("閫変腑浜嗙%d琛?span style="line-height: 1.3em">"), i);
AfxMessageBox(str);
}
}
鏂規硶浜岋細
POSITION pos = m_list.GetFirstSelectedItemPosition();
if (pos == NULL)
TRACE0("No items were selected!\n");
Else
{
while (pos)
{
int nItem = m_list.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
// you could do your own processing on nItem here
}
}
--------------------------------------------------------------------------------
8. 寰楀埌item鐨勪俊鎭?br />TCHAR szBuf[1024];
LVITEM lvi;
lvi.iItem = nItemIndex;
lvi.iSubItem = 0;
lvi.mask = LVIF_TEXT;
lvi.pszText = szBuf;
lvi.cchTextMax = 1024;
m_list.GetItem(&lvi);
鍏充簬寰楀埌璁劇疆item鐨勭姸鎬侊紝榪樺彲浠ュ弬鑰?span style="line-height: 1.3em">msdn鏂囩珷
Q173242: Use Masks to Set/Get Item States in ClistCtrl
http://support.microsoft.com/kb/173242/en-us
--------------------------------------------------------------------------------
9. 寰楀埌listctrl鐨勬墍鏈夊垪鐨?span style="line-height: 1.3em">header
瀛楃涓插唴瀹?br />LVCOLUMN lvcol;
char str[256];
int nColNum;
CString strColumnName[4];//鍋囧鏈?span style="line-height: 1.3em">4鍒?br />nColNum = 0;
lvcol.mask = LVCF_TEXT;
lvcol.pszText = str;
lvcol.cchTextMax = 256;
while(m_list.GetColumn(nColNum, &lvcol))
{
strColumnName[nColNum] = lvcol.pszText;
nColNum++;
}
--------------------------------------------------------------------------------
10. 浣?span style="line-height: 1.3em">listctrl涓竴欏瑰彲瑙侊紝鍗蟲粴鍔ㄦ粴鍔ㄦ潯
m_list.EnsureVisible(i, FALSE);
--------------------------------------------------------------------------------
11. 寰楀埌listctrl鍒楁暟
int nHeadNum = m_list.GetHeaderCtrl()->GetItemCount();
--------------------------------------------------------------------------------
12. 鍒犻櫎鎵鏈夊垪
鏂規硶涓錛?
while ( m_list.DeleteColumn (0))
鍥犱負浣犲垹闄や簡絎竴鍒楀悗錛屽悗闈㈢殑鍒椾細渚濇鍚戜笂縐誨姩銆?
鏂規硶浜岋細
int nColumns = 4;
for (int i=nColumns-1; i>=0; i--)
m_list.DeleteColumn (i);
--------------------------------------------------------------------------------
13. 寰楀埌鍗曞嚮鐨?span style="line-height: 1.3em">listctrl鐨勮鍒楀彿
娣誨姞listctrl鎺т歡鐨?span style="line-height: 1.3em">NM_CLICK娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// 鏂規硶涓錛?
/*
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_list.ScreenToClient(&point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
int nItem = m_list.SubItemHitTest(&lvinfo);
if(nItem != -1)
{
CString strtemp;
strtemp.Format("鍗曞嚮鐨勬槸絎?span style="line-height: 1.3em">%d琛岀%d鍒?span style="line-height: 1.3em">", lvinfo.iItem, lvinfo.iSubItem);
AfxMessageBox(strtemp);
}
*/
// 鏂規硶浜?span style="line-height: 1.3em">:
/*
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
CString strtemp;
strtemp.Format("鍗曞嚮鐨勬槸絎?span style="line-height: 1.3em">%d琛岀%d鍒?span style="line-height: 1.3em">",
pNMListView->iItem, pNMListView->iSubItem);
AfxMessageBox(strtemp);
}
*/
*pResult = 0;
}
--------------------------------------------------------------------------------
14. 鍒ゆ柇鏄惁鐐瑰嚮鍦?span style="line-height: 1.3em">listctrl鐨?span style="line-height: 1.3em">checkbox涓?br />娣誨姞listctrl鎺т歡鐨?span style="line-height: 1.3em">NM_CLICK娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_list.ScreenToClient(&point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
UINT nFlag;
int nItem = m_list.HitTest(point, &nFlag);
//鍒ゆ柇鏄惁鐐瑰湪checkbox涓?br />if(nFlag == LVHT_ONITEMSTATEICON)
{
AfxMessageBox("鐐瑰湪listctrl鐨?span style="line-height: 1.3em">checkbox涓?span style="line-height: 1.3em">");
}
*pResult = 0;
}
--------------------------------------------------------------------------------
15. 鍙抽敭鐐瑰嚮listctrl鐨?span style="line-height: 1.3em">item寮瑰嚭鑿滃崟
娣誨姞listctrl鎺т歡鐨?span style="line-height: 1.3em">NM_RCLICK娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
CMenu menu;
VERIFY( menu.LoadMenu( IDR_MENU1 ) );
CMenu* popup = menu.GetSubMenu(0);
ASSERT( popup != NULL );
popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
}
*pResult = 0;
}

16. item鍒囨崲鐒︾偣鏃?span style="line-height: 1.3em">(鍖呮嫭鐢ㄩ敭鐩樺拰榧犳爣鍒囨崲item鏃?span style="line-height: 1.3em">)錛岀姸鎬佺殑涓浜涘彉鍖栭『搴?br />娣誨姞listctrl鎺т歡鐨?span style="line-height: 1.3em">LVN_ITEMCHANGED娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
CString sTemp;
if((pNMListView->uOldState & LVIS_FOCUSED) == LVIS_FOCUSED && (pNMListView->uNewState & LVIS_FOCUSED) == 0)
{
sTemp.Format("%d losted focus",pNMListView->iItem);
}
else if((pNMListView->uOldState & LVIS_FOCUSED) == 0 &&
(pNMListView->uNewState & LVIS_FOCUSED) == LVIS_FOCUSED)
{
sTemp.Format("%d got focus",pNMListView->iItem);
}
if((pNMListView->uOldState & LVIS_SELECTED) == LVIS_SELECTED &&
(pNMListView->uNewState & LVIS_SELECTED) == 0)
{
sTemp.Format("%d losted selected",pNMListView->iItem);
}
else if((pNMListView->uOldState & LVIS_SELECTED) == 0 && (pNMListView->uNewState & LVIS_SELECTED) == LVIS_SELECTED)
{
sTemp.Format("%d got selected",pNMListView->iItem);
}
*pResult = 0;
--------------------------------------------------------------------------------
17. 寰楀埌鍙︿竴涓繘紼嬮噷鐨?span style="line-height: 1.3em">listctrl鎺т歡鐨?span style="line-height: 1.3em">item鍐呭
http://www.codeproject.com/threads/int64_memsteal.asp

--------------------------------------------------------------------------------
18. 閫変腑listview涓殑item
Q131284: How To Select a Listview Item Programmatically
http://support.microsoft.com/kb/131284/en-us

--------------------------------------------------------------------------------
19. 濡備綍鍦?span style="line-height: 1.3em">CListView
涓嬌鐢?span style="line-height: 1.3em">CListCtrl鐨勬淳鐢熺被
http://www.codeguru.com/cpp/controls/listview/introduction/article.php/c919/

--------------------------------------------------------------------------------
20. listctrl鐨?span style="line-height: 1.3em">subitem
娣誨姞鍥炬爣
m_list.SetExtendedStyle(LVS_EX_SUBITEMIMAGES);
m_list.SetItem(..); //鍏蜂綋鍙傛暟璇峰弬鑰?span style="line-height: 1.3em">msdn


}

str.Format("浣犲弻鍑諱簡:%d琛岋紝%d鍒?,pList->iItem,pList->iSubItem);
MessageBox(str);

*pResult = 0;
}


甯哥敤鎿嶄綔錛?br />1銆佹坊鍔犲垪鏍囬澶達細InsertColumn
2銆佽幏鍙栦笌璁劇疆鍒楀錛欸etColumnWidth銆丼etColumnWidth
3銆佹坊鍔犱竴琛岋細InsertItem銆丼etItemText
4銆佽幏鍙栦笌璁劇疆鍗曞厓鏂囨湰錛欸etItemText銆丼etItemText
5銆佸厑璁稿琛岄変腑鏃訛紝鑾峰彇閫変腑鐨勮鏁幫細GetSelectedCount
6銆佸崟琛岄変腑鏃訛紝鑾峰彇閫変腑鐨勮錛欸etSelectionMark
7銆侀変腑鏌愯錛歋etItemState(n, LVIS_SELECTED, LVIS_SELECTED);鍙栨秷閫変腑鐨勮SetItemState(n,0,-1);浣跨敤姝ゅ嚱鏁板墠闇瑕佸厛璋冪敤SetFocus();
8銆佽幏鍙栨煇琛岀殑鐘舵佹槸鍚︿負閫変腑錛欸etItemState(n, LVIS_SELECTED) == LVIS_SELECTED
9銆佸垹闄ゆ墍鏈夎錛欴eleteAllItems
10銆佸垹闄ゆ寚瀹氬垪錛欴eleteColumn
11銆佸垹闄ゆ寚瀹氳錛欴eleteItem
12銆佽幏鍙栦笌璁劇疆鍒楄〃鎺т歡鐨勮儗鏅壊錛欸etBkColor銆丼etBkColor
13銆佽幏鍙栦笌璁劇疆鏂囧瓧鑳屾櫙鑹詫細GetTextBkColor銆丼etTextBkColor
14銆佽幏鍙栦笌璁劇疆鏂囧瓧鍓嶆櫙鑹詫細GetTextColor銆丼etTextColor
15銆佽幏鍙栦笌璁劇疆Check錛欸etCheck銆丼etCheck,浣跨敤鍓嶉渶瑕佽緗帶浠跺睘鎬etExtendedStyle(LVS_EX_CHECKBOXES);浣挎帶浠舵湁鍕鵑夊姛鑳?br />16銆佽幏鍙栦笌璁劇疆鍥炬爣鍒楄〃錛欸etImageList銆丼etImageList
17銆佽幏鍙栦笌璁劇疆琛岄檮鍔犳暟鎹細GetItemData銆丼etItemData
18銆佽幏鍙栦笌璁劇疆鎵╁睍椋庢牸鏍峰紡錛欸etExtendedStyle銆丼etExtendedStyle
19銆佽緗琛岄変腑涓庣綉鏍肩嚎錛歋etExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
20銆佽ListCtrl鏀寔緙栬緫鐨勫姛鑳斤細
①銆佸皢灞炴т腑鐨?Edit Labels 璁劇疆涓?True錛?br />②銆佸搷搴旀帶浠剁殑 LVN_EDNLABELEDIT 娑堟伅錛屾坊鍔犲涓嬩唬鐮侊細
CString strText;
m_ListCtrl.GetEditControl()->GetWindowText(strText);
m_ListCtrl.SetItemText(pDispInfo->item.iItem, pDispInfo->item.iSubItem, strText);

21銆佸琛屽彲閫夋椂錛岃煩鍒扮涓涓閫変腑鐨勮錛屽嵆浣跨涓涓閫変腑鐨勮鍙銆?/p>

POSITION pos = pView->GetListCtrl().GetFirstSelectedItemPosition();
int nFirstSel = pView->GetListCtrl().GetNextSelectedItem(pos);
if (nFirstSel != -1)
{
pView->GetListCtrl().EnsureVisible(nFirstSel,FALSE);
}

 

鍒楄〃涓坊鍔犲浘鏍囦唬鐮侊細

UINT nIconID[] = {IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4,IDI_ICON5};//鍥炬爣ID
m_ImageList.Create(16,16,ILC_COLOR24,sizeof(nIconID)/sizeof(UINT),0);//鍒濆鍖朇ImageList綾伙紝sizeof(nIconID)/sizeof(UINT)涓哄浘鏍囦釜鏁幫紝鍚庨潰鐨?琛ㄧずCImageList鍦╯izeof(nIconID)/sizeof(UINT)涓浘鏍囦釜鏁扮殑鍩虹涓婂彲鍐嶆坊鍔犲灝戜釜鍥炬爣銆?br />m_ImageList.SetBkColor(RGB(255,255,255));//璁劇疆鑳屾櫙鑹蹭負鐧借壊
for(int i = 0; i < sizeof(nIconID)/sizeof(UINT); i++)
{
m_ImageList.Add(AfxGetApp()->LoadIcon(nIconID[i]));//灝嗗浘鏍囨坊鍔犲埌CImageList
}
m_ListCtrl.SetImageList(&m_ImageList,LVSIL_SMALL);//璁劇疆鍒楄〃鎺т歡鏄劇ず鍥炬爣

m_ListCtrl.InsertColumn(0,_T("絎?鍒?),0,100);
m_ListCtrl.InsertColumn(1,_T("絎?鍒?),0,100);
m_ListCtrl.InsertColumn(2,_T("絎?鍒?),0,100);
m_ListCtrl.InsertItem(0,_T("鏁版嵁1"),0);//鍚庨潰鐨?琛ㄧず娣誨姞CImageList涓殑絎?涓浘鏍?br />m_ListCtrl.InsertItem(1,_T("鏁版嵁2"),1);//鍚庨潰鐨?琛ㄧず娣誨姞CImageList涓殑絎?涓浘鏍?br />m_ListCtrl.InsertItem(2,_T("鏁版嵁3"),2);
m_ListCtrl.SetItemText(0,1,_T("01"));
m_ListCtrl.SetExtendedStyle(LVS_EX_CHECKBOXES);//璁劇疆鎺т歡鏈夊嬀閫夊姛鑳?br />DWORD dwStyle = m_ListCtrl.GetExtendedStyle();
m_ListCtrl.SetExtendedStyle(dwStyle|LVS_EX_FULLROWSELECT);璁劇疆鎺т歡閫変腑琛岀殑鍔熻兘

 

閬嶅巻鏂囦歡澶瑰茍鏄劇ず鏂囦歡鍚嶄笌鍥炬爣錛?/p>

CFileFind fileFind;
CString szDir("D:\\Tools");
BOOL bRet = fileFind.FindFile(szDir+"\\*.*");
while(bRet)
{
bRet = fileFind.FindNextFile();
if(fileFind.IsDots())
continue;
if(!fileFind.IsDirectory())
{
SHFILEINFO shfi;
SHGetFileInfo(fileFind.GetFilePath(),FILE_ATTRIBUTE_NORMAL,&shfi,sizeof(shfi),SHGFI_ICON|SHGFI_USEFILEATTRIBUTES|SHGFI_TYPENAME);
int nImageID = m_ImageList.Add(shfi.hIcon);
m_ListCtrl.InsertItem(m_ListCtrl.GetItemCount(),fileFind.GetFileName(),nImageID);
}
}

 

澶嶅埗鍒楄〃鍐呭

void CXXXView::OnCopydataToClipboard()
{
int nSelectCount = GetListCtrl().GetSelectedCount();
int nSelect = -1;
CString strData = _T("");
for (int i = 0; i < nSelectCount; i++)
{
//鎵懼埌閫夋嫨鐨勮鍙?br />nSelect = GetListCtrl().GetNextItem(nSelect,LVNI_ALL | LVNI_SELECTED);
//鍒楁暟
int nColumnCount = GetListCtrl().GetHeaderCtrl()->GetItemCount();
for (int j = 0; j < nColumnCount; j++)
{
CString text;
text = GetListCtrl().GetItemText(nSelect,j);
if (j != 0)
strData += "\t";
strData += text;
}
//鐢╘r\n鏉ユ帶鍒跺洖杞﹀拰鎹㈣
if (i != nSelectCount - 1)
strData += "\r\n";
}

//澶嶅埗鍒板壀璐存澘
HGLOBAL clipbordBuf = GlobalAlloc(GMEM_DDESHARE,2*(strData.GetLength() + 1));
TCHAR *pBuf = (TCHAR*)GlobalLock(clipbordBuf);
lstrcpy((LPTSTR)pBuf,(LPCTSTR)strData);
GlobalUnlock(clipbordBuf);

OpenClipboard();
EmptyClipboard();
SetClipboardData(CF_TEXT,pBuf);
CloseClipboard();
}

 

 

鍦ㄩ潪絎竴鍒椾腑娣誨姞鍥炬爣

m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_SUBITEMIMAGES);

 

m_List.SetItem(0,1,LVIF_TEXT|LVIF_IMAGE,“aaa”,0,0,0,0);//鍦ㄧ涓琛岀浜屽垪鍔犲叆絎?涓浘鏍?/p>

m_List.SetItem(i,1,LVIF_TEXT|LVIF_IMAGE,szBuffer,i,0,0,0);




Mumoo 2013-04-15 17:20 鍙戣〃璇勮
]]>
CStringList鐢ㄦ硶http://m.shnenglu.com/Mumoo/archive/2013/04/15/199460.htmlMumooMumooMon, 15 Apr 2013 08:28:00 GMThttp://m.shnenglu.com/Mumoo/archive/2013/04/15/199460.htmlhttp://m.shnenglu.com/Mumoo/comments/199460.htmlhttp://m.shnenglu.com/Mumoo/archive/2013/04/15/199460.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/199460.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/199460.html 

CStringList綾繪垚鍛?/div>
鏋勯?/div>

鏋勯犱竴涓┖鐨凜String瀵硅薄鍒楄〃

棣?灝捐闂?/div>

GetHead
榪斿洖姝ゅ垪琛紙涓嶈兘鏄┖鐨勶級涓ご閮ㄧ殑鍏冪礌
GetTail 榪斿洖姝ゅ垪琛紙涓嶈兘鏄┖鐨勶級涓熬閮ㄧ殑鍏冪礌

鎿嶄綔

RemoveHead
浠庡垪琛ㄧ殑澶撮儴鍒犻櫎鍏冪礌
RemoveTail 浠庡垪琛ㄧ殑灝鵑儴鍒犻櫎鍏冪礌
AddHead 鍦ㄥ垪琛ㄧ殑澶撮儴娣誨姞涓涓厓绱狅紙鎴栬呮槸鍙︿竴涓垪琛ㄤ腑鐨勬墍鏈夊厓绱狅級錛屽嵆浜х敓涓涓柊鐨勫ご閮?
AddTail 鍦ㄥ垪琛ㄧ殑灝鵑儴娣誨姞涓涓厓绱狅紙鎴栬呮槸鍙︿竴涓垪琛ㄤ腑鐨勬墍鏈夊厓绱狅級錛屽嵆浜х敓涓涓柊鐨勫熬閮?
RemoveAll 鍒犻櫎姝ゅ垪琛ㄤ腑鐨勬墍鏈夊厓绱?

閲嶅

GetHeadPosition
榪斿洖鍒楄〃涓殑澶撮儴鍏冪礌鐨勪綅緗?
GetTailPosition 榪斿洖鍒楄〃涓熬閮ㄥ厓绱犵殑浣嶇疆
GetNext 鑾峰彇鐢ㄤ簬閲嶅鐨勪笅涓涓厓绱?
GetPrev 鑾峰彇鐢ㄤ簬閲嶅鐨勫墠涓涓厓绱?

鑾峰彇/淇敼

鑾峰彇緇欏畾浣嶇疆澶勭殑鍏冪礌
SetAt 璁劇疆緇欏畾浣嶇疆澶勭殑鍏冪礌
RemoveAt 浠庢鍒楄〃涓垹闄ょ敱浣嶇疆鎸囧畾鐨勪竴涓厓绱?

鎻掑叆

InsertBefore
鍦ㄤ竴涓粰瀹氫綅緗箣鍓嶆彃鍏ヤ竴涓柊鍏冪礌
InsertAfter 鍦ㄤ竴涓粰瀹氫綅緗箣鍚庢彃鍏ヤ竴涓柊鍏冪礌

鎼滅儲

鑾峰彇鐢卞瓧絎︿覆鍊兼寚瀹氱殑鍏冪礌鐨勪綅緗?
FindIndex 鑾峰彇鐢變竴涓粠闆跺紑濮嬬殑绱㈠紩鎸囧畾鐨勫厓绱犵殑浣嶇疆

鐘舵?/div>

榪斿洖姝ゅ垪琛ㄤ腑鐨勫厓绱犱釜鏁?
IsEmpty 嫻嬭瘯鍒楄〃鏄惁涓虹┖錛堟病鏈夊厓绱狅級

CStringList鏄疌String閾捐〃錛屽湪MFC緙栫▼涓璖TL涔嬪鐨勫彟涓閫夋嫨錛岀敤璧鋒潵鏇村姞綆媧?

鎻掑叆鏁版嵁錛欰ddTail錛堬級;AddHead()

鍒犻櫎鏁版嵁錛歊emoveAll();RemoveAt();RemoveHead();RemoveTail()

鍙栧緱鍏冪礌涓暟錛欸etCount()

鍙栧緱鏌愪釜鍏冪礌鍊鹼細GetAt(cstringList.FindIndex(index))//index涓烘暣鏁?/p>

鍙栧緱澶村熬鍏冪礌錛欸etHead() 錛汫etTail(),

閬嶅巻鏈濂界敤涓婇潰鐨勬柟寮忥紝涓嶈鐢≒OSITION鍙橀噺錛岀敤FindIndex鍙互浜嗐?/p>

鍒濆鍖栵細

 

CStringList listFileName;
listFileName.RemoveAll();

 

 

娣誨姞鎿嶄綔錛?/p>

 

listFileName.AddTail(szFullPathName);

 

閬嶅巻鎿嶄綔錛?/p>

 

POSITION rPos;
rPos = listFileName.GetHeadPosition();
while (rPos != NULL)
{
strFileName = listFileName.GetNext(rPos);
strLog += "/r/n" + strFileName;
}



Mumoo 2013-04-15 16:28 鍙戣〃璇勮
]]>MessageBox鎻愮ず璇?/title><link>http://m.shnenglu.com/Mumoo/archive/2013/04/12/199374.html</link><dc:creator>Mumoo</dc:creator><author>Mumoo</author><pubDate>Fri, 12 Apr 2013 06:51:00 GMT</pubDate><guid>http://m.shnenglu.com/Mumoo/archive/2013/04/12/199374.html</guid><wfw:comment>http://m.shnenglu.com/Mumoo/comments/199374.html</wfw:comment><comments>http://m.shnenglu.com/Mumoo/archive/2013/04/12/199374.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Mumoo/comments/commentRss/199374.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Mumoo/services/trackbacks/199374.html</trackback:ping><description><![CDATA[<p>MessageBox(NULL, "璀︾ず妗?, "鎻愮ず妗?, \<br />  MB_OK|MB_ICONWARNING|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "淇℃伅鎻愮ず妗?, "鎻愮ず妗?, \<br />  MB_OK|MB_ICONASTERISK|MB_SYSTEMMODAL|MB_SETFOREGROUND);<br /> MessageBox(NULL, "淇℃伅妗?, "鎻愮ず妗?, \<br />  MB_OK|MB_ICONINFORMATION|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "閿欒妗?, "鎻愮ず妗?, \<br />  MB_OK|MB_ICONERROR|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "鍙ユ焺妗?, "鎻愮ず妗?, \<br />  MB_OK|MB_ICONHAND|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "鎻愰棶妗?, "鎻愮ず妗?, \<br />  MB_OKCANCEL|MB_ICONQUESTION|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "鍋滄妗?, "鎻愮ず妗?, \<br />  MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "娣誨姞甯姪妗?, "鎻愮ず妗?, \<br />  MB_HELP|MB_ICONWARNING|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "YESNO Cancel錛屾坊鍔犻粯璁ら夐」", "鎻愮ず妗?, \<br />  MB_YESNOCANCEL|MB_ICONWARNING|MB_DEFBUTTON1|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "RETRYCANCEL", "鎻愮ず妗?, \<br />  MB_RETRYCANCEL|MB_ICONWARNING|MB_DEFBUTTON2|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p> <p> MessageBox(NULL, "CANCELTRYCONTINUE", "鎻愮ず妗?, \<br />  MB_CANCELTRYCONTINUE|MB_ICONWARNING|MB_DEFBUTTON3|MB_SYSTEMMODAL|MB_SETFOREGROUND);</p><img src ="http://m.shnenglu.com/Mumoo/aggbug/199374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Mumoo/" target="_blank">Mumoo</a> 2013-04-12 14:51 <a href="http://m.shnenglu.com/Mumoo/archive/2013/04/12/199374.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MFC Listcontrol 浣跨敤鏂規硶http://m.shnenglu.com/Mumoo/archive/2013/01/17/197332.htmlMumooMumooThu, 17 Jan 2013 02:32:00 GMThttp://m.shnenglu.com/Mumoo/archive/2013/01/17/197332.htmlhttp://m.shnenglu.com/Mumoo/comments/197332.htmlhttp://m.shnenglu.com/Mumoo/archive/2013/01/17/197332.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/197332.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/197332.html鍘熸枃鍑哄錛?/span>http://blog.csdn.net/bqw2008/article/details/2047489
 Windows ListCtrl浣跨敤鎶宸?br />1. ListCtrl 椋庢牸
LVS_ICON: 涓烘瘡涓猧tem鏄劇ず澶у浘鏍?br />LVS_SMALLICON: 涓烘瘡涓猧tem鏄劇ず灝忓浘鏍?br />LVS_LIST: 鏄劇ず涓鍒楀甫鏈夊皬鍥炬爣鐨刬tem
LVS_REPORT: 鏄劇ずitem璇︾粏璧勬枡

鐩磋鐨勭悊瑙o細windows璧勬簮綆$悊鍣紝“鏌ョ湅”鏍囩涓嬬殑“澶у浘鏍囷紝灝忓浘鏍囷紝鍒楄〃錛岃緇嗚祫鏂?#8221;
--------------------------------------------------------------------------------
2. 璁劇疆listctrl 椋庢牸鍙婃墿灞曢鏍?LONG lStyle;
lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//鑾峰彇褰撳墠紿楀彛style
lStyle &= ~LVS_TYPEMASK; //娓呴櫎鏄劇ず鏂瑰紡浣?br />lStyle |= LVS_REPORT; //璁劇疆style
SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//璁劇疆style

DWORD dwStyle = m_list.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT;//閫変腑鏌愯浣挎暣琛岄珮浜紙鍙傜敤涓巖eport椋庢牸鐨刲istctrl錛?br />dwStyle |= LVS_EX_GRIDLINES;//緗戞牸綰匡紙鍙傜敤涓巖eport椋庢牸鐨刲istctrl錛?br />dwStyle |= LVS_EX_CHECKBOXES;//item鍓嶇敓鎴恈heckbox鎺т歡
m_list.SetExtendedStyle(dwStyle); //璁劇疆鎵╁睍椋庢牸

娉細listview鐨剆tyle璇鋒煡闃卪sdn
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceshellui5/html/wce50lrflistviewstyles.asp
--------------------------------------------------------------------------------
3. 鎻掑叆鏁版嵁 m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//鎻掑叆鍒?br />m_list.InsertColumn( 1, "NAME", LVCFMT_LEFT, 50 );
int nRow = m_list.InsertItem(0, “11”);//鎻掑叆琛?br />m_list.SetItemText(nRow, 1, “jacky”);//璁劇疆鏁版嵁
--------------------------------------------------------------------------------
4. 涓鐩撮変腑item 閫変腑style涓殑Show selection always錛屾垨鑰呭湪涓婇潰絎?鐐逛腑璁劇疆LVS_SHOWSELALWAYS

--------------------------------------------------------------------------------
5. 閫変腑鍜屽彇娑堥変腑涓琛?int nIndex = 0;
//閫変腑
m_list.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
//鍙栨秷閫変腑
m_list.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED);
--------------------------------------------------------------------------------
6. 寰楀埌listctrl涓墍鏈夎鐨刢heckbox鐨勭姸鎬?m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);
CString str;
for(int i=0; i<m_list.GetItemCount(); i++)
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED || m_list.GetCheck(i))
{
str.Format(_T("絎?d琛岀殑checkbox涓洪変腑鐘舵?), i);
AfxMessageBox(str);
}
}
--------------------------------------------------------------------------------
7. 寰楀埌listctrl涓墍鏈夐変腑琛岀殑搴忓彿
鏂規硶涓錛?br />CString str;
for(int i=0; i<m_list.GetItemCount(); i++)
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
str.Format(_T("閫変腑浜嗙%d琛?), i);
AfxMessageBox(str);
}
}

鏂規硶浜岋細
POSITION pos = m_list.GetFirstSelectedItemPosition();
if (pos == NULL)
TRACE0("No items were selected!/n");
else
{
while (pos)
{
int nItem = m_list.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!/n", nItem);
// you could do your own processing on nItem here
}
}
--------------------------------------------------------------------------------
8. 寰楀埌item鐨勪俊鎭?TCHAR szBuf[1024];
LVITEM lvi;
lvi.iItem = nItemIndex;
lvi.iSubItem = 0;
lvi.mask = LVIF_TEXT;
lvi.pszText = szBuf;
lvi.cchTextMax = 1024;
m_list.GetItem(&lvi);

鍏充簬寰楀埌璁劇疆item鐨勭姸鎬侊紝榪樺彲浠ュ弬鑰僲sdn鏂囩珷
Q173242: Use Masks to Set/Get Item States in CListCtrl
http://support.microsoft.com/kb/173242/en-us
--------------------------------------------------------------------------------
9. 寰楀埌listctrl鐨勬墍鏈夊垪鐨刪eader瀛楃涓插唴瀹?LVCOLUMN lvcol;
char str[256];
int nColNum;
CString strColumnName[4];//鍋囧鏈?鍒?/p>

nColNum = 0;
lvcol.mask = LVCF_TEXT;
lvcol.pszText = str;
lvcol.cchTextMax = 256;
while(m_list.GetColumn(nColNum, &lvcol))
{
strColumnName[nColNum] = lvcol.pszText;
nColNum++;
}
--------------------------------------------------------------------------------
10. 浣縧istctrl涓竴欏瑰彲瑙侊紝鍗蟲粴鍔ㄦ粴鍔ㄦ潯 m_list.EnsureVisible(i, FALSE);
--------------------------------------------------------------------------------
11. 寰楀埌listctrl鍒楁暟 int nHeadNum = m_list.GetHeaderCtrl()->GetItemCount();
--------------------------------------------------------------------------------
12. 鍒犻櫎鎵鏈夊垪 鏂規硶涓錛?br />while ( m_list.DeleteColumn (0))
鍥犱負浣犲垹闄や簡絎竴鍒楀悗錛屽悗闈㈢殑鍒椾細渚濇鍚戜笂縐誨姩銆?/p>

鏂規硶浜岋細
int nColumns = 4;
for (int i=nColumns-1; i>=0; i--)
m_list.DeleteColumn (i);
--------------------------------------------------------------------------------
13. 寰楀埌鍗曞嚮鐨刲istctrl鐨勮鍒楀彿 娣誨姞listctrl鎺т歡鐨凬M_CLICK娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// 鏂規硶涓錛?br />/*
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );

m_list.ScreenToClient(&point);

LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;

int nItem = m_list.SubItemHitTest(&lvinfo);
if(nItem != -1)
{
CString strtemp;
strtemp.Format("鍗曞嚮鐨勬槸絎?d琛岀%d鍒?, lvinfo.iItem, lvinfo.iSubItem);
AfxMessageBox(strtemp);
}
*/

// 鏂規硶浜?
/*
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
CString strtemp;
strtemp.Format("鍗曞嚮鐨勬槸絎?d琛岀%d鍒?,
pNMListView->iItem, pNMListView->iSubItem);
AfxMessageBox(strtemp);
}
*/
*pResult = 0;
}
--------------------------------------------------------------------------------
14. 鍒ゆ柇鏄惁鐐瑰嚮鍦╨istctrl鐨刢heckbox涓?娣誨姞listctrl鎺т歡鐨凬M_CLICK娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );

m_list.ScreenToClient(&point);

LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;

UINT nFlag;
int nItem = m_list.HitTest(point, &nFlag);
//鍒ゆ柇鏄惁鐐瑰湪checkbox涓?br />if(nFlag == LVHT_ONITEMSTATEICON)
{
AfxMessageBox("鐐瑰湪listctrl鐨刢heckbox涓?);
}
*pResult = 0;
}
--------------------------------------------------------------------------------
15. 鍙抽敭鐐瑰嚮listctrl鐨刬tem寮瑰嚭鑿滃崟 娣誨姞listctrl鎺т歡鐨凬M_RCLICK娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );

CMenu menu;
VERIFY( menu.LoadMenu( IDR_MENU1 ) );
CMenu* popup = menu.GetSubMenu(0);
ASSERT( popup != NULL );
popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
}
*pResult = 0;
}
--------------------------------------------------------------------------------
16. item鍒囨崲鐒︾偣鏃?鍖呮嫭鐢ㄩ敭鐩樺拰榧犳爣鍒囨崲item鏃?錛岀姸鎬佺殑涓浜涘彉鍖栭『搴?娣誨姞listctrl鎺т歡鐨凩VN_ITEMCHANGED娑堟伅鐩稿簲鍑芥暟
void CTest6Dlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here

CString sTemp;

if((pNMListView->uOldState & LVIS_FOCUSED) == LVIS_FOCUSED &&
(pNMListView->uNewState & LVIS_FOCUSED) == 0)
{
sTemp.Format("%d losted focus",pNMListView->iItem);
}
else if((pNMListView->uOldState & LVIS_FOCUSED) == 0 &&
(pNMListView->uNewState & LVIS_FOCUSED) == LVIS_FOCUSED)
{
sTemp.Format("%d got focus",pNMListView->iItem);
}

if((pNMListView->uOldState & LVIS_SELECTED) == LVIS_SELECTED &&
(pNMListView->uNewState & LVIS_SELECTED) == 0)
{
sTemp.Format("%d losted selected",pNMListView->iItem);
}
else if((pNMListView->uOldState & LVIS_SELECTED) == 0 &&
(pNMListView->uNewState & LVIS_SELECTED) == LVIS_SELECTED)
{
sTemp.Format("%d got selected",pNMListView->iItem);
}

*pResult = 0;
}
--------------------------------------------------------------------------------
20. listctrl鐨剆ubitem娣誨姞鍥炬爣 m_list.SetExtendedStyle(LVS_EX_SUBITEMIMAGES);
m_userlist.SetItem(..); //鍏蜂綋鍙傛暟璇峰弬鑰僲sdn
--------------------------------------------------------------------------------
21. 鍦–ListCtrl鏄劇ず鏂囦歡錛屽茍鏍規嵁鏂囦歡綾誨瀷鏉ユ樉紺哄浘鏍?緗戜笂鎵懼埌鐨勪唬鐮侊紝share
BOOL CTest6Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

HIMAGELIST himlSmall;
HIMAGELIST himlLarge;
SHFILEINFO sfi;
char cSysDir[MAX_PATH];
CString strBuf;

memset(cSysDir, 0, MAX_PATH);

GetWindowsDirectory(cSysDir, MAX_PATH);
strBuf = cSysDir;
sprintf(cSysDir, "%s", strBuf.Left(strBuf.Find("file:///));

himlSmall = (HIMAGELIST)SHGetFileInfo ((LPCSTR)cSysDir,
0,
&sfi,
sizeof(SHFILEINFO),
SHGFI_SYSICONINDEX | SHGFI_SMALLICON );

himlLarge = (HIMAGELIST)SHGetFileInfo((LPCSTR)cSysDir,
0,
&sfi,
sizeof(SHFILEINFO),
SHGFI_SYSICONINDEX | SHGFI_LARGEICON);

if (himlSmall && himlLarge)
{
::SendMessage(m_list.m_hWnd, LVM_SETIMAGELIST,
(WPARAM)LVSIL_SMALL, (LPARAM)himlSmall);
::SendMessage(m_list.m_hWnd, LVM_SETIMAGELIST,
(WPARAM)LVSIL_NORMAL, (LPARAM)himlLarge);
}
return TRUE; // return TRUE unless you set the focus to a control
}

void CTest6Dlg::AddFiles(LPCTSTR lpszFileName, BOOL bAddToDocument)
{
int nIcon = GetIconIndex(lpszFileName, FALSE, FALSE);
CString strSize;
CFileFind filefind;

// get file size
if (filefind.FindFile(lpszFileName))
{
filefind.FindNextFile();
strSize.Format("%d", filefind.GetLength());
}
else
strSize = "0";

// split path and filename
CString strFileName = lpszFileName;
CString strPath;

int nPos = strFileName.ReverseFind('//');
if (nPos != -1)
{
strPath = strFileName.Left(nPos);
strFileName = strFileName.Mid(nPos + 1);
}

// insert to list
int nItem = m_list.GetItemCount();
m_list.InsertItem(nItem, strFileName, nIcon);
m_list.SetItemText(nItem, 1, strSize);
m_list.SetItemText(nItem, 2, strFileName.Right(3));
m_list.SetItemText(nItem, 3, strPath);
}

int CTest6Dlg::GetIconIndex(LPCTSTR lpszPath, BOOL bIsDir, BOOL bSelected)
{
SHFILEINFO sfi;
memset(&sfi, 0, sizeof(sfi));

if (bIsDir)
{
SHGetFileInfo(lpszPath,
FILE_ATTRIBUTE_DIRECTORY,
&sfi,
sizeof(sfi),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX |
SHGFI_USEFILEATTRIBUTES |(bSelected ? SHGFI_OPENICON : 0));
return sfi.iIcon;
}
else
{
SHGetFileInfo (lpszPath,
FILE_ATTRIBUTE_NORMAL,
&sfi,
sizeof(sfi),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX |
SHGFI_USEFILEATTRIBUTES | (bSelected ? SHGFI_OPENICON : 0));
return sfi.iIcon;
}
return -1;
}

--------------------------------------------------------------------------------
22. listctrl鍐呭榪涜澶ф暟鎹噺鏇存柊鏃訛紝閬垮厤闂儊 m_list.SetRedraw(FALSE);
//鏇存柊鍐呭
m_list.SetRedraw(TRUE);
m_list.Invalidate();
m_list.UpdateWindow();

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

鍒涘緩鍥懼艦鍒楄〃騫跺拰CListCtrl鍏寵仈錛?br />m_image_list.Create(IDB_CALLER2, 16, 10, RGB(192,192, 192));
m_image_list.SetBkColor( GetSysColor( COLOR_WINDOW ) );
m_caller_list.SetImageList( &m_image_list, LVSIL_SMALL);
涓烘姤琛ㄦ坊鍔?鍒楋細
char *szColumn[]={"鏄電О","IP鍦板潃","鐧婚檰鏃墮棿","鐘舵?};
int widths[]={100,98,70,55};
LV_COLUMN lvc;
lvc.mask=LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;
lvc.fmt=LVCFMT_LEFT;
for(int i=0;i<4;i++) {//鎻掑叆鍚勫垪
lvc.pszText=szColumn[i];
lvc.cx=widths[i];
lvc.iSubItem=i;
m_caller_list.InsertColumn(i,&lvc);
}
涓烘姤琛ㄦ坊鍔犱袱欏癸紝浠ラ檮鍔犳柟寮忔坊鍔狅細
char* data[4];
data[0]="鎵鏈変漢";
data[1]="0.0.0.0";
data[3]="鍦ㄧ嚎";
data[2]=new char;
CTime now=CTime::GetCurrentTime();
CString temp = now.Format("%H:%M:%S");
data[2]=temp.GetBuffer(1);
LV_ITEM lvi;
lvi.mask=LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;
lvi.iSubItem=0;
lvi.pszText=(char *)data[0];
lvi.iImage = 0;
lvi.iItem=0;
m_caller_list.InsertItem(&lvi);
for (int j=0;j<4;j++) m_caller_list.SetItemText(count,j,data[j]);
count++;
lvi.iImage = 1;
lvi.iItem=count;
m_caller_list.InsertItem(&lvi);
data[0]="cherami";
data[1]="127.0.0.1";
for (int n=0;n<4;n++) m_caller_list.SetItemText(count,n,data[n]);
count++;
璁劇疆鎶ヨ〃鐨勬牱寮?br />閫変腑涓鏁磋錛?br />m_list_ctrl.SetExtendedStyle(m_list_ctrl.GetExtendedStyle()|LVS_EX_FULLROWSELECT);
緇樺埗琛ㄦ牸錛?br />m_list_ctrl.SetExtendedStyle(m_list_ctrl.GetExtendedStyle()|LVS_EX_GRIDLINES);
甯﹀閫夋錛?br />m_list_ctrl.SetExtendedStyle(m_list_ctrl.GetExtendedStyle()|LVS_EX_CHECKBOXES);
鑷姩鍒囨崲錛?br />m_list_ctrl.SetExtendedStyle(m_list_ctrl.GetExtendedStyle()|LVS_EX_TRACKSELECT);
閫夊畾涓琛岋細
璁劇疆CListCtrl鐨凷how selection always閫夐」
SetItemState (iIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED)
閫変腑涓涓垨澶氫釜欏圭洰鏃?浼氬彂閫丩VN_ITEMCHANGED娑堟伅錛屽彲浠ヤ嬌鐢?br />GetSelectedCount()鏂規硶寰楀埌琚夊畾鐨勯」鐨勬暟鐩?br />鐐瑰嚮鍒楀ご鐨勬秷鎭搷搴旓細
ON_NOTIFY(HDN_ITEMCLICKW, 0, ResponseFunc)
娑堟伅錛岄渶瑕佽嚜宸辨坊鍔?
鎴栬咃細
ON_NOTIFY(LVN_COLUMNCLICK, ID_yourCtrl, ResponseFunc)//鍚戝娣誨姞
鍓嶈呭悗鍝嶅簲錛屽悗鑰呭厛鍝嶅簲
鍝嶅簲鍑芥暟錛?br />ResponseFunc(NMHDR *pNMHDR, LRESULT *pResult)
鍙屽嚮CListCtrl涓殑ITEM鐨勬秷鎭槸鍙婃秷鎭嚱鏁幫細
ON_NOTIFY(NM_DBLCLK, ID_yourCtrl, ResponseFunc)
鍗曞嚮ITEM鐨勬秷鎭搷搴旓細
ON_NOTIFY(NM_CLICK, ID_yourCtrl, ResponseFunc)
ResponseFunc(NMHDR *pNMHDR, LRESULT *pResult)

HDN_ITEMCLICK 灝辨槸Header control Notify message for mouse left click on the Header control!
鑰孒DN_ITEMCLICK鏄綋List View涓瓨鍦ㄤ竴涓狧eader Contrl鏃訛紝Header Ctrl閫氱煡鐖剁獥鍙ist View鐨勶紒
CListCtrl涓殑Item琚変腑瑙﹀彂LBN_SELCHANGE(閫氳繃WM_COMMAND)娑堟伅錛?br />鍒犻櫎CListCtrl涓夊畾鐨勯」錛?br />POSITION pos;
int nIndex;
for(; pos= GetFirstSelectedItemPosition();)
{
nIndex = GetNextSelectedItem(pos);
DeleteItem(nIndex);
}
鍦↙istCtrl涓繘琛屾帓搴?br />鍒楄〃鎺т歡錛圕ListCtrl錛夌殑欏墮儴鏈変竴鎺掓寜閽紝鐢ㄦ埛鍙互閫氳繃閫夋嫨涓嶅悓鐨勫垪鏉ュ璁板綍榪涜鎺掑簭銆備絾鏄?CListCtrl騫舵病鏈夎嚜鍔ㄦ帓搴忕殑鍔熻兘錛屾垜浠渶瑕佽嚜宸辨坊鍔犱竴涓敤浜庢帓搴忕殑鍥炶皟鍑芥暟鏉ユ瘮杈冧袱涓暟鎹殑澶у皬錛屾澶栬繕闇瑕佸搷搴旀帓搴忔寜閽鐐瑰嚮鐨勬秷鎭備笅闈㈣榪頒竴涓嬪叿浣撶殑鍋氭硶銆?br />CListCtrl鎻愪緵浜嗙敤浜庢帓搴忕殑鍑芥暟錛屽嚱鏁板師鍨嬩負錛欱OOL CListCtrl::SortItems( PFNLVCOMPARE pfnCompare, DWORD dwData )銆傚叾涓涓涓弬鏁頒負鍏ㄥ眬鎺掑簭鍑芥暟鐨勫湴鍧錛岀浜屼釜鍙傛暟涓虹敤鎴鋒暟鎹紝浣犲彲浠ユ牴鎹綘鐨勯渶瑕佷紶閫掍竴涓暟鎹垨鏄寚閽堛傝鍑芥暟榪斿洖-1浠h〃絎竴欏規帓搴斿湪絎簩欏瑰墠闈紝榪斿洖1浠h〃絎竴欏規帓搴斿湪絎簩欏瑰悗闈紝榪斿洖0浠h〃涓ら」鐩哥瓑銆?br />鐢ㄤ簬鎺掑簭鐨勫嚱鏁板師褰負錛歩nt CALLBACK ListCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)錛屽叾涓涓変釜鍙傛暟涓鴻皟鐢ㄨ呬紶閫掔殑鏁版嵁錛堝嵆璋冪敤SortItems鏃剁殑絎簩涓弬鏁癲wData錛夈傜涓鍜岀浜屼釜鍙傛暟涓虹敤浜庢瘮杈冪殑涓ら」鐨処temData錛屼綘鍙互閫氳繃DWORD CListCtrl::GetItemData( int nItem )/BOOL CListCtrl::SetItemData( int nItem, DWORD dwData )鏉ュ姣忎竴欏圭殑ItemData榪涜瀛樺彇銆傚湪娣誨姞欏規椂閫夌敤鐗瑰畾鐨凜ListCtrl::InsertItem涔熷彲浠ヨ緗鍊箋傜敱浜庝綘鍦ㄦ帓搴忔椂鍙兘閫氳繃璇ュ兼潵紜畾欏圭殑浣嶇疆鎵浠ヤ綘搴旇姣旇緝鏄庣‘鐨勭‘瀹氳鍊肩殑鍚箟銆?br />鏈鍚庝竴鐐癸紝鎴戜滑闇瑕佺煡閬撲粈涔堟椂鍊欓渶瑕佹帓搴忥紝瀹炵幇榪欑偣鍙互鍦ㄧ埗紿楀彛涓LVN_COLUMNCLICK娑堟伅榪涜澶勭悊鏉ュ疄鐜般?
涓嬮潰鎴戜滑鐪嬩竴涓緥瀛愶紝榪欎釜渚嬪瓙鏄竴涓淳鐢熺被錛屽茍鏀寔欏哄簭/鍊掑簭涓ょ鏂瑰紡鎺掑簭銆備負浜嗙畝鍗曟垜瀵瑰叏灞鏁版嵁榪涜鎺掑簭錛岃屽湪瀹為檯搴旂敤涓細鏈夊緇勯渶瑕佹帓搴忕殑鏁版嵁錛屾墍浠ラ渶瑕侀氳繃浼犻掑弬鏁扮殑鏂瑰紡鏉ュ憡璇夋淳搴忓嚱鏁伴渶瑕佸浠涔堟暟鎹繘琛屾帓搴忋?/font>

//鍏ㄥ眬鏁版嵁
struct DEMO_DATA
{
char szName[20];
int iAge;
}strAllData[5]={{"鐜嬫煇",30},{"寮犳煇",40},{"姝︽煇",32},{"闄堟煇",20},{"鏉庢煇",36}};
//CListCtrl媧劇敓綾誨畾涔?br />class CSortList : public CListCtrl
{
// Construction
public:
CSortList();
BOOL m_fAsc;//鏄惁欏哄簭鎺掑簭
int m_nSortedCol;//褰撳墠鎺掑簭鐨勫垪
protected:
//{{AFX_MSG(CSortList)
//}}AFX_MSG
...
};
//鐖剁獥鍙d腑鍖呭惈璇ListCtrl媧劇敓綾誨璞?br />class CSort_in_list_ctrlDlg : public CDialog
{
// Construction
public:
CSort_in_list_ctrlDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CSort_in_list_ctrlDlg)
enum { IDD = IDD_SORT_IN_LIST_CTRL_DIALOG };
CSortList m_listTest;
//}}AFX_DATA
}
//鍦ㄧ埗紿楀彛涓畾涔塋VN_COLUMNCLICK娑堟伅鏄犲皠
BEGIN_MESSAGE_MAP(CSort_in_list_ctrlDlg, CDialog)
//{{AFX_MSG_MAP(CSort_in_list_ctrlDlg)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST1, OnColumnclickList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//鍒濆鍖栨暟鎹?br />BOOL CSort_in_list_ctrlDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//鍒濆鍖朙istCtrl涓暟鎹垪琛?br />m_listTest.InsertColumn(0,"濮撳悕");
m_listTest.InsertColumn(1,"騫撮緞");
m_listTest.SetColumnWidth(0,80);
m_listTest.SetColumnWidth(1,80);
for(int i=0;i<5;i++)
{
m_listTest.InsertItem(i,strAllData[i].szName);
char szAge[10];
sprintf(szAge,"%d",strAllData[i].iAge);
m_listTest.SetItemText(i,1,szAge);
//璁劇疆姣忛」鐨処temData涓烘暟緇勪腑鏁版嵁鐨勭儲寮?br />//鍦ㄦ帓搴忓嚱鏁頒腑閫氳繃璇temData鏉ョ‘瀹氭暟鎹?br />m_listTest.SetItemData(i,i);
}
return TRUE; // return TRUE unless you set the focus to a control
}
//澶勭悊娑堟伅
void CSort_in_list_ctrlDlg::OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
//璁劇疆鎺掑簭鏂瑰紡
if( pNMListView->iSubItem == m_listTest.m_nSortedCol )
m_listTest.m_fAsc = !m_listTest.m_fAsc;
else
{
m_listTest.m_fAsc = TRUE;
m_listTest.m_nSortedCol = pNMListView->iSubItem;
}
//璋冪敤鎺掑簭鍑芥暟
m_listTest.SortItems( ListCompare, (DWORD)&m_listTest );
*pResult = 0;
}
//鎺掑簭鍑芥暟瀹炵幇
int CALLBACK ListCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
//閫氳繃浼犻掔殑鍙傛暟鏉ュ緱鍒癈SortList瀵硅薄鎸囬拡錛屼粠鑰屽緱鍒版帓搴忔柟寮?br />CSortList* pV=(CSortList*)lParamSort;
//閫氳繃ItemData鏉ョ‘瀹氭暟鎹?br />DEMO_DATA* pInfo1=strAllData+lParam1;
DEMO_DATA* pInfo2=strAllData+lParam2;
CString szComp1,szComp2;
int iCompRes;
switch(pV->m_nSortedCol)
{
case(0):
//浠ョ涓鍒椾負鏍規嵁鎺掑簭
szComp1=pInfo1->szName;
szComp2=pInfo2->szName;
iCompRes=szComp1.Compare(szComp2);
break;
case(1):
//浠ョ浜屽垪涓烘牴鎹帓搴?br />if(pInfo1->iAge == pInfo2->iAge)
iCompRes = 0;
else
iCompRes=(pInfo1->iAge < pInfo2->iAge)?-1:1;
break;
default:
ASSERT(0);
break;
}
//鏍規嵁褰撳墠鐨勬帓搴忔柟寮忚繘琛岃皟鏁?br />if(pV->m_fAsc)
return iCompRes;
else
return iCompRes*-1;
}
鎺掑簭鏈蹇細
CListCtrl::SortItems
Example
// Sort the item in reverse alphabetical order.
static int CALLBACK
MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
// lParamSort contains a pointer to the list view control.
// The lParam of an item is just its index.
CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
CString strItem1 = pListCtrl->GetItemText(lParam1, 0);
CString strItem2 = pListCtrl->GetItemText(lParam2, 0);
return strcmp(strItem2, strItem1);
}
void snip_CListCtrl_SortItems()
{
// The pointer to my list view control.
extern CListCtrl* pmyListCtrl;
// Sort the list view items using my callback procedure.
pmyListCtrl->SortItems(MyCompareProc, (LPARAM) pmyListCtrl);
}

If you don’t want to allow the users to sort the list by clicking on the header, you can use the style LVS_NOSORTHEADER. However, if you do want to allow sorting, you do not specify the LVS_NOSORTHEADER. The control, though, does not sort the items. You have to handle the HDN_ITEMCLICK notification from the header control and process it appropriately. In the code below, we have used the sorting function SortTextItems() developed in a previous section. You may choose to sort the items in a different manner.
Step 1: Add two member variables
Add two member variables to the CListCtrl. The first variable to track which column has been sorted on, if any. The second variable to track if the sort is ascending or descending.
int nSortedCol;
BOOL bSortAscending;

Step 2: Initialize them in the constructor.
Initialize nSortedCol to -1 to indicate that no column has been sorted on. If the list is initially sorted, then this variable should reflect that.

nSortedCol = -1;
bSortAscending = TRUE;

Step 3: Add entry in message map to handle HDN_ITEMCLICK
Actually you need to add two entries. For HDN_ITEMCLICKA and HDN_ITEMCLICKW. Do not use the class wizard to add the entry. For one, you need to add two entries whereas the class wizard will allow you only one. Secondly, the class wizard uses the wrong macro in the entry. It uses ON_NOTIFY_REFLECT() instead of ON_NOTIFY(). Since the HDN_ITEMCLICK is a notification from the header control to the list view control, it is a direct notification and not a reflected one.
ON_NOTIFY(HDN_ITEMCLICKA, 0, OnHeaderClicked)
ON_NOTIFY(HDN_ITEMCLICKW, 0, OnHeaderClicked)
Note that we specify the same function for both the notification. Actually the program will receive one or the other and not both. What notification it receives will depend on the OS. The list view control on Windows 95 will send the ANSI version and the control on NT will send the UNICODE version.
Also, note that the second argument is zero. This value filters for the id of the control and we know that header control id is zero.
Step 4: Write the OnHeaderClicked() function
Here’s where you decide what to do when the user clicks on a column header. The expected behaviour is to sort the list based on the values of the items in that column. In this function we have used the SortTextItems() function developed in a previous section. If any of the columns displays numeric or date values, then you would have to provide custom sorting for them.

void CMyListCtrl::OnHeaderClicked(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
if( phdn->iButton == 0 )
{
// User clicked on header using left mouse button
if( phdn->iItem == nSortedCol )
bSortAscending = !bSortAscending;
else
bSortAscending = TRUE;
nSortedCol = phdn->iItem;
SortTextItems( nSortedCol, bSortAscending );
}
*pResult = 0;
}
璁〤ListCtrl鐨凷ubItem涔熷叿鏈夌紪杈戝姛鑳?
瑕侀噸杞戒竴涓枃鏈錛岀劧鍚庡湪LVN_BEGINLABELEDIT鏃舵敼鍙樻枃鏈浣嶇疆銆?br />CInEdit m_InEdit;
if( ( GetStyle() & LVS_TYPEMASK ) == LVS_REPORT && ( m_nEditSubItem != 0 ) )
{
HWND hwndEdit;
CRect rtBound;
CString strText;
hwndEdit = (HWND)SendMessage( LVM_GETEDITCONTROL );
GetSubItemRect( pDispInfo->item.iItem, m_nEditSubItem, LVIR_LABEL, rtBound );
m_InEdit.SubclassWindow( hwndEdit );
m_InEdit.m_left = rtBound.left;
strText = GetItemText( pDispInfo->item.iItem, m_nEditSubItem );
m_InEdit.SetWindowText( strText );
}
void CInEdit::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
CRect rtClient;
lpwndpos->x = m_left; // m_left鍦↙VN_BEGINLABELEDIT涓緗?br />CEdit::OnWindowPosChanging(lpwndpos);

// TODO: Add your message handler code here

}



Mumoo 2013-01-17 10:32 鍙戣〃璇勮
]]>CTime()綾?/title><link>http://m.shnenglu.com/Mumoo/archive/2012/11/27/195738.html</link><dc:creator>Mumoo</dc:creator><author>Mumoo</author><pubDate>Tue, 27 Nov 2012 08:20:00 GMT</pubDate><guid>http://m.shnenglu.com/Mumoo/archive/2012/11/27/195738.html</guid><wfw:comment>http://m.shnenglu.com/Mumoo/comments/195738.html</wfw:comment><comments>http://m.shnenglu.com/Mumoo/archive/2012/11/27/195738.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Mumoo/comments/commentRss/195738.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Mumoo/services/trackbacks/195738.html</trackback:ping><description><![CDATA[<div>緇撴瀯:<br />CTime( <div id="hvzpftn" class="spctrl"></div>銆銆int nYear, <div id="hvzpftn" class="spctrl"></div>銆銆int nMonth, <div id="hvzpftn" class="spctrl"></div>銆銆int nDay, <div id="hvzpftn" class="spctrl"></div>銆銆int nHour, <div id="hvzpftn" class="spctrl"></div>銆銆int nMin, <div id="hvzpftn" class="spctrl"></div>銆銆int nSec, <div id="hvzpftn" class="spctrl"></div>銆銆int nDST = -1<br /> //鍙傛暟nDST鎸囧畾鏄惁瀹炶澶忎護鏃訛紝涓?鏃惰〃紺哄疄琛屾爣鍑嗘椂闂達紝涓烘鏁版椂琛ㄧず瀹炶澶忎護鏃訛紝涓鴻礋鏁版椂鐢辯郴緇熻嚜鍔ㄨ綆楀疄琛岀殑鏄爣鍑嗘椂闂磋繕鏄浠ゆ椂銆? <div id="hvzpftn" class="spctrl"></div>銆銆); <br /><br /><span style="color: #0000ff">銆===================================================================== </span> <div id="hvzpftn" class="spctrl"></div><span style="color: #0000ff">銆銆</span><strong style="color: #0000ff">C++涓紝CTime 涓?CString杞崲</strong><span style="color: #0000ff"> </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CTime m_StartTime1 = CTime::GetCurrentTime(); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CString csStartTime = m_StartTime1.Format( "%Y%m%d%H%M%S" ); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆</span><strong style="color: #0000ff">涓.灝咰String杞負CTime鐨勫嚑縐嶆柟娉?/strong><span style="color: #0000ff"> </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CString timestr = "2000騫?4鏈?5鏃?; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆int a,b,c ; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆sscanf(timestr.GetBuffer(timestr.GetLength()),"%d騫?d鏈?d鏃?,&a,&b,&c); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CTime time(a,b,c,0,0,0); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆--------or - --------------------- </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CString s("2001-8-29 19:06:23"); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆int nYear, nMonth, nDate, nHour, nMin, nSec; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆sscanf(s, "%d-%d-%d %d:%d:%d", &nYear, &nMonth, &nDate, &nHour, &nMin, &nSec); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CTime t(nYear, nMonth, nDate, nHour, nMin, nSec); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆---- or ------------------------ </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CString timestr = "2000騫?4鏈?5鏃?; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆int year,month,day; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆BYTE tt[5]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆//get year </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆memset(tt, 0, sizeof(tt)); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[0] = timestr[0]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[1] = timestr[1]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[2] = timestr[2]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[3] = timestr[3]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆year= atoi((char *)tt); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆//get month </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆memset(tt, 0, sizeof(tt)); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[0] = timestr[6]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[1] = timestr[7]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆month = atoi((char *)tt); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆//get day </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆memset(tt, 0, sizeof(tt)); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[0] = timestr[10]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆tt[1] = timestr[11]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CTime time(year,month,day,0,0,0); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆浠庝笂闈㈡潵鐪?寰堟槑鏄句嬌鐢╯scanf()鍑芥暟鐨勪紭鍔? </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆</span><strong style="color: #0000ff">浜?灝咰Time杞崲涓篊String鐨勬柟娉?</strong><span style="color: #0000ff"> </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CTime tmSCan = CTime::GetCurrentTime(); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CString szTime = tmScan.Format("'%Y-%m-%d %H:%M:%S'"); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆榪欐牱寰楀埌鐨?/span><a style="color: #0000ff" target="_blank">鏃ユ湡</a><span style="color: #0000ff">鏃墮棿瀛楃涓插氨鏄互"2006-11-27 23:30:59"鐨勬牸寮?</span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆//鍙栧緱CTime涓殑鏃ユ湡 </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CString cstrDate = tmScan.Format("%Y-%m-%d"); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆//鍙栧緱CTime涓殑鏃墮棿 </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆CString cstrTime = tmScan.Format("%H:%M-%S"); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆sprintf榪樻湁涓笉閿欑殑琛ㄥ錛歴trftime錛屼笓闂ㄧ敤浜庢牸寮忓寲鏃墮棿瀛楃涓茬殑錛岀敤娉曡窡濂硅〃鍝ュ緢鍍忥紝涔熸槸涓澶у爢鏍煎紡鎺у埗絎︼紝鍙槸姣曠珶灝忓濞樺蹇冪粏錛屽ス榪樿璋冪敤鑰呮寚瀹氱紦鍐插尯鐨勬渶澶ч暱搴︼紝鍙兘鏄負浜嗗湪鍑虹幇闂鏃跺彲浠ユ帹鍗歌矗浠誨惂銆傝繖閲屼婦涓緥瀛愶細 </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆鏇村鏇村ソ鐨剆printf()鍑芥暟璇存槑鍙傝?銆妔pirntf錛屼綘鐭ラ亾澶氬皯錛熴?</span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆time_t t = time(0); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆//浜х敓"YYYY-MM-DD hh:mm:ss"鏍煎紡鐨勫瓧絎︿覆銆?</span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆char s[32]; </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t)); </span> <div style="color: #0000ff" class="spctrl"></div><span style="color: #0000ff">銆銆sprintf鍦∕FC涓篃鑳芥壘鍒頒粬鐨勭煡闊籌細CString::Format錛宻trftime鍦∕FC涓嚜鐒朵篃鏈夊ス鐨勫悓閬擄細CTime::Format錛岃繖涓瀵圭敱浜庝粠</span><a style="color: #0000ff" target="_blank">闈㈠悜瀵硅薄</a><span style="color: #0000ff">鍝噷寰楀埌浜嗚禐鍔╋紝鐢ㄤ互鍐欏嚭鐨勪唬鐮佹洿瑙変紭闆?</span><br /><span style="color: #0000ff">===================================================================== </span><br /><br />鑾峰彇鏃墮棿鍙婃椂闂村弬鏁版柟娉曪細<br /><span style="color: red">static CTime WINAPI GetCurrentTime( ); </span> <div id="hvzpftn" class="spctrl"></div><span style="color: red">銆銆鑾峰彇緋葷粺褰撳墠鏃ユ湡鍜屾椂闂淬傝繑鍥炶〃紺哄綋鍓嶆棩鏈熷拰鏃墮棿鐨凜Time瀵硅薄銆?nbsp;<br />CString Format(LPCTSTR pszFormat) const; <div id="hvzpftn" class="spctrl"></div>銆銆灝咰Time瀵硅薄涓殑鏃墮棿淇℃伅鏍煎紡鍖栦負瀛楃涓層傚弬鏁皃szFormat鏄牸寮忓寲瀛楃涓詫紝涓巔rintf涓殑鏍煎紡鍖栧瓧絎︿覆綾諱技錛屾牸寮忓寲瀛楃涓蹭腑甯︽湁%鍓嶇紑鐨勬牸寮忕爜灝嗕細琚浉搴旂殑CTime鏃墮棿鍒嗛噺浠f浛錛岃屽叾浠栧瓧絎︿細鍘熷皝涓嶅姩鐨勬嫹璐濆埌榪斿洖瀛楃涓蹭腑銆傛牸寮忕爜鍙婂惈涔夊涓嬶細 <div id="hvzpftn" class="spctrl"></div>銆銆%a錛氬懆鐨勮嫳鏂囩緝鍐欏艦寮忋? <div id="hvzpftn" class="spctrl"></div>銆銆%A錛氬懆鐨勮嫳鏂囧叏鍚嶅艦寮忋? <div id="hvzpftn" class="spctrl"></div>銆銆%b錛?鏈堢殑鑻辨枃緙╁啓褰㈠紡銆? <div id="hvzpftn" class="spctrl"></div>銆銆%B錛氭湀鐨勮嫳鏂囧叏鍚嶅艦寮忋? <div id="hvzpftn" class="spctrl"></div>銆銆%c錛?瀹屾暣鐨勬棩鏈熷拰鏃墮棿銆? <div id="hvzpftn" class="spctrl"></div>銆銆%d錛氬崄榪涘埗褰㈠紡鐨勬棩鏈燂紙01-31錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%H錛?4灝忔椂鍒剁殑灝忔椂錛?0-23錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%I錛?12灝忔椂鍒剁殑灝忔椂錛?0-11錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%j錛?鍗佽繘鍒惰〃紺虹殑涓騫翠腑鐨勭鍑犲ぉ錛?01-366錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%m錛?鏈堢殑鍗佽繘鍒惰〃紺猴紙01-12錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%M錛氬崄榪涘埗琛ㄧず鐨勫垎閽燂紙00-59錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%p錛?12灝忔椂鍒剁殑涓婁笅鍗堟爣紺猴紙AM/PM錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%S錛?鍗佽繘鍒惰〃紺虹殑縐掞紙00-59錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%U錛?涓騫翠腑鐨勭鍑犱釜鏄熸湡錛?0-51錛夛紝鏄熸湡鏃ユ槸涓鍛ㄧ殑絎竴澶┿? <div id="hvzpftn" class="spctrl"></div>銆銆%W錛?涓騫翠腑鐨勭鍑犱釜鏄熸湡錛?0-51錛夛紝鏄熸湡涓鏄竴鍛ㄧ殑絎竴澶┿? <div id="hvzpftn" class="spctrl"></div>銆銆%w錛?鍗佽繘鍒惰〃紺虹殑鏄熸湡鍑狅紙0-6錛夈? <div id="hvzpftn" class="spctrl"></div>銆銆%Y錛?鍗佽繘鍒惰〃紺虹殑騫淬?</span><br />      CTime(const SYSTEMTIME& st,int nDST = - 1) ; <div id="hvzpftn" class="spctrl"></div>銆銆浠ヤ竴涓猄YSTEMTIME緇撴瀯浣撳彉閲忔潵鏋勯燙Time瀵硅薄銆係YSTEMTIME緇撴瀯浣撲篃鏄垜浠鏃ユ湡鏃墮棿鐨勫父鐢ㄨ〃紺烘柟寮忋傚弬鏁皊t涓轟互鏈湴鏃墮棿琛ㄧず鐨凷YSTEMTIME瀵硅薄錛屽弬鏁皀DST鍚屼笂銆? <div id="hvzpftn" class="spctrl"></div>銆銆int GetYear( ) const錛? <div id="hvzpftn" class="spctrl"></div>銆銆鑾峰彇CTime瀵硅薄琛ㄧず鏃墮棿鐨勫勾浠姐傝寖鍥翠粠1970騫?鏈?鏃ュ埌2038騫達紙鍖呮嫭2038騫達級1鏈?8鏃ャ? <div id="hvzpftn" class="spctrl"></div>銆銆int GetMonth( ) const; <div id="hvzpftn" class="spctrl"></div>銆銆鑾峰彇CTime瀵硅薄琛ㄧず鏃墮棿鐨勬湀浠姐傝寖鍥翠負1鍒?2銆? <div id="hvzpftn" class="spctrl"></div>銆銆int GetDay( ) const; <div id="hvzpftn" class="spctrl"></div>銆銆鑾峰彇CTime瀵硅薄琛ㄧず鏃墮棿鐨勬棩鏈熴傝寖鍥翠負1鍒?1銆? <div id="hvzpftn" class="spctrl"></div>銆銆int GetHour( ) const; <div id="hvzpftn" class="spctrl"></div>銆銆鑾峰彇CTime瀵硅薄琛ㄧず鏃墮棿鐨勫皬鏃躲傝寖鍥翠負0鍒?3銆? <div id="hvzpftn" class="spctrl"></div>銆銆int GetMinute( ) const; <div id="hvzpftn" class="spctrl"></div>銆銆鑾峰彇CTime瀵硅薄琛ㄧず鏃墮棿鐨勫垎閽熴傝寖鍥翠負0鍒?9銆? <div id="hvzpftn" class="spctrl"></div>銆銆int GetSecond( ) const; <div id="hvzpftn" class="spctrl"></div>銆銆鑾峰彇CTime瀵硅薄琛ㄧず鏃墮棿鐨勭銆傝寖鍥翠負0鍒?9銆? <div id="hvzpftn" class="spctrl"></div>銆銆int GetDayOfWeek( ) const; <div id="hvzpftn" class="spctrl"></div>銆銆姝ゅ嚱鏁扮殑榪斿洖鍊艱〃紺篊Time瀵硅薄浠h〃鐨勬槸鏄熸湡鍑狅紝1琛ㄧず鏄懆鏃ワ紝2琛ㄧず鏄懆涓錛屼互姝ょ被鎺ㄣ?br /> <br />鎿嶄綔涓庢瘮杈冿細<br />CTime operator +(CTimeSpan timeSpan) const; <div id="hvzpftn" class="spctrl"></div>銆銆灝咰Time瀵硅薄鍜孋TimeSpan瀵硅薄鐩稿姞錛岃繑鍥炰竴涓狢Time瀵硅薄銆傚疄闄呮剰涔夊氨鏄湪涓涓椂闂寸殑鍩虹涓婃帹鍚庝竴涓椂闂撮棿闅旓紝寰楀埌涓涓柊鐨勬椂闂淬? <div id="hvzpftn" class="spctrl"></div>CTime operator -(CTimeSpan timeSpan) const; <div id="hvzpftn" class="spctrl"></div>銆銆灝咰Time瀵硅薄鍜屼竴涓狢TimeSpan鐩稿噺錛岃繑鍥炰竴涓狢Time瀵硅薄銆傚疄闄呮剰涔夊氨鏄湪涓涓椂闂寸殑鍩虹涓婃彁鍓嶄竴涓椂闂撮棿闅旓紝寰楀埌涓涓柊鐨勬椂闂淬? <div id="hvzpftn" class="spctrl"></div>CTimeSpan operator -(CTime time) const; <div id="hvzpftn" class="spctrl"></div>銆銆灝嗚CTime瀵硅薄鍜屽彟涓涓狢Time瀵硅薄鐩稿噺錛岃繑鍥炰竴涓狢TimeSpan瀵硅薄銆傚疄闄呮剰涔夊氨鏄綆椾袱涓椂闂寸偣鐨勯棿闅旓紝寰楀埌涓涓狢TimeSpan瀵硅薄銆? <div id="hvzpftn" class="spctrl"></div>CTime& operator +=(CTimeSpan span); <div id="hvzpftn" class="spctrl"></div>銆銆涓鴻CTime瀵硅薄澧炲姞涓涓猻pan琛ㄧず鐨勬椂闂撮棿闅斻? <div id="hvzpftn" class="spctrl"></div>CTime& operator -=(CTimeSpan span); <div id="hvzpftn" class="spctrl"></div>銆銆涓鴻CTime瀵硅薄鍑忓幓涓涓猻pan琛ㄧず鐨勬椂闂撮棿闅斻? <div id="hvzpftn" class="spctrl"></div>CTime& operator =(__time64_t time); <div id="hvzpftn" class="spctrl"></div>銆銆涓鴻CTime瀵硅薄璧嬩簣涓涓柊鐨勬椂闂村箋? <div id="hvzpftn" class="spctrl"></div>銆銆綆鍗曡涓嬪墿涓嬬殑鍑犱釜閲嶈澆i榪愮畻絎︼細 <div id="hvzpftn" class="spctrl"></div>銆銆operator == 錛?姣旇緝涓や釜緇濆鏃墮棿鏄惁鐩哥瓑銆? <div id="hvzpftn" class="spctrl"></div>銆銆operator != 錛?姣旇緝涓や釜緇濆鏃墮棿鏄惁涓嶇浉絳夈? <div id="hvzpftn" class="spctrl"></div>銆銆operator > 錛?姣旇緝涓や釜緇濆鏃墮棿錛屾槸鍚﹀墠涓涓ぇ浜庡悗涓涓? <div id="hvzpftn" class="spctrl"></div>銆銆operator < 錛?姣旇緝涓や釜緇濆鏃墮棿錛屾槸鍚﹀墠涓涓皬浜庡悗涓涓? <div id="hvzpftn" class="spctrl"></div>銆銆operator >= 錛?姣旇緝涓や釜緇濆鏃墮棿錛屾槸鍚﹀墠涓涓ぇ浜庣瓑浜庡悗涓涓? <div id="hvzpftn" class="spctrl"></div>銆銆operator <= 錛?姣旇緝涓や釜緇濆鏃墮棿錛屾槸鍚﹀墠涓涓皬浜庣瓑浜庡悗涓涓?br /></div><img src ="http://m.shnenglu.com/Mumoo/aggbug/195738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Mumoo/" target="_blank">Mumoo</a> 2012-11-27 16:20 <a href="http://m.shnenglu.com/Mumoo/archive/2012/11/27/195738.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ListControl 璁劇疆琛ㄦ牸琛岄珮涓庡瓧浣?/title><link>http://m.shnenglu.com/Mumoo/archive/2012/11/20/195410.html</link><dc:creator>Mumoo</dc:creator><author>Mumoo</author><pubDate>Tue, 20 Nov 2012 08:00:00 GMT</pubDate><guid>http://m.shnenglu.com/Mumoo/archive/2012/11/20/195410.html</guid><wfw:comment>http://m.shnenglu.com/Mumoo/comments/195410.html</wfw:comment><comments>http://m.shnenglu.com/Mumoo/archive/2012/11/20/195410.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Mumoo/comments/commentRss/195410.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Mumoo/services/trackbacks/195410.html</trackback:ping><description><![CDATA[璁劇疆琛岄珮錛?br />CImageList   m_l;   <br /> m_l.Create(1,18,TRUE|ILC_COLOR32,1,0);   <br /> SetImageList(&m_l,LVSIL_SMALL); <br /><br />璁劇疆瀛椾綋錛? <p> </p> <p>CFont m_font;</p> <p>m_font.CreatePointFont(100, "鏂板畫浣?);<br />m_listCtrl.SetFont(&m_font);</p><img src ="http://m.shnenglu.com/Mumoo/aggbug/195410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Mumoo/" target="_blank">Mumoo</a> 2012-11-20 16:00 <a href="http://m.shnenglu.com/Mumoo/archive/2012/11/20/195410.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>CDateTimeCtrl 鐨勪嬌鐢?/title><link>http://m.shnenglu.com/Mumoo/archive/2012/11/06/194714.html</link><dc:creator>Mumoo</dc:creator><author>Mumoo</author><pubDate>Tue, 06 Nov 2012 07:03:00 GMT</pubDate><guid>http://m.shnenglu.com/Mumoo/archive/2012/11/06/194714.html</guid><wfw:comment>http://m.shnenglu.com/Mumoo/comments/194714.html</wfw:comment><comments>http://m.shnenglu.com/Mumoo/archive/2012/11/06/194714.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Mumoo/comments/commentRss/194714.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Mumoo/services/trackbacks/194714.html</trackback:ping><description><![CDATA[<div align="left"> <div align="left"><font style="font-size: 14px" color="#0099cc"><strong style="color: red; font-size: 10pt">杞嚜錛?a >http://blog.163.com/zgkingdom@126/blog/static/227347320077214150750/</a><br /></strong><strong><br />1.CDateTimeCtrl 鏍煎紡</strong></font></div> <div align="left"><font color="#000000" face="瀹嬩綋">CDateTimeCtrl 璁懼畾涓?#8220;ShowNone” 涓?<font face="瀹嬩綋">True</font></font></div> <div align="left"></div> <div align="left"><strong><font style="font-size: 14px" color="#0099cc">2.Format 鍒濆鍖?/font></strong></div></div> <div align="left"><font face="瀹嬩綋"><font face="瀹嬩綋">CDateTimeCtrl m_Date1;</font></font></div> <div align="left"><font face="瀹嬩綋">m_Date1.SetFormat(_T("yyyy'- 'MM'- 'dd"));<br /></font> <div align="left"><font face="瀹嬩綋"><strong><font style="font-size: 14px" color="#0099cc">3.Format鍒濆鍖栭夋嫨紜妗嗕負絀?/font></strong></font></div> <div align="left"><font face="瀹嬩綋"><font face="瀹嬩綋">CDateTimeCtrl m_Date1;</font></font></div> <div align="left"><font face="瀹嬩綋"><font face="瀹嬩綋">::SendMessage( this->m_Date1.m_hWnd,(UINT)DTM_SETSYSTEMTIME,GDT_NONE, NULL);</font></font></div> <div align="left"></div> <div align="left"> <p><font face="瀹嬩綋"><strong><font style="font-size: 14px" color="#0099cc">4.Format鍒濆鍖栭夋嫨紜妗嗗彉鍖栨槸浜х敓鐨勫姩浣?/font></strong></font></p> <p><font face="瀹嬩綋">voidPageDialog4::OnDtnDatetimechangeDatetimepicker1(NMHDR *pNMHDR,LRESULT *pResult)<br />{<br />LPNMDATETIMECHANGE pDTChange =reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);<br />// TODO: 鍦ㄦ娣誨姞鎺т歡閫氱煡澶勭悊紼嬪簭浠g爜<br />if(pDTChange->dwFlags == GDT_NONE)<br />{<br />this->m_Date2.EnableWindow(FALSE);<br />}<br />else if (pDTChange->dwFlags == GDT_VALID)<br />{<br />if( this->m_Date2.IsWindowEnabled() == FALSE)<br />{<br />this->m_Date2.EnableWindow(TRUE);<br />CTime theTime = CTime::GetCurrentTime();<br />this->m_Date1.SetTime(&theTime);<br />this->m_Date2.SetTime(&theTime); <br />}<br />}</font></p> <p><font face="瀹嬩綋">*pResult= 0;<br />}</font></p> <p><font face="瀹嬩綋"><font face="瀹嬩綋"><strong><font style="font-size: 14px" color="#0099cc">5.鑾峰彇鏃墮棿</font></strong></font></font></p> <p><font face="瀹嬩綋"><font face="瀹嬩綋">CTimetimeTime;<br />CString szDate;<br />CDateTimeCtrl* pCtrl =&this->m_Date1;<br />DWORD dwResult =pCtrl->GetTime(timeTime);<br />if (dwResult == GDT_VALID)<br />{<br />szDate = timeTime.Format(TEXT("%Y/%m/%d"));<br />}<br /><br />鑾峰彇鏃墮棿鐨勭浜岀鏂規硶錛?br /><br /><br /></font></font></p> <p><font face="瀹嬩綋"><font face="瀹嬩綋"><font face="瀹嬩綋"><strong><font style="font-size: 14px" color="#0099cc">6.鏍規嵁Format鏍煎紡璁懼畾鏃墮棿</font></strong></font></font></font></p> <p><font face="瀹嬩綋">CTime theTime = CTime::GetCurrentTime();<br />this->m_Date1.SetTime(&theTime);</font></p></div></div><img src ="http://m.shnenglu.com/Mumoo/aggbug/194714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Mumoo/" target="_blank">Mumoo</a> 2012-11-06 15:03 <a href="http://m.shnenglu.com/Mumoo/archive/2012/11/06/194714.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++ LNK2001閿欒鎬葷粨 http://m.shnenglu.com/Mumoo/archive/2012/10/22/193673.htmlMumooMumooMon, 22 Oct 2012 07:19:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/10/22/193673.htmlhttp://m.shnenglu.com/Mumoo/comments/193673.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/10/22/193673.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/193673.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/193673.html鏈枃杞澆鑷?/span>http://m.shnenglu.com/jialisoft/archive/2012/10/11/193149.html
 

瀛︿範VC錛嬶紜鏃剁粡甯鎬細閬囧埌閾炬帴閿欒LNK2001錛岃閿欒闈炲父璁ㄥ帉錛屽洜涓哄浜庣紪紼嬭呮潵璇達紝鏈濂芥敼鐨勯敊璇帿榪囦簬緙栬瘧閿欒錛岃屼竴鑸鏉ュ彂鐢熻繛鎺ラ敊璇椂錛岀紪璇戦兘宸查氳繃銆備駭鐢熻繛鎺ラ敊璇殑鍘熷洜闈炲父澶氾紝灝ゅ叾LNK2001閿欒錛屽父甯鎬嬌浜轟笉鏄庡叾鎵浠ョ劧銆傚鏋滀笉娣卞叆鍦板涔犲拰鐞嗚ВVC錛嬶紜錛岃鎯蟲敼姝h繛鎺ラ敊璇?/span>LNK2001闈炲父鍥伴毦

unresolved external symbol 錛堜笉紜畾鐨勫閮?/span>絎﹀彿錛夈?/span>

濡傛灉榪炴帴紼嬪簭涓嶈兘鍦ㄦ墍鏈夌殑搴撳拰鐩爣鏂囦歡鍐呮壘鍒版墍寮曠敤鐨勫嚱鏁般佸彉閲忔垨鏍囩錛屽皢浜х敓姝ら敊璇秷鎭備竴鑸潵璇達紝鍙戠敓閿欒鐨勫師鍥犳湁涓や釜錛?/span>

(1) 鎵寮曠敤鐨勫嚱鏁般佸彉閲忎笉瀛樺湪銆佹嫾鍐欎笉姝g‘鎴栬呬嬌鐢ㄩ敊璇紱

(2) 鍙兘浣跨敤浜嗕笉鍚岀増鏈殑榪炴帴搴撱?/span>

浠ヤ笅鏄彲鑳戒駭鐢?/span>LNK2001閿欒鐨勫師鍥狅細   
1. 鐢變簬緙栫爜閿欒瀵艱嚧鐨?/span>LNK2001銆?/span>   
(1) 涓嶇浉鍖歸厤鐨勭▼搴忎唬鐮佹垨妯″潡瀹氫箟(.DEF)鏂囦歡鑳藉鑷?/span>LNK2001銆備緥濡?/span>,   濡傛灉鍦?/span>C錛嬶紜   婧愭枃浠跺唴澹版槑浜嗕竴鍙橀噺“var1”錛屽嵈璇曞浘鍦ㄥ彟涓鏂囦歡鍐呬互鍙橀噺“VAR1”璁塊棶璇ュ彉閲?/span>,灝嗗彂鐢熻閿欒銆?/span>   
(2) 濡傛灉浣跨敤鐨勫唴鑱斿嚱鏁版槸鍦?/span>.CPP鏂囦歡鍐呭畾涔夌殑錛岃屼笉鏄湪澶存枃浠跺唴瀹氫箟灝嗗鑷?/span>LNK2001閿欒銆?/span>   
(3) 璋冪敤鍑芥暟鏃跺鏋滄墍鐢ㄧ殑鍙傛暟綾誨瀷鍚屽嚱鏁板0鏄庢椂鐨勭被鍨嬩笉絎﹀皢浼氫駭鐢?/span>LNK2001銆?/span>   
(4) 璇曞浘浠庡熀綾葷殑鏋勯犲嚱鏁版垨鏋愭瀯鍑芥暟涓皟鐢ㄨ櫄鎷熷嚱鏁版椂灝嗕細瀵艱嚧LNK2001銆?/span>   
(5) 瑕佹敞鎰忓嚱鏁板拰鍙橀噺鐨勫彲鍏敤鎬э紝鍙湁鍏ㄥ眬鍙橀噺銆佸嚱鏁版槸鍙叕鐢ㄧ殑銆?/span> 闈欐佸嚱鏁板拰闈欐佸彉閲忓叿鏈夌浉鍚岀殑浣跨敤鑼冨洿闄愬埗銆傚綋璇曞浘浠庢枃浠跺閮ㄨ闂換浣曟病鏈夊湪璇ユ枃浠跺唴澹版槑鐨勯潤鎬佸彉閲忔椂灝嗗鑷寸紪璇戦敊璇垨LNK2001銆?/span>   
鍑芥暟鍐呭0鏄庣殑鍙橀噺(灞閮ㄥ彉閲?/span>)   鍙兘鍦ㄨ鍑芥暟鐨勮寖鍥村唴浣跨敤銆?/span> 
C錛嬶紜鐨勫叏灞甯擱噺鍙湁闈欐佽繛鎺ユц兘銆傝繖涓嶅悓浜?/span>C錛屽鏋滆瘯鍥懼湪C錛嬶紜鐨勫涓枃浠跺唴浣跨敤鍏ㄥ眬鍙橀噺涔熶細浜х敓LNK2001閿欒銆備竴縐嶈В鍐崇殑鏂規硶鏄渶瑕佹椂鍦ㄥご鏂囦歡涓姞鍏ヨ甯擱噺鐨勫垵濮嬪寲浠g爜錛屽茍鍦?/span>.CPP鏂囦歡涓寘鍚澶存枃浠訛紱鍙︿竴縐嶆柟娉曟槸浣跨敤鏃剁粰璇ュ彉閲忚祴浠ュ父鏁般?/span> 
  
2. 鐢變簬緙栬瘧鍜岄摼鎺ョ殑璁劇疆鑰岄犳垚鐨?/span>LNK2001 
(1) 濡傛灉緙栬瘧鏃朵嬌鐢ㄧ殑鏄?/span>/NOD(/NODEFAULTLIB)閫夐」錛岀▼搴忔墍闇瑕佺殑榪愯搴撳拰MFC搴撳湪榪炴帴鏃剁敱緙栬瘧鍣ㄥ啓鍏ョ洰鏍囨枃浠舵ā鍧楋紝   浣嗛櫎闈炲湪鏂囦歡涓槑紜寘鍚繖浜涘簱鍚嶏紝鍚﹀垯榪欎簺搴撲笉浼氳閾炬帴榪涘伐紼嬫枃浠躲傚湪榪欑鎯呭喌涓嬩嬌鐢?/span>/NOD灝嗗鑷撮敊璇?/span>LNK2001銆?/span>   
(2) 濡傛灉娌℃湁涓?/span>wWinMainCRTStartup璁懼畾紼嬪簭鍏ュ彛錛屽湪浣跨敤Unicode鍜?/span>MFC鏃跺皢寰楀埌“unresolved   external   on   _WinMain@16”鐨?/span>LNK2001閿欒淇℃伅銆?/span>   
(3)浣跨敤/MD閫夐」緙栬瘧鏃?/span>,鏃㈢劧鎵鏈夌殑榪愯搴撻兘琚繚鐣欏湪鍔ㄦ侀摼鎺ュ簱涔嬪唴錛屾簮鏂囦歡涓“func”鐨勫紩鐢紝鍦ㄧ洰鏍囨枃浠墮噷鍗沖“__imp__func”   鐨勫紩鐢ㄣ傚鏋滆瘯鍥句嬌鐢ㄩ潤鎬佸簱LIBC.LIB鎴?/span>LIBCMT.LIB榪涜榪炴帴錛屽皢鍦?/span>__imp__func涓婂彂鐢?/span>LNK2001錛涘鏋滀笉浣跨敤/MD閫夐」緙栬瘧錛屽湪浣跨敤MSVCxx.LIB榪炴帴鏃朵篃浼氬彂鐢?/span>LNK2001銆?/span>   
(4)浣跨敤/ML閫夐」緙栬瘧鏃訛紝濡傜敤LIBCMT.LIB閾炬帴浼氬湪_errno涓婂彂鐢?/span>LNK2001銆?/span>   
(5)褰撶紪璇戣皟璇曠増鐨勫簲鐢ㄧ▼搴忔椂錛屽鏋滈噰鐢ㄥ彂琛岀増妯℃佸簱榪涜榪炴帴涔熶細浜х敓LNK2001錛涘悓鏍鳳紝浣跨敤璋冭瘯鐗堟ā鎬佸簱榪炴帴鍙戣鐗堝簲鐢ㄧ▼搴忔椂涔熶細浜х敓鐩稿悓鐨勯棶棰樸?/span>   
(6) 涓嶅悓鐗堟湰鐨勫簱鍜岀紪璇戝櫒鐨勬販鍚堜嬌鐢ㄤ篃鑳戒駭鐢熼棶棰橈紝鍥犱負鏂扮増鐨勫簱閲屽彲鑳藉寘鍚棭鍏堢殑鐗堟湰娌℃湁鐨勭鍙峰拰璇存槑銆?/span>   
(7) 鍦ㄤ笉鍚岀殑妯″潡浣跨敤鍐呰仈鍜岄潪鍐呰仈鐨勭紪璇戦夐」鑳藉瀵艱嚧LNK2001銆傚鏋滃垱寤?/span>C錛嬶紜搴撴椂鎵撳紑浜嗗嚱鏁板唴鑱旓紙/Ob1鎴?/span>/Ob2)錛屼絾鏄湪鎻忚堪璇ュ嚱鏁扮殑鐩稿簲澶存枃浠墮噷鍗村叧闂簡鍑芥暟鍐呰仈錛堟病鏈?/span>inline鍏抽敭瀛楋級錛岃繖鏃跺皢寰楀埌璇ラ敊璇俊鎭備負閬垮厤璇ラ棶棰樼殑鍙戠敓錛屽簲璇ュ湪鐩稿簲鐨勫ご鏂囦歡涓敤inline鍏抽敭瀛楁爣蹇楀唴鑱斿嚱鏁般?/span>   

(8) 涓嶆紜殑/SUBSYSTEM鎴?/span>/ENTRY璁劇疆涔熻兘瀵艱嚧LNK2001銆?/span>

鍏跺疄錛屼駭鐢?/span>LNK2001鐨勫師鍥犺繕鏈夊緢澶氾紝浠ヤ笂鐨勫師鍥犲彧鏄竴閮ㄥ垎鑰屽凡銆?/span>

涓婇潰閿欒鐨勫師鍥犳槸鍦ㄧ▼搴忎腑榪濆弽浜嗘爣鍑?/span>C++鐨勮瀹氳屽紩璧風殑銆備笅闈㈣繕瑕佽鏄庝竴涓敱浜庣紪璇戝櫒鑰屽紩璧風殑閿欒錛?/span>

鍦ㄦ爣鍑?/span>C++涓ā鏉跨被鐨勫畾涔夊拰瀹炵幇鏄笉鑳藉垎寮鐨勶紝鍘熷洜鏄被妯℃澘鍜屽嚱鏁版ā鏉塊兘涓嶆槸鐪熸鐨勫畾涔夛紝鐪熸鐨勫畾涔夋槸鍦ㄦā鏉垮疄渚嬪寲鏃剁敱緙栬瘧鍣ㄧ敓鎴愮殑銆傚鏋滃皢妯℃澘鐨勫畾涔夊拰瀹炵幇鍒嗙鐨勮瘽錛岀紪璇戝櫒鍦ㄧ敓鎴愬畾涔夋椂灝變細鍥犱負鎵句笉鍒板疄鐜拌屾姤閿欍?/span>

鍦ㄦ爣鍑?/span>C++涓ā鏉跨被鐨勫畾涔夊拰瀹炵幇鏄彲浠ュ儚鏅氱被涓鏍峰垎寮鏉ュ瓨鏀?/span>(綾誨畾涔夋斁鍦?/span>.h涓紝綾誨疄鐜版斁鍦?/span>.cpp涓?/span>)銆傜劧鑰岃繖涓疄鐜拌搗鏉ュお鍥伴毦錛屾墍浠ュぇ澶氭暟緙栬瘧鍣ㄩ兘涓嶆敮鎸?/span>(姣斿VC)銆傝繖鏍鳳紝濡傛灉鍦?/span>VC涓紪璇戜唬鐮侊紝浠g爜涓皢妯℃澘鐨勫畾涔夊拰瀹炵幇鍒嗗紑浜嗭紝灝變細浜х敓LNK2001鐨勯敊璇?/span>



Mumoo 2012-10-22 15:19 鍙戣〃璇勮
]]>ListCtrl 鑾峰彇棣栧垪鍊肩浉鍚岀殑鎻掑叆綆楁硶http://m.shnenglu.com/Mumoo/archive/2012/09/04/189420.htmlMumooMumooTue, 04 Sep 2012 06:48:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/09/04/189420.htmlhttp://m.shnenglu.com/Mumoo/comments/189420.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/09/04/189420.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/189420.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/189420.htmlListCtrl鐨処nsertItem鏂規硶榛樿棣栧垪涓嶇浉鍚岋紝鑻ラ鍒楀肩浉鍚岋紝鍒欐瘡嬈″潎鎻掑叆絎?琛屻?br />淇敼綆楁硶濡備笅錛?br />int nSize = 100;

int nCount = 0;
 for (int i = 0; i < nSize; i++)
 {
   CString sValue;
  sValue.Format("%d", nCount);

  int nInsLine = InsertItem(nCount, sValue);
  nCount++;

  int nColumn = 0;
  for (int j = 0; j < vRecord.size(); j++)
  {
     sValue = recordItem.sValue;
     SetItemText(nInsLine, nColumn, sValue);
   nColumn++; 
  }
 }



Mumoo 2012-09-04 14:48 鍙戣〃璇勮
]]>C++ 鑾峰彇瀛楃涓蹭腑闂寸殑瀛楃涓瞺http://m.shnenglu.com/Mumoo/archive/2012/08/23/188060.htmlMumooMumooThu, 23 Aug 2012 09:27:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/08/23/188060.htmlhttp://m.shnenglu.com/Mumoo/comments/188060.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/08/23/188060.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/188060.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/188060.htmlAllCode_Release?/PCPrintManage?/USBRegedit;
   //Dest:   PCPrintManage
   int nURLFindFirstSecond = sURL.ReverseFind('?');
   ASSERT(nURLFindFirstSecond != -1);
   CString sMidDir = sURL.Mid(nURLFindFirst+2, nURLFindFirstSecond-(nURLFindFirst+2));
   sSubCodeOutPath = m_sCodeOutPath + "\\" + sMidDir;
   sSubCodeOutPath.Replace("?", "");

Mumoo 2012-08-23 17:27 鍙戣〃璇勮
]]>
C++ staticText鏄劇ず鍐呭鏇存敼http://m.shnenglu.com/Mumoo/archive/2012/07/20/184306.htmlMumooMumooFri, 20 Jul 2012 02:17:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/07/20/184306.htmlhttp://m.shnenglu.com/Mumoo/comments/184306.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/07/20/184306.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/184306.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/184306.html1錛夊垱寤篊Static Control鍙橀噺 m_sStatic;
2)OnInit鍑芥暟涓?璋冪敤錛歮_sStatic.SetWindowText(sName);


Mumoo 2012-07-20 10:17 鍙戣〃璇勮
]]>
C++ 娣誨姞鍙抽敭鑿滃崟http://m.shnenglu.com/Mumoo/archive/2012/07/10/182623.htmlMumooMumooTue, 10 Jul 2012 07:35:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/07/10/182623.htmlhttp://m.shnenglu.com/Mumoo/comments/182623.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/07/10/182623.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/182623.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/182623.html afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint /*point*/); //鍑芥暟澹版槑

 void CBarView::OnContextMenu(CWnd* /*pWnd*/, CPoint /*point*/) //鍑芥暟浣?br /> {
  // TODO: Add your message handler code here
  CMenu menu;
  menu.LoadMenu(IDR_RIGHTMENU);
  CMenu* pop=menu.GetSubMenu(0);
  POINT ptMouse;
  GetCursorPos(&ptMouse);
  pop->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,ptMouse.x,ptMouse.y, this);

 }





Mumoo 2012-07-10 15:35 鍙戣〃璇勮
]]>
C++紼嬪簭璁捐娉ㄦ剰浜嬮」http://m.shnenglu.com/Mumoo/archive/2012/06/21/179617.htmlMumooMumooThu, 21 Jun 2012 08:45:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/06/21/179617.htmlhttp://m.shnenglu.com/Mumoo/comments/179617.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/06/21/179617.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/179617.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/179617.html1.
  鎵鏈夊彉閲忓畾涔変綅浜庡嚱鏁板紑濮嬪銆?/p>

2.
 灝介噺閬垮厤鍏ㄥ眬鍙橀噺錛屽叏灞鍙橀噺闇浜庡疄鐜版枃浠朵腑瀹氫箟錛屽ご鏂囦歡涓璭xtern澹版槑銆?/p>

3.
嫻偣闆跺兼瘮杈冮噰鐢ㄥ尯闂村箋?/p>

4.
淇濊瘉姝g‘鐨勫墠鎻愪笅灝介噺浣跨敤縐諱綅榪愮畻銆?/p>

5.
If璇彞銆乻witch璇彞浼樺厛澶勭悊鍑虹幇姒傜巼澶х殑鎯呭喌銆?/p>

6.
 鎸囬拡涓嶯ULL姣旇緝鍙嶅啓濡傦細NULL==p銆?/p>

7.
 寰幆宓屽鏃舵渶闀跨殑寰幆鏀懼唴灞傜煭鐨勬斁澶栧眰銆?/p>

8.
灝介噺涓嶅湪寰幆浣撳唴淇敼寰幆鍙橀噺銆?/p>

9.
鍑℃槸鏃犺繑鍥炲箋佹棤鍙傛暟銆佷換鎰忕被鍨嬫寚閽堝弬鏁扮殑鍑芥暟鍧囦嬌鐢╲oid鎴杤oid鎸囬拡銆?/p>

10.
閫傚綋浣跨敤const錛屼嬌鐢ㄧ洰鐨勯檺浜庤妭鐪佺┖闂淬佹彁楂樻晥鐜囥佷笉鍏佽淇敼鎴栧彲鑳戒駭鐢熺殑鍑芥暟鍙傛暟淇敼銆?/p>

11.
瀵逛簬鍙彉銆佸鍙樼殑瀵勫瓨鍣ㄥ彉閲忋佸綰跨▼鍏變韓鍙橀噺錛屽湪緇忚繃浠g爜浼樺寲澶勭悊鐨剅eleas鐗堟湰涓嬮渶浣跨敤volatile綾誨瀷淇グ絎︿慨楗板彉閲忋?/p>

12.
澶氬弬鏁板嚱鏁板簲浣跨敤緇撴瀯浣撳噺灝戝弬鏁頒釜鏁般?/p>

13.
璐熸暟鍙崇Щ鎿嶄綔鏃朵細甯︿笂絎﹀彿浣嶏紝楂樹綅琛ラ浂鎴栬ˉ涓鍙栧喅緙栬瘧鍣ㄣ傚乏縐繪垨鍙崇Щ鏃剁Щ鍔ㄤ綅鏁頒笉鑳藉ぇ浜庢暟鎹殑瀛樺偍浣嶆暟銆?/p>

14.
 Release鐗堜笅assert()璇彞鏃犳晥錛屾晠闈炶皟璇曠姸鎬佷笅榪樻槸鍙兘鍑虹幇鏁版嵁婧㈠嚭鑰屼笉鎶ラ敊銆?/p>

15.
浣跨敤瀹忓畾涔?define瀹氫箟鏂囦歡璺緞鏃跺欎嬌鐢ㄥ甫鍙屽紩鍙楓佸弻鍙嶆枩鏉犵殑瀛楃涓層傚畯瀹氫箟鍑芥暟鏃跺欏敖鍙兘鐨勪嬌鐢ㄦ嫭鍙楓傚畯瀹氫箟涓殑鎹㈣鎺ョ畫鍚庡拰琛岃搗濮嬪淇濊瘉鏃犱換浣曞瓧絎︺?/p>

16.
涓縐嶅彉閲忓悕縐頒唬琛ㄤ竴孌墊湁闄愮┖闂達紝鍏跺唴瀹圭О涓哄鹼紝c/c++涓О涔嬩負浠庡乏鍊煎埌鍙沖肩殑杞崲銆傚彟涓縐嶅彉閲忔槸涓孌墊湁闄愮┖闂寸殑寮曠敤錛屽悓鏃惰瀹氱┖闂寸殑闀垮害(鏁扮粍)銆?/p>

17.
鍒涘緩鍔ㄦ佷簩緇存暟緇?鎸囧悜鎸囬拡鐨勬寚閽?涓緇翠嬌鐢╪ew char*[涓緇村害] 鎴栬?(char**)malloc(涓緇村害).浜岀淮寰幆浜庝竴緇翠笅鍔ㄦ佸垱寤簄ew char[浜岀淮搴 鎴栬?char*)malloc(浜岀淮搴?銆傞噴鏀懼姩鎬佷簩緇存暟緇勫垰濂界浉鍙嶏紝鍏堝驚鐜噴鏀句簩緇達紝鍐嶉噴鏀句竴緇淬?/p>

18.
浣跨敤vector浣滀負鍏ㄥ眬鍙橀噺鏃跺欏瓨鍦ㄩ棶棰樸俽elease鐗堜笅push_back錛堬級浼氬嚭鐜伴敊璇紝浼拌鏄痸ector鏈韓鍏鋒湁鍔ㄦ佹墿灞曟ц屽仛涓哄叏灞鍙橀噺鍏剁┖闂村ぇ灝忔槸鍥哄畾鐨勩傚鏋滃厑璁稿叾鍙橀噺浣跨敤push_back娣誨姞鏁版嵁鍒欏彲鑳藉鑷村爢鏁版嵁鐮村潖銆傝В鍐沖姙娉曟槸灝嗗彉閲忓畾涔変簬綾諱腑騫跺畬鎴恜ush_back鍐嶈祴鍊間簬鍏ㄥ眬鍙橀噺銆?/p>

19.
鍒╃敤瀛楃鍒涚殑緇撴潫鏍囪瘑'/0' 錛堝叾ascII 鐮佹槸 0,0x00錛夎岄潪絀烘牸(鍏禷scII 鐮佹槸 32錛?x20)鍙垽鏂瓧絎︿覆緇撴潫浠ュ惁錛屽茍鍙互縐誨姩鎸囬拡鐨勬柟寮忚綆楀瓧絎︿覆鐨勫ぇ灝忋?/p>

20.
Dll搴擄紝涓嶄絾鍙互瀵煎嚭鍑芥暟鎺ュ彛錛屼篃鍙互瀵煎嚭綾匯傚錛歝alss _declspec(dllexport) CALSSNAME{}; class _declspec(dllimport) CLASSNAME{};#pragma comment(lib,"path")銆?/p>

21.
鍚堢悊浣跨敤鏁存暟鐨? 鍜?% 鍙彇寰楁暣鏁?嫻偣鏁版暣鏁伴儴鍒?鐨勫悇涓綅鏁?%10 /10)錛屽悎鐞嗕嬌鐢╤,p,q,t鍋氬驚鐜笅鐨勬寚閽堢Щ鍔ㄥ彲浠ユ瀯寤洪摼琛ㄥ拰閫嗗簭閾捐〃銆傚悎鐞嗗埄鐢ㄦ暟緇勪笅鏍囧彲瀹炵幇鎶樺崐寰幆閫嗗簭鏁扮粍(瀛楃涓?

22.
int a= 4; (++a) += (a++)  a= ?

23.
瀛楃鏁扮粍鐨勫ぇ灝忎笉瑕佸繕浜嗘渶鍚庣殑'/0'錛堝瓧絎︽寚閽堜笉鑳戒嬌鐢╯izeof(point)璁$畻錛夈?/p>

24.
free鍚庣殑鍐呭瓨絀洪棿鍙槸琚爣璁頒負浜嗗彲閲嶆柊鍒嗛厤錛屼絾浣滀負璇ヨ繘紼嬬殑鍐呭瓨鍧椾粬渚濈劧鍏鋒湁璇誨啓鏉冮檺錛屼負浜嗛伩鍏嶅唴瀛樻販涔遍渶瑕丯ULL鎸囬拡閬垮厤閲庢寚閽堢殑瀛樺湪銆?/p>

25.
涓嶅瓨鍦ㄤ笅杞芥枃浠跺す鐨勮娉曪紝鍙湁涓嬭澆鏂囦歡鏁版嵁鍜屾枃浠剁洰褰曚俊鎭紝鏂囦歡澶逛簬鏈湴鍒涘緩銆?/p>

26.
浣跨敤鍝堝笇鏌ユ壘鍔犻熸绱紝鍝堝笇榪囩▼灝辨槸寤虹珛鐩存帴绱㈠紩鐨勮繃紼嬶紝緇忚繃鍝堝笇澶勭悊鐨勬暟鎹湪鏌ユ壘鏃跺欏彲浠ラ氳繃鍑芥暟璁$畻鍚庣洿鎺ュ畾浣?鍝堝笇琛ㄧ殑绱㈠紩鍊肩浉褰撲簬鏁扮粍绱㈠紩鐩存帴瀹氫綅)鍒拌鏁版嵁銆傚搱甯屼笉鑳藉仛鍒扮櫨鍒嗙櫨鐨勫敮涓錛屾墍浠ラ渶瑕佸鐞嗗搱甯屽啿紿侊紝閫氬父浣跨敤閾捐〃鍔犲叧閿煎尮閰嶃?/p>

27.
鍑忓皯紼嬪簭涓庡瀛樼殑浜や簰嬈℃暟鍙彁閫熺▼搴忔墽琛岋紝鑰冭檻浣跨敤閾捐〃涓嬈″姞杞藉嬈′嬌鐢ㄣ佸唴瀛樺潡鍒嗛厤鎴栬呮枃浠舵槧灝勭瓑鏂規硶銆?/p>

28.
瀵瑰ぇ鏁版嵁澶ф枃浠剁殑澶勭悊錛岃冭檻浣跨敤澶氱嚎紼嬪潎鍒嗗伐浣滀換鍔$殑鍔炴硶浠庤屽彲闄嶄綆瀵瑰鐞嗗櫒鐨勫崰鐢ㄧ巼銆?br />



Mumoo 2012-06-21 16:45 鍙戣〃璇勮
]]>
鍚勭被鍨嬫暟鎹漿鎹?/title><link>http://m.shnenglu.com/Mumoo/archive/2012/06/21/179609.html</link><dc:creator>Mumoo</dc:creator><author>Mumoo</author><pubDate>Thu, 21 Jun 2012 07:25:00 GMT</pubDate><guid>http://m.shnenglu.com/Mumoo/archive/2012/06/21/179609.html</guid><wfw:comment>http://m.shnenglu.com/Mumoo/comments/179609.html</wfw:comment><comments>http://m.shnenglu.com/Mumoo/archive/2012/06/21/179609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Mumoo/comments/commentRss/179609.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Mumoo/services/trackbacks/179609.html</trackback:ping><description><![CDATA[<p>string 杞?CString <br />CString.format("%s", string.c_str()); <br /><br />char 杞?CString <br />CString.format("%s", char*); <br /><br />char 杞?string <br />string s(char *); <br /><br />string 杞?char * <br />char *p = string.c_str(); <br /><br />CString 杞?string <br />string CStringTostring(CString str)<br />{<br />string s;</p> <p>s.append(str.GetBuffer(str.GetLength()));</p> <p>str.ReleaseBuffer();<br /><br />return s;<br /><br />}<br /><br />1錛宻tring -> CString <br />CString.format("%s", string.c_str()); <br />鐢╟_str()紜疄姣攄ata()瑕佸ソ. <br />2錛宑har -> string <br />string s(char *); <br />浣犵殑鍙兘鍒濆鍖栵紝鍦ㄤ笉鏄垵濮嬪寲鐨勫湴鏂規渶濂借繕鏄敤assign(). <br /><br /><br />銆?a target="_blank"><font color="#003399">C++鏍囧噯鍑芥暟搴?/font></a>銆嬩腑璇寸殑 <br />鏈変笁涓嚱鏁板彲浠ュ皢瀛楃涓茬殑鍐呭杞崲涓哄瓧絎︽暟緇勫拰C—string <br />1.data(),榪斿洖娌℃湁”{post.content}“鐨勫瓧絎︿覆鏁扮粍 <br />2,c_str()錛岃繑鍥炴湁”{post.content}“鐨勫瓧絎︿覆鏁扮粍 <br />3錛宑opy() <br /><br />--------------------------------------------------------------- <br /><br />CString涓巌nt銆乧har*銆乧har[100]涔嬮棿鐨勮漿鎹? - <br /><br /><br />CString涓巌nt銆乧har*銆乧har[100]涔嬮棿鐨勮漿鎹? - <br /><br /><br /><br />CString浜掕漿int <br /><br />灝嗗瓧絎﹁漿鎹負鏁存暟錛屽彲浠ヤ嬌鐢╝toi銆乢atoi64鎴朼tol銆?<br />鑰屽皢鏁板瓧杞崲涓篊String鍙橀噺錛屽彲浠ヤ嬌鐢–String鐨凢ormat鍑芥暟銆傚 <br />CString s; <br />int i = 64; <br />s.Format("%d", i) <br />Format鍑芥暟鐨勫姛鑳藉緢寮猴紝鍊煎緱浣犵爺絀朵竴涓嬨?<br /><br />void CStrDlg::OnButton1() <br />{ <br />// TODO: Add your control notification handler code here <br />CString <br />ss="1212.12"; <br />int temp=atoi(ss); <br />CString aa; <br />aa.Format("%d",temp); <br />AfxMessageBox("var is " + aa); <br />} <br /><br />sart.Format("%s",buf); <br /><br />CString浜掕漿char* <br /><br />///char * TO cstring <br />CString strtest; <br />char * charpoint; <br />charpoint="give string a value"; <br />strtest=charpoint; <br /><br /><br />///cstring TO char * <br />charpoint=strtest.GetBuffer(strtest.GetLength()); <br /><br />鏍囧噯C閲屾病鏈塻tring,char *==char []==string <br /><br />鍙互鐢–String.Format("%s",char *)榪欎釜鏂規硶鏉ュ皢char *杞垚CString銆傝鎶奀String杞垚char *錛岀敤鎿嶄綔絎︼紙LPCSTR錛塁String灝卞彲浠ヤ簡銆?<br /><br /><br />CString杞崲 char[100] <br /><br />char a[100]; <br />CString str("aaaaaa"); <br />strncpy(a,(LPCTSTR)str,sizeof(a)); </p><img src ="http://m.shnenglu.com/Mumoo/aggbug/179609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Mumoo/" target="_blank">Mumoo</a> 2012-06-21 15:25 <a href="http://m.shnenglu.com/Mumoo/archive/2012/06/21/179609.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Tinyxml 鍚堝茍涓や釜XML鏂囦歡http://m.shnenglu.com/Mumoo/archive/2012/06/18/179330.htmlMumooMumooMon, 18 Jun 2012 09:53:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/06/18/179330.htmlhttp://m.shnenglu.com/Mumoo/comments/179330.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/06/18/179330.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/179330.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/179330.htmlBOOL  MergeXMLToDesXML(const CString &sDesXMLPath, const CString &sSrcXMLPath)
{
 TiXmlDocument XmlDocSrc(sSrcXMLPath);
 if (!XmlDocSrc.LoadFile())
 {
  LOG("GetJobXMLInfo:鍔犺澆XML鏂囦歡%s澶辮觸", sSrcXMLPath);
  return FALSE;
 }

 TiXmlDocument XmlDocDes(sDesXMLPath);
 if (!XmlDocDes.LoadFile())
 {
  LOG("GetJobXMLInfo:鍔犺澆XML鏂囦歡%s澶辮觸", sDesXMLPath);
  return FALSE;
 }

 TiXmlElement *pFirstChildSrc = XmlDocSrc.FirstChildElement("Root");

 TiXmlElement *pFirstChildDes = XmlDocDes.FirstChildElement("Root");
 if (TiXmlElement* pRecordAtributeDes = pFirstChildDes->FirstChildElement("FirstChild"))
 {
  while(pRecordAtributeDes)
  {
   pFirstChildSrc->InsertEndChild(*pRecordAtributeDes); 
   pRecordAtributeDes = pRecordAtributeDes->NextSiblingElement();
  }
 }

 XmlDocSrc.SaveFile(sDesXMLPath);
 return TRUE;
}



Mumoo 2012-06-18 17:53 鍙戣〃璇勮
]]>
C++ 璋冪敤windows鍥劇墖鍜屼紶鐪熸煡鐪嬪櫒鎵撳紑鍥劇墖http://m.shnenglu.com/Mumoo/archive/2012/06/18/179313.htmlMumooMumooMon, 18 Jun 2012 08:41:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/06/18/179313.htmlhttp://m.shnenglu.com/Mumoo/comments/179313.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/06/18/179313.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/179313.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/179313.html
CString sPicturePath = "C:\Users\Public\Pictures\Sample Pictures\鍏粰鑺?jpg";

CString sPicturePara= "shimgvw.dll ImageView_Fullscreen "+ sPicturePath ;

 ShellExecute(NULL, NULL, "rundll32.exe", 
    sPicturePara,"C:\\WINDOWS\\system32", SW_SHOW);



Mumoo 2012-06-18 16:41 鍙戣〃璇勮
]]>
C++ 瀵硅瘽妗?涓嶉夊畾鎵鏈夐」鐨勬彁紺?/title><link>http://m.shnenglu.com/Mumoo/archive/2012/06/11/178411.html</link><dc:creator>Mumoo</dc:creator><author>Mumoo</author><pubDate>Mon, 11 Jun 2012 06:58:00 GMT</pubDate><guid>http://m.shnenglu.com/Mumoo/archive/2012/06/11/178411.html</guid><wfw:comment>http://m.shnenglu.com/Mumoo/comments/178411.html</wfw:comment><comments>http://m.shnenglu.com/Mumoo/archive/2012/06/11/178411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Mumoo/comments/commentRss/178411.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Mumoo/services/trackbacks/178411.html</trackback:ping><description><![CDATA[int nTest = ((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck(); <br />int nTest1 = ((CButton *)GetDlgItem(IDC_RADIO2))->GetCheck();//鍗曢夋  <br />if (nTest == 1) <br />{ <br />AfxMessageBox("浣犲ソa"); <br />} <br />else if (nTest1 == 1) <br />{ <br />AfxMessageBox("浣犲ソb"); <br />} <br />else <br />{ <br />UpdateData(TRUE); <br />m_comMsg = "浣犲ソ"; <br />UpdateData(FALSE); <br />}<br /><br />//m_sSeclectLevel:闈欐佹鐨剉alue鍙橀噺<br />//m_ctrlSecretLevel:澶嶉夋鍙橀噺<br /> <p>m_ctrlSecretLevel.GetWindowText(m_sSeclectLevel);</p> <p>if (m_sSeclectLevel.IsEmpty())<br />{<br />MessageBox(PRINT_MSG, "鎵撳嵃鐩戞帶", MB_OK | MB_ICONERROR);<br />}<br />else<br />{<br />LOG("紜鎵撳嵃錛屾墦鍗板瘑綰т負 %s", m_sSeclectLevel);<br />OnOK();<br />}//澶嶉夋<br /></p><br />鏀瑰彉鎻愮ず淇℃伅瀛椾綋棰滆壊<br />Class -> 綾誨悕 ->灞炴?-> Message -> WM_CTLCOLOR -> <Add> OnCtlColor<br />int nId = pWnd-> GetDlgCtrlID(); <br />if(nCtlColor == CTLCOLOR_STATIC) <br />{ <br />if(nId == IDC_STATIC1) <br />{ <br />pDC-> SetTextColor((COLORREF)(RGB(255,0,0))); <br />} <br />}<img src ="http://m.shnenglu.com/Mumoo/aggbug/178411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Mumoo/" target="_blank">Mumoo</a> 2012-06-11 14:58 <a href="http://m.shnenglu.com/Mumoo/archive/2012/06/11/178411.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++ ListControl 鎻掑叆鏁板肩殑鏂規硶璋冪敤http://m.shnenglu.com/Mumoo/archive/2012/06/07/177914.htmlMumooMumooThu, 07 Jun 2012 06:38:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/06/07/177914.htmlhttp://m.shnenglu.com/Mumoo/comments/177914.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/06/07/177914.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/177914.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/177914.html鍒楄〃鎺т歡鍙互鐪嬩綔鏄姛鑳藉寮虹殑 ListBox錛屽畠鎻愪緵浜嗗洓縐嶉鏍鹼紝鑰屼笖鍙互鍚屾椂鏄劇ず涓鍒楃殑澶氫腑灞炴у箋?br />MFC 涓嬌鐢?CListCtrl 綾繪潵灝佽鍒楄〃鎺т歡鐨勫悇縐嶆搷浣溿?br />鍒涘緩涓涓獥鍙?鍙氳繃璋冪敤 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
dwStyle 涓彲浠ヤ嬌鐢ㄤ互涓嬩竴浜涘垪琛ㄦ帶浠剁殑涓撶敤椋庢牸錛?
l LVS_ICON ,LVS_SMALLICON ,LVS_LIST, LVS_REPORT 榪欏洓縐嶉鏍煎喅瀹氭帶浠剁殑澶栬錛屽悓鏃跺彧鍙互閫夋嫨鍏朵腑涓縐嶏紝鍒嗗埆瀵瑰簲錛氬ぇ鍥炬爣鏄劇ず錛屽皬鍥炬爣鏄劇ず錛屽垪琛ㄦ樉紺猴紝璇︾粏鎶ヨ〃鏄劇ず

l LVS_EDITLABELS 緇撶偣鐨勬樉紺哄瓧絎﹀彲浠ヨ緙栬緫錛屽浜庢姤琛ㄩ鏍兼潵璁插彲緙栬緫鐨勫彧涓虹涓鍒椼?
l LVS_SHOWSELALWAYS 鍦ㄥけ鍘葷劍鐐規椂涔熸樉紺哄綋鍓嶉変腑鐨勭粨鐐?
l LVS_SINGLESEL 鍚屾椂鍙兘閫変腑鍒楄〃涓竴欏?
涔熷彲閫氳繃listcontrl瀵硅瘽妗嗙殑 View 灞炴?>Report 璁劇疆

璁劇疆涓篟eport灞炴у悗錛岃嫢瑕丩istControl鏄劇ず涓哄垪琛ㄧ姸錛屽垯鍦↖nit鍑芥暟涓紝娣誨姞錛?/span>
ListView_SetExtendedListViewStyle(m_listctrl.m_hWnd, LVS_EX_GRIDLINES|LVS_EX_ONECLICKACTIVATE|LVS_EX_FULLROWSELECT);

int InsertItem( int nItem, LPCTSTR lpszItem ); 鎻掑叆琛?br />
nItem錛氭寚鏄庢彃鍏ヤ綅緗?br />lpszItem錛氫負鏄劇ず瀛楃銆?br />闄?LVS_REPORT 椋庢牸澶栧叾浠栦笁縐嶉鏍奸兘鍙渶瑕佺洿鎺ヨ皟鐢?InsertItem 灝卞彲浠ヤ簡錛屼絾濡傛灉浣跨敤鎶ヨ〃椋庢牸灝卞繀欏誨厛璁劇疆鍒楄〃鎺т歡涓殑鍒椾俊鎭?br />
int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat , int nWidth, int nSubItem); 鎻掑叆鍒?br />
iCol錛氫負鍒楃殑浣嶇疆錛屼粠闆跺紑濮?br />lpszColumnHeading錛氫負鏄劇ず鐨勫垪鍚?br />nFormat錛氫負鏄劇ず瀵歸綈鏂瑰紡
nWidth錛氫負鏄劇ず瀹藉害
nSubItem錛氫負鍒嗛厤璇ュ垪鐨勫垪绱㈠紩銆?

BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );璁劇疆姣忓垪鐨勬樉紺哄瓧絎?br />
nItem錛氫負琛屼綅緗?br />nSubItem錛氫負鍒椾綅緗?br />lpszText錛氫負鏄劇ず瀛楃

涓嬮潰鐨勪唬鐮佹紨紺轟簡濡備綍璁劇疆澶氬垪騫舵彃鍏ユ暟鎹細
m_list.SetImageList(&m_listSmall,LVSIL_SMALL);//璁劇疆 ImageList
m_list.InsertColumn(0,"Col 1",LVCFMT_LEFT,300,0);//璁劇疆鍒?br />m_list.InsertColumn(1,"Col 2",LVCFMT_LEFT,300,1);
m_list.InsertColumn(2,"Col 3",LVCFMT_LEFT,300,2);

m_list.InsertItem(0,"Item 1_1");//鎻掑叆琛?br />m_list.SetItemText(0,1,"Item 1_2");//璁劇疆璇ヨ鐨勪笉鍚屽垪鐨勬樉紺哄瓧絎?br />m_list.SetItemText(0,2,"Item 1_3")



Mumoo 2012-06-07 14:38 鍙戣〃璇勮
]]>
C++ TinyXML鐨勪嬌鐢?/title><link>http://m.shnenglu.com/Mumoo/archive/2012/06/06/177810.html</link><dc:creator>Mumoo</dc:creator><author>Mumoo</author><pubDate>Wed, 06 Jun 2012 09:27:00 GMT</pubDate><guid>http://m.shnenglu.com/Mumoo/archive/2012/06/06/177810.html</guid><wfw:comment>http://m.shnenglu.com/Mumoo/comments/177810.html</wfw:comment><comments>http://m.shnenglu.com/Mumoo/archive/2012/06/06/177810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Mumoo/comments/commentRss/177810.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Mumoo/services/trackbacks/177810.html</trackback:ping><description><![CDATA[<div>璇誨彇XML鏂囦歡錛歍iXmlDocument XmlDoc(sJobXML);<br />                   if (!XmlDoc.LoadFile())<br />                   {<br />                       LOG("GetJobXMLInfo:鍔犺澆XML鏂囦歡%s澶辮觸", sJobXML);<br />                       return FALSE;<br />                     }<br /><br />鑾峰彇鏍圭粨鐐癸細TiXmlElement* rootElement = XmlDoc.RootElement(); <br /><br />鑾峰彇鏍圭粨鐐圭殑絎竴涓爣絳懼鹼細TiXmlElement* pElement= rootElement->FirstChildElement();  <br /><br />鑾峰彇鏍囩鍊肩殑絎竴涓敭鍊鹼細 TiXmlElement* pChildElement= pElement->FirstChildElement(); <br /><br />鑾峰彇璇ラ敭鍊肩殑鎵鏈夊睘鎬у鹼細while ( pChildElement) <br />                                 {<br />                                    TiXmlAttribute* pAttribute= pChildElement->FirstAttribute(); //閿肩殑絎竴涓睘鎬у?br />                                    while ( pAttribute) <br />                                    {<br />                                          // pAttribute->Name() ——灞炴у悕縐幫紱pAttribute->Value()——灞炴у?br />                                         pAttribute= pAttribute->Next(); //渚濇鑾峰彇鍏朵粬灞炴у?br />                                     }<br /><br />鑾峰彇閿肩殑絎竴涓瓙灞炴у?nbsp;  TiXmlElement* pSecElement = pChildElement->FirstChildElement();<br />                                    //pSecElement ->GetText()——瀛愬睘鎬х殑灞炴у?br />    <br /> 渚濇鑾峰彇閿肩殑n涓瓙灞炴у?nbsp;  TiXmlElement* pChildElement= pChildElement->NextSiblingElement();<br />                                  }</div><img src ="http://m.shnenglu.com/Mumoo/aggbug/177810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Mumoo/" target="_blank">Mumoo</a> 2012-06-06 17:27 <a href="http://m.shnenglu.com/Mumoo/archive/2012/06/06/177810.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>CString銆丅STR鍜孡PCTSTR涔嬮棿鐨勫尯鍒紙杞級http://m.shnenglu.com/Mumoo/archive/2012/06/04/177414.htmlMumooMumooMon, 04 Jun 2012 01:05:00 GMThttp://m.shnenglu.com/Mumoo/archive/2012/06/04/177414.htmlhttp://m.shnenglu.com/Mumoo/comments/177414.htmlhttp://m.shnenglu.com/Mumoo/archive/2012/06/04/177414.html#Feedback0http://m.shnenglu.com/Mumoo/comments/commentRss/177414.htmlhttp://m.shnenglu.com/Mumoo/services/trackbacks/177414.html 


 CString cstr(asdd);
 const char* ch = (LPCTSTR)cstr;

 CString.format("%s", char*);

 CString cstr(asdd);
 const char* ch = (LPCTSTR)cstr;

 char* = (LPTSTR)(LPCTSTR)cstr


涓銆佸畾涔?/p>

1銆丆String錛氬姩鎬佺殑TCHAR鏁扮粍銆傚畠鏄竴涓畬鍏ㄧ嫭绔嬬殑綾伙紝灝佽浜?絳夋搷浣滅鍜屽瓧絎︿覆鎿嶄綔鏂規硶銆?/p>

2銆丅STR錛氫笓鏈夋牸寮忕殑瀛楃涓詫紙闇瑕佷嬌鐢ㄧ郴緇熷嚱鏁版潵鎿嶇旱錛夈傚畾涔変負錛歵ypedef OLECHAR FAR* BSTR

3銆丩PCTSTR錛氬父閲忕殑TCHAR鎸囬拡銆傚畾涔変負錛歵ypedef const char* LPCTSTR

浜屻佽鐐?/p>

1銆乧har*錛氭寚鍚慉NSI瀛楃鏁扮粍鐨勬寚閽堬紝鍏朵腑姣忎釜瀛楃鍗?浣嶏紙鏈夋晥鏁版嵁鏄櫎鎺夋渶楂樹綅鐨勫叾浠栦竷浣嶏級錛屽畠淇濇寔

浜嗕笌浼犵粺C/C++鐨勫吋瀹廣?/p>

2銆丩PSTR錛氭寚鍚戜竴涓互“\0”緇撳熬鐨凙NSI瀛楃鏁扮粍鐨勬寚閽堬紝鍙笌char*浜掓崲浣跨敤錛屽畠閫氬父鍦╓in32涓嬌鐢ㄣ?/p>

鍏朵腑LP琛ㄧず闀挎寚閽堬紙long pointer錛夈?/p>

3銆丩PCSTR錛氳鏁版嵁綾誨瀷鐨勭壒鎬у湪浜庡畠鐨勫疄渚嬩笉鑳借浣跨敤瀹冪殑API鍑芥暟鏀瑰彉錛岄櫎姝や箣澶栦笌LPSTR絳夊悓銆傚叾

涓瑿琛ㄧず甯擱噺錛圕ONSTANT錛夈?/p>

4銆佸湪Win16涓嬮暱鎸囬拡錛圠P錛夊拰鐭寚閽堬紙P錛夋湁鍖哄埆錛岃屽湪Win32涓嬪畠浠槸娌℃湁鍖哄埆鐨勶紝閮芥槸32浣嶃?/p>

5銆乀CHAR鍦ㄩ噰鐢║nicode鏂瑰紡涓嬬紪璇戞椂涓簑char_t錛屽湪鏅氱紪鐮佹柟寮忎笅緙栬瘧鏃朵綅char銆?/p>

涓夈乁nicode鏍囧噯

1銆佷負浜嗘弧瓚崇▼搴忎唬鐮佸浗闄呭寲鐨勯渶瑕侊紝涓氱晫鎺ㄥ嚭浜哢nicode鏍囧噯錛屽畠鎻愪緵浜嗕竴縐嶇畝鍗曞拰涓鑷寸殑琛ㄧず瀛楃涓茬殑

鏂規硶錛屾墍鏈夊瓧絎︿腑鐨勫瓧鑺傞兘鏄?6浣嶏紙涓や釜瀛楄妭錛夌殑鍊鹼紝鍏舵暟閲忎篃鍙互婊¤凍鍑犱箮涓栫晫涓婃墍鏈変功闈㈣璦瀛楃鐨?/p>

緙栫爜闇姹傦紝寮鍙戠▼搴忔椂浣跨敤Unicode錛堢被鍨嬩綅wchar_t錛夋槸涓縐嶈榧撳姳鐨勫仛娉曘?/p>

2銆丩PWSTR鍜孡PCWSTR鐢辨浜х敓錛屽畠浠殑鍚箟綾諱技浜嶭PSTR鍜孡PCSTR錛屼笉鍚岀殑鏄瓧絎︽暟鎹畐char_t涓?/p>

16浣嶏紝鑰宑har鍗翠負8浣嶃?/p>

鍥涖乀CHAR鏁版嵁綾誨瀷

TCHAR鏁版嵁綾誨瀷鏄負浜嗗疄鐜癆NSI鍜孶nicode涓ょ緙栫爜鐨勯氱敤鑰屾彁鍑烘潵鐨?/p>

1銆佸鏋滃畾涔変簡_UNICODE錛屽垯澹版槑濡備笅錛?/p>

typedef wchar_t TCHAR;

2銆佸鏋滄病鏈夊畾涔塤UNICODE錛屽垯澹版槑濡備笅錛?/p>

typedef char TCHAR;

榪欐牱灝卞彲浠ヨCString銆丩PTSTR鍜孡PCTSTR涓殑姣忎釜瀛楃閮芥槸TCHAR綾誨瀷錛岃屼笉鑰冭檻瀹冧滑鐨勭紪鐮佹牸

寮忋傝屼笖CString鏄竴涓皝瑁呭ソ浜嗙殑綾伙紝鏇存槸澶уぇ鍦版柟渚夸簡鐢ㄦ埛鐨勪嬌鐢ㄣ?/p>

浜斻乂C++涓父鐢ㄦ暟鎹被鍨嬩箣闂寸殑杞崲

1銆佸畾涔?/p>

int i=100;

long l=2001;

float f=300.2;

double d=12345.119

char username[]="2008鍖椾含濂ヨ繍";

char temp[200];

char* buf;

CString str;

_variant_t v1;

_bstr_t v2;

2銆佸叾浠栨暟鎹被鍨嬪埌瀛楃涓茬殑杞崲

(1)鐭暣褰nt->瀛楃涓?/p>

itoa(i,temp,10); //鎸夊崄榪涘埗鎶奿杞崲涓哄瓧絎︿覆瀛樺叆temp涓?/p>

itoa(i,temp,2); //鎸変簩榪涘埗鎶奿杞崲涓哄瓧絎︿覆瀛樺叆temp涓?/p>

(2)闀挎暣褰ong->瀛楃涓?/p>

ltoa(l,temp,10);

3銆佷粠鍏朵粬鍖呭惈浜嗗瓧絎︿覆鐨勫彉閲忎腑鑾峰彇鎸囧悜璇ュ瓧絎︿覆鐨勬寚閽?/p>

(1)浠嶤String鍙橀噺涓幏鍙栧瓧絎︿覆

str="紲堢鍥涘窛";

buf=(LPSTR)(LPCTSTR)str;

(2)浠嶣STR綾誨瀷鐨刜varitant_t鍙橀噺涓幏鍙栧瓧絎︿覆

v1=(_bstr_t)"紼嬪簭鍛?;

buf=_com_util::ConvertBSTRToString((_bstr_t)v1);

4銆佸瓧絎︿覆杞崲涓哄叾浠栨暟鎹被鍨?/p>

strcpy(temp,"123");

(1)i=atoi(temp); //瀛楃涓?>鐭暣鍨媔nt

(2)l=atol(temp); //瀛楃涓?>闀挎暣褰ong

(3)d=atof(temp); //瀛楃涓?>嫻偣鍨媎ouble

5銆佸叾浠栨暟鎹被鍨嬭漿鎹㈠埌CString

(1)浣跨敤CString鐨勬垚鍛樺嚱鏁癋ormat鏉ヨ漿鎹?/p>

A錛歴tr.Format("%d",i); //鐭暣鍨媔nt->CString

B錛歴tr.Format("%f",f); //嫻偣鏁癴loat->CString

(2)鏀寔CString鏋勯犲嚱鏁扮殑鏁版嵁綾誨瀷鍙互鐩存帴璧嬪鹼紝渚嬪char*

str=username;

鍏丅STR銆乢bstr_t鍜孋CombBSTR

BSTR錛氭寚鍚戝瓧絎︿覆鐨?2浣嶆寚閽堬紝_bstr_t鍜孋ComBSTR閮芥槸瀵瑰畠鐨勫皝瑁呫?/p>

1銆乧har*->BSTR鐨勮漿鎹?/p>

BSTR b=_com_util::ConvertStringToBSTR("鏁版嵁");

娉細浣跨敤涔嬪墠闇瑕佸姞涓奵omutil.h澶存枃浠?/p>

2銆丅STR->char*鐨勮漿鎹?/p>

char* p=_com_util::ConvertBSTRToString(b);

涓冦乂ARIANT銆乢variant_t鍜孋OleVariant

1銆佸浜嶸ARIANT鍙橀噺鐨勮祴鍊鹼細棣栧厛緇檝t鎴愬憳璧嬪鹼紝鎸囨槑鏁版嵁綾誨瀷銆傚啀瀵硅仈鍚堢粨鏋勪腑鐩稿悓鏁版嵁綾誨瀷鐨勫彉閲忚祴

鍊鹼紙鍙弬鑰僔C98\Inlude\OAIDL.H澶存枃浠朵腑鍏充簬tagVARIANT緇撴瀯浣撶殑瀹氫箟錛夈備婦渚嬪涓嬶細

VARIANT va;

va.vt=VT_l4; //鎸囨槑鏁版嵁綾誨瀷

va.lVal=2008;

2銆佸浜庝笉椹笂璧嬪肩殑VARIANT錛屾渶濂藉厛浣跨敤void VariantInit(VARIANTARG FAR* pvarg)鍑芥暟瀵瑰叾榪涜鍒濆

鍖栵紝鍏舵湰璐ㄦ槸灝唙t璁劇疆涓篤T_EMPTY銆倂t涓庡父鐢ㄦ暟鎹被鍨嬬殑瀵瑰簲鍏崇郴錛堢暐錛夈?/p>

3銆乢variant_t鏄疺ARIANT鐨勫皝瑁呯被錛岃祴鍊煎彲浠ヤ嬌鐢ㄥ己鍒剁被鍨嬭漿鎹紝鍏舵瀯閫犲嚱鏁頒細鑷姩澶勭悊榪欎簺鏁版嵁綾誨瀷銆?/p>

渚嬪錛?/p>

long l=222;

int i=100;

_variant_t lVal(l);

lVal=(long)i;

4銆丆OleVariant涓巁variant_t鐨勪嬌鐢ㄦ柟娉曞熀鏈竴鏍鳳紝紺轟緥濡備笅錛?/p>

COleVariant v3="瀛楃涓?,v4=(long)1999;

CString str=(BSTR)v3.pbstrVal;

long l=v4.lVal;

鍏佸叾浠?/p>

1銆佸娑堟伅鐨勫鐞嗕腑錛屾垜浠氬父闇瑕佸皢WPARAM鎴朙PARAM絳?2浣嶆暟鎹紙DWORD錛夊垎瑙f垚涓や釜16浣嶆暟鎹?/p>

錛圵ORD錛夛紝渚嬪錛?/p>

LPARAM lParam;

WORD loValue=LOWORD(lParam); //鍙栦綆16浣?/p>

WORD hiValue=HIWORD(lParam); //鍙栭珮16浣?/p>

2銆佸浜?6浣嶇殑鏁版嵁錛圵ORD錛夛紝鎴戜滑鍙互浣跨敤鍚屾牱鐨勬柟娉曞垎瑙f垚楂樹綆涓や釜8浣嶇殑鏁版嵁錛圔YTE錛夛紝渚嬪錛?/p>

WORD wValue;

BYTE loValue=LOBYTE(wValue); //鍙栦綆8浣?/p>

BYTE hiValue=HIBYTE(wValue); //鍙栭珮8浣?/p>

3銆佸浣曞皢CString綾誨瀷鐨勫彉閲忚祴緇檆har*綾誨瀷鐨勫彉閲?/p>

(1)CString::GetBuffer鍑芥暟

char* p;

CString str="hello";

p=str.GetBuffer(str.GetLength());

str.ReleaseBuffer();

(2)strcpy鍑芥暟

CString str("aaaaaaaa");

strcpy(str.GetBuffer(10),"aa");

str.ReleaseBuffer();

GetBuffer(int n)鍑芥暟鐢ㄤ簬鑾峰彇瀛楃鏁扮粍錛屽叾涓璶琛ㄧず瀛楃鏁扮粍鐨勯暱搴︼紝浣跨敤瀹岃瀛楃鏁扮粍涔嬪悗涓瀹氳璋冪敤

ReleaseBuffer()鍑芥暟鏉ラ噴鏀捐繖涓瓧絎︽暟緇勩?/p>

娉細鍦ㄨ兘澶熶嬌鐢╟onst char*鐨勫湴鏂癸紝閫氬父涓嶈浣跨敤char*

(3)memcpy鍑芥暟

CString mCS=_T("cxl");

char mch[20];

memcpy(mch,mCS,20);

(4)LPCTSTR寮哄埗綾誨瀷杞崲錛堜笉寤鴻浣跨敤錛?/p>

char* ch;

CString str;

ch=(LPSTR)(LPCTSTR)str;

str="good!";

sprintf(ch,"%s",(LPTSTR)(LPCTSTR)str);

(5)CString->LPTSTR->char*

CString Msg;

Msg=Msg+"abc";

LPTSTR lpsz;

lpsz=new TCHAR[Msg.GetLength()+1];

_tcscpy(lpsz,Msg);

char* psz;

strcpy(psz,lpsz);

4銆佸浣曞皢CString綾誨瀷鐨勫彉閲忚祴緇檆onst char*綾誨瀷鐨勫彉閲?/p>

char* a[100];

CString str("abcdef");

strncpy(a,(LPCTSTR)str,sizeof(a));

鎴?/p>

strncpy(a,str,sizeof(a));

娉細緙栬瘧鍣ㄤ細鑷姩灝咰String綾誨瀷鐨勫彉閲忚漿鎹負const char*綾誨瀷

5銆佸浣曞皢CString綾誨瀷鐨勫彉閲忚祴緇橪PCTSTR綾誨瀷鐨勫彉閲?/p>

CString cStr;

const char* lpctStr=(LPCTSTR)cStr;

6銆佸浣曞皢LPCTSTR綾誨瀷鐨勫彉閲忚祴緇機String綾誨瀷鐨勫彉閲?/p>

LPCTSTR lpctStr;

CString cStr=lpctStr;

7銆佸浣曞皢char*綾誨瀷鐨勫彉閲忚祴緇機String綾誨瀷鐨勫彉閲?/p>

(1)鐩存帴璧嬪鹼細CString myString="This is a test";

(2)鏋勯犲嚱鏁幫細CString s1("Tom");

8銆佸浣曞皢CString綾誨瀷鐨勫彉閲忚祴緇檆har[]錛堝瓧絎︿覆錛夌被鍨嬬殑鍙橀噺

(1)sprintf鍑芥暟

CString str="good!";

char temp[200];

sprintf(temp,"%s",(LPCSTR)str);

娉細寮哄埗綾誨瀷杞崲(LPCSTR)str涓?LPTSTR)(LPCTSTR)str絳夊悓錛屼嬌鐢ㄧ殑鍖哄埆浠呭湪浜嶤String瀵硅薄鏄彉閲?/p>

榪樻槸甯擱噺銆侺PCTSTR琛ㄧずconst char*錛屽畠寰楀埌鐨勫瓧絎︿覆鏄笉鍙啓鐨勶紒濡傛灉灝嗗叾寮哄埗杞崲浣峀PTSTR錛堝幓

鎺塩onst錛夛紝鏄瀬涓哄嵄闄╃殑錛佽寰楀埌char*錛屽簲璇ヤ嬌鐢℅etBuffer鎴朑etBufferSetLength鍑芥暟錛岀敤瀹屼箣鍚庡啀璋?/p>

鐢≧eleaseBuffer鍑芥暟銆?/p>

(2)strcpy鍑芥暟

CString str;

char c[256];

strcpy(c,str);

str="Hello";

strcpy((char*)&c,(LPCTSTR)str);

涔濄佸叧浜嶤String鐨勪嬌鐢?/p>

1銆佹寚瀹欳String褰㈠弬

(1)瀵逛簬澶у鏁伴渶瑕佸瓧絎︿覆鍙傛暟鐨勫嚱鏁幫紝鏈濂藉皢鍑芥暟鍘熷瀷涓殑褰㈠弬鎸囧畾涓轟竴涓寚鍚戝瓧絎︼紙LPCTSTR錛夛紝鑰岄潪

CString鐨刢onst鎸囬拡銆傚綋灝嗗艦鍙傛寚瀹氫負鎸囧悜瀛楃鐨刢onst鎸囬拡鏃訛紝鍙皢鎸囬拡浼犻掑埌TCHAR鏁扮粍錛堝瀛楃涓瞇"hi

here"]鎴栦紶閫掑埌CString瀵硅薄錛夈侰String瀵硅薄灝嗚嚜鍔ㄨ漿鎹㈡垚LPCTSTR銆備換浣曡兘澶熶嬌鐢↙PCTSTR鐨勫湴鏂逛篃鑳?/p>

澶熶嬌鐢–String瀵硅薄銆?/p>

(2)濡傛灉鏌愪釜褰㈠弬灝嗕笉浼氳淇敼錛屽垯涔熷皢璇ュ弬鏁版寚瀹氫負甯擱噺瀛楃涓插紩鐢紙const CString&錛夈傚鏋滃嚱鏁拌淇敼

璇ュ瓧絎︿覆錛屽垯鍒犻櫎const淇グ絎︺傚鏋滈渶瑕侀粯璁や負絀哄鹼紝鍒欏皢鍏跺垵濮嬪寲涓虹┖瀛楃涓詫紙[""]錛夛紝濡備笅鎵紺猴細

void AddCustomer(const CString& name,const CString& address,const CString& comment="");

(3)瀵逛簬澶у鏁板嚱鏁扮殑緇撴灉錛屾寜鍊艱繑鍥濩String瀵硅薄鍗沖彲銆?/p>

2銆佷覆鐨勫熀鏈繍綆?/p>

char s1[20]="dir/bin/appl",s2[20]="file.asm",s3[30],*p;

int result;

(1)姹備覆闀?/p>

int strlen(char* s); //姹備覆s鐨勯暱搴?/p>

渚嬶細printf("%d",strlen(s1));

(2)涓插鍒?/p>

char* strcpy(char* to,char* from); //灝唂rom涓插鍒跺埌to涓蹭腑錛屽茍榪斿洖to寮濮嬪鐨勬寚閽?/p>

渚嬶細strcpy(s3,s1);

(3)涓茶仈鎺?/p>

char* strcat(char* to,char* from); //灝唂rom涓插鍒跺埌to涓茬殑鏈熬

渚嬶細strcat(s3,"/");

strcat(s3,s2);

(4)涓叉瘮杈?/p>

int strcmp(char* s1,char* s2); //姣旇緝s1鍜宻2鐨勫ぇ灝忥紝s1<s2錛堝皬浜?錛夈乻1=s2錛?錛夊拰s1>s2錛堝ぇ浜?錛?/p>

渚嬶細result=strcmp("baker","Baker"); //澶т簬0

result=strcmp("12","12"); //絳変簬0

result=strcmp("Joe","joseph"); //灝忎簬0

(5)瀛楃瀹氫綅

char* strchr(char* s,char c); //鎵綾鍦ㄥ瓧絎︿覆s涓涓嬈″嚭鐜扮殑浣嶇疆銆傝嫢鎵懼埌錛屽垯榪斿洖璇ヤ綅緗紱鍚﹀垯NULL銆?/p>

渚嬶細p=strchr(s2,'.'); //p鎸囧悜"file"涔嬪悗鐨勪綅緗?/p>

(6)娉ㄦ剰

A錛氫笂榪版搷浣滄槸鏈鍩烘湰鐨勶紝鍏朵腑鍚?涓搷浣滆繕鏈夊彉縐嶅艦寮忥細strncpy銆乻trncath鍜宻trnchr銆?/p>

B錛氬叾浠栫殑涓叉搷浣滆C鐨?lt;string.h>澶存枃浠躲傚湪涓嶅悓鐨勯珮綰ц璦涓紝瀵逛覆榪愮畻鐨勭綾誨強絎﹀彿閮戒笉灝界浉鍚屻?/p>

C錛氬叾浣欑殑涓叉搷浣滀竴鑸彲鐢辮繖浜涘熀鏈搷浣滅粍鍚堣屾垚銆?/p>

渚嬶細姹傚瓙涓茬殑鎿嶄綔鍙涓嬪疄鐜?/p>

//s鍜宻ub鏄瓧絎︽暟緇勶紝鐢╯ub榪斿洖涓瞫鐨勭pos涓瓧絎﹂暱搴︿負len鐨勫瓙涓?/p>

void substr(char* sub,char* s,int pos,int len)

{

//鍏朵腑0<=pos<=strlen(s)-1錛屼笖鏁扮粍sub鑷沖皯鍙綰砽en+1涓瓧絎?/p>

if(pos<0 || pos>strlen(s)-1 ||len<0)

Error("parameter error!");

//浠巗[pos]璧峰鍒惰嚦澶歭en涓瓧絎﹀埌sub

strncpy(sub,*s[pos],len);

}



Mumoo 2012-06-04 09:05 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲欧美日韩国产成人| 国产精品mv在线观看| 国产精品永久免费视频| 免费91麻豆精品国产自产在线观看| 亚洲视频碰碰| 欧美一区二区三区婷婷月色| 欧美精品偷拍| 亚洲成在线观看| 亚洲国产精品热久久| 国产精品视频一| 欧美日韩影院| 性色av一区二区三区在线观看| 亚洲国产另类 国产精品国产免费| 欧美伊人久久| 欧美aⅴ99久久黑人专区| 亚洲第一精品福利| 影音先锋久久久| 欧美激情在线| 久久精品中文字幕免费mv| 一区二区三区视频在线| 毛片av中文字幕一区二区| 亚洲精品视频免费| 久久精品国产免费观看| 亚洲精品三级| 国产精品亚洲一区二区三区在线| 欧美精品一区在线播放| 欧美一区三区三区高中清蜜桃 | 9国产精品视频| 中文一区在线| 国产亚洲欧美中文| 麻豆亚洲精品| 欧美一级午夜免费电影| 欧美成人免费在线视频| 亚洲精品国产精品国产自| 欧美精品一区在线观看| 一本色道久久| 欧美黄色aa电影| 一区二区三区免费在线观看| 久久福利视频导航| 亚洲免费大片| 亚洲午夜一区二区| 亚洲精品影视| 亚洲国产精品成人综合| 亚洲第一成人在线| 亚洲精品久久久久久久久久久 | 欧美成人中文| 久久精品亚洲一区二区| 亚洲一区二区三区久久| 久久免费国产| 午夜精品视频| 欧美高清视频在线| 国产精品黄色| 亚洲高清自拍| 一区二区三区视频观看| 亚洲高清在线观看| 亚洲精品乱码久久久久久按摩观| 午夜久久久久久久久久一区二区| 一区二区三区国产精品| 最新热久久免费视频| 久久精品色图| 有码中文亚洲精品| 欧美插天视频在线播放| 亚洲免费视频在线观看| 亚洲国产老妈| 亚洲午夜性刺激影院| 欧美激情视频网站| 在线一区二区三区做爰视频网站| 久久人人超碰| 亚洲午夜精品网| 国产欧美二区| 欧美国产一区二区在线观看 | 伊人夜夜躁av伊人久久| 亚洲人体大胆视频| 亚洲国产欧美不卡在线观看| 欧美无乱码久久久免费午夜一区| 亚洲欧美激情视频在线观看一区二区三区| 亚洲欧美春色| 欧美激情精品久久久久久变态| 亚洲精品在线电影| 国产精品综合网站| 欧美一区二区免费| 久久精品理论片| 亚洲精品无人区| 亚洲大胆美女视频| 欧美日在线观看| 欧美一区二区在线播放| 久久精品国产精品| 午夜精品区一区二区三| 一区二区三区欧美在线| 免费在线国产精品| 一区二区自拍| 亚洲在线观看免费| 99re成人精品视频| 欧美激情一区二区三区| 国产日韩一区| 免费永久网站黄欧美| av72成人在线| 欧美一区在线看| 亚洲一区国产精品| 亚洲国产欧美在线人成| 欧美屁股在线| 亚洲欧洲另类国产综合| 激情懂色av一区av二区av| 日韩亚洲欧美一区二区三区| 亚洲国产日韩欧美在线图片 | 亚洲一区二区三区色| 国产综合一区二区| 一区二区三区高清| 亚洲欧美伊人| 韩国成人理伦片免费播放| 亚洲伊人网站| 先锋a资源在线看亚洲| 亚洲女同同性videoxma| 国产亚洲精品一区二区| 欧美乱在线观看| 欧美日韩成人| 欧美一级夜夜爽| 欧美女同视频| 亚洲一区二区免费在线| 午夜精品久久久久影视| 国产老肥熟一区二区三区| 亚洲欧美日本伦理| 夜夜嗨av一区二区三区中文字幕| 国产原创一区二区| 影音先锋亚洲精品| 欧美一区二视频| 亚洲福利一区| 亚洲日本电影在线| 欧美黑人国产人伦爽爽爽| aa日韩免费精品视频一| 红桃视频成人| 欧美福利电影在线观看| 欧美一区免费| 亚洲精品国产系列| 久久久精品国产一区二区三区 | 午夜久久久久| 国产精品久久国产精麻豆99网站| 久久福利精品| 亚洲宅男天堂在线观看无病毒| 亚洲第一网站| 欧美一区二区三区精品| 亚洲资源av| 亚洲国产精品福利| 欧美日韩国产成人在线观看| 亚洲伊人一本大道中文字幕| 亚洲久久成人| 亚洲成色精品| 亚洲精品欧美在线| 欧美激情91| 欧美成人第一页| 蜜月aⅴ免费一区二区三区| 午夜欧美大片免费观看 | 欧美日韩国产在线播放| 欧美巨乳波霸| 欧美精品v日韩精品v国产精品| 久久av在线看| 久久精品国产视频| 亚洲国产精品成人综合| 欧美视频一区二区三区四区| 欧美成人一区二免费视频软件| 免费观看欧美在线视频的网站| 欧美精品乱人伦久久久久久| 久久成人精品电影| 欧美大片在线看免费观看| 麻豆精品视频| 欧美~级网站不卡| 国产一区成人| 亚洲国产成人精品视频| 亚洲视频免费| 欧美一级播放| 亚洲激情啪啪| 亚洲综合国产激情另类一区| 亚洲精品视频在线观看网站| 亚洲自拍偷拍视频| 久久国产精品免费一区| 欧美高清视频一区二区三区在线观看| 欧美激情一区二区三区成人| 亚洲午夜精品久久久久久浪潮| 久久久久久夜精品精品免费| 一本一本久久| 欧美日韩精品国产| 国产精品私拍pans大尺度在线| 亚洲精美视频| 老司机亚洲精品| 欧美一区三区三区高中清蜜桃 | 亚洲激情网站| 亚洲国产乱码最新视频| 午夜精品免费| 欧美日韩一区二区在线| 国产精品久久国产精品99gif | 亚洲精品一区二区网址| 欧美sm重口味系列视频在线观看| 国产欧美日韩伦理| 欧美jjzz| 久久精品国产久精国产爱| 欧美日韩天堂| 99精品黄色片免费大全| 最新高清无码专区| 欧美午夜不卡| 欧美在线视频一区二区三区|