亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vcc77.htm

?? vc
?? HTM
字號:
<html>
<head>
<title>c++系列</title>
 
 
 
 
 
 
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
 
 
</head>
<p align="center"><script src="../../1.js"></script></a>

<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center> 
  <table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
    <tbody> 
    <tr> 
      <td width=200 height="59"> 
         
    </tr>
    </tbody> 
  </table>
  <table border=1 bordercolordark=#ffffff bordercolorlight=#ffffff cellpadding=0 
cellspacing=0 width=685 align="center" height="70">
    <tbody> 
    <tr> 
      <td bgcolor=#F9D23C height=14> 
        <div align=center class=H1><font color="#FFFFFF">Tree Ctrl</font></div>
      </td>
    </tr>
    <tr valign=top> 
      <td class=H1 height=51> 
        <p align="left">樹形控件TreeCtrl和下節(jié)要講的列表控件 ListCtrl在系統(tǒng)中大量被使用,例如Windows資源管理器就是一個典型的例子。</p>
        <p class="unnamed1">樹形控件可以用于樹形的結(jié)構(gòu),其中有一個根接點(Root)然后下面有許多子結(jié)點,而每個子結(jié)點上有允許有一個或多個或沒有子結(jié)點。MFC中使用CTreeCtrl類來封裝樹形控件的各種操作。通過調(diào)用<br>
          BOOL Create( DWORD dwStyle, const RECT&amp; rect, CWnd* pParentWnd, 
          UINT nID );創(chuàng)建一個窗口,dwStyle中可以使用以下一些樹形控件的專用風(fēng)格: 
        <ul>
          <li class="unnamed1"><b>TVS_HASLINES</b> 在父/子結(jié)點之間繪制連線 
          <li class="unnamed1"><b>TVS_LINESATROOT</b> 在根/子結(jié)點之間繪制連線 
          <li class="unnamed1"><b>TVS_HASBUTTONS</b> 在每一個結(jié)點前添加一個按鈕,用于表示當(dāng)前結(jié)點是否已被展開 
          <li class="unnamed1"><b>TVS_EDITLABELS</b> 結(jié)點的顯示字符可以被編輯 
          <li class="unnamed1"><b>TVS_SHOWSELALWAYS</b> 在失去焦點時也顯示當(dāng)前選中的結(jié)點 
          <li class="unnamed1"><b>TVS_DISABLEDRAGDROP</b> 不允許Drag/Drop 
          <li class="unnamed1"><b>TVS_NOTOOLTIPS</b> 不使用ToolTip顯示結(jié)點的顯示字符 </li>
        </ul>
        <span class="unnamed1">在樹形控件中每一個結(jié)點都有一個句柄(HTREEITEM),同時添加結(jié)點時必須提供的參數(shù)是該結(jié)點的父結(jié)點句柄,(其中根Root結(jié)點只有一個,既不可以添加也不可以刪除)利用<br>
        HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, 
        HTREEITEM hInsertAfter = TVI_LAST );可以添加一個結(jié)點,pszItem為顯示的字符,hParent代表父結(jié)點的句柄,當(dāng)前添加的結(jié)點會排在hInsertAfter表示的結(jié)點的后面,返回值為當(dāng)前創(chuàng)建的結(jié)點的句柄。下面的代碼會建立一個如下形式的樹形結(jié)構(gòu): 
        +--- Parent1 +--- Child1_1 +--- Child1_2 +--- Child1_3 +--- Parent2 +--- 
        Parent3 <font 
            color=green>/*假設(shè)m_tree為一個CTreeCtrl對象,而且該窗口已經(jīng)創(chuàng)建*/</font> HTREEITEM 
        hItem,hSubItem; hItem = m_tree.InsertItem("Parent1",TVI_ROOT);<font 
            color=green> 在根結(jié)點上添加Parent1</font> hSubItem = m_tree.InsertItem("Child1_1",hItem);<font color=green> 
        //在Parent1上添加一個子結(jié)點</font> hSubItem = m_tree.InsertItem("Child1_2",hItem,hSubItem);<font 
            color=green>//在Parent1上添加一個子結(jié)點,排在Child1_1后面</font> hSubItem = m_tree.InsertItem("Child1_3",hItem,hSubItem); 
        hItem = m_tree.InsertItem("Parent2",TVI_ROOT,hItem); hItem = m_tree.InsertItem("Parent3",TVI_ROOT,hItem); 
        如果你希望在每個結(jié)點前添加一個小圖標,就必需先調(diào)用CImageList* SetImageList( CImageList * pImageList, 
        int nImageListType );指明當(dāng)前所使用的ImageList,nImageListType為TVSIL_NORMAL。在調(diào)用完成后控件中使用圖片以設(shè)置的ImageList中圖片為準。然后調(diào)用<br>
        HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage, 
        HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);添加結(jié)點,nImage為結(jié)點沒被選中時所使用圖片序號,nSelectedImage為結(jié)點被選中時所使用圖片序號。下面的代碼演示了ImageList的設(shè)置。 
        <font color=green>/*m_list 為CImageList對象 IDB_TREE 為16*(16*4)的位圖,每個圖片為16*16共4個圖標*/</font> 
        m_list.Create(IDB_TREE,16,4,RGB(0,0,0)); m_tree.SetImageList(&amp;m_list,TVSIL_NORMAL); 
        m_tree.InsertItem("Parent1",0,1);<font color=green>//添加, 選中時顯示圖標1,未選中時顯示圖標0</font> 
        </span> 
        <p></p>
        <p class="unnamed1">此外CTreeCtrl還提供了一些函數(shù)用于得到/修改控件的狀態(tài)。 <br>
          HTREEITEM GetSelectedItem( );將返回當(dāng)前選中的結(jié)點的句柄。BOOL SelectItem( HTREEITEM 
          hItem );將選中指明結(jié)點。 <br>
          BOOL GetItemImage( HTREEITEM hItem, int&amp; nImage, int&amp; nSelectedImage 
          ) / BOOL SetItemImage( HTREEITEM hItem, int nImage, int nSelectedImage 
          )用于得到/修改某結(jié)點所使用圖標索引。 <br>
          CString GetItemText( HTREEITEM hItem ) /BOOL SetItemText( HTREEITEM 
          hItem, LPCTSTR lpszItem );用于得到/修改某一結(jié)點的顯示字符。 <br>
          BOOL DeleteItem( HTREEITEM hItem );用于刪除某一結(jié)點,BOOL DeleteAllItems( );將刪除所有結(jié)點。 
        </p>
        <p class="unnamed1">此外如果想遍歷樹可以使用下面的函數(shù): <br>
          HTREEITEM GetRootItem( );得到根結(jié)點。 <br>
          HTREEITEM GetChildItem( HTREEITEM hItem );得到子結(jié)點。 <br>
          HTREEITEM GetPrevSiblingItem/GetNextSiblingItem( HTREEITEM hItem );得到指明結(jié)點的上/下一個兄弟結(jié)點。 
          <br>
          HTREEITEM GetParentItem( HTREEITEM hItem );得到父結(jié)點。 </p>
        <p class="unnamed1">樹形控件的消息映射使用ON_NOTIFY宏,形式如同:ON_NOTIFY( wNotifyCode, 
          id, memberFxn ),wNotifyCode為通知代碼,id為產(chǎn)生該消息的窗口ID,memberFxn為處理函數(shù),函數(shù)的原型如同void 
          OnXXXTree(NMHDR* pNMHDR, LRESULT* pResult),其中pNMHDR為一數(shù)據(jù)結(jié)構(gòu),在具體使用時需要轉(zhuǎn)換成其他類型的結(jié)構(gòu)。對于樹形控件可能取值和對應(yīng)的數(shù)據(jù)結(jié)構(gòu)為: 
        <ul>
          <li class="unnamed1">TVN_SELCHANGED 在所選中的結(jié)點發(fā)生改變后發(fā)送,所用結(jié)構(gòu):NMTREEVIEW 
          <li class="unnamed1">TVN_ITEMEXPANDED 在某結(jié)點被展開后發(fā)送,所用結(jié)構(gòu):NMTREEVIEW 
          <li class="unnamed1">TVN_BEGINLABELEDIT 在開始編輯結(jié)點字符時發(fā)送,所用結(jié)構(gòu):NMTVDISPINFO 
          <li class="unnamed1">TVN_ENDLABELEDIT 在結(jié)束編輯結(jié)點字符時發(fā)送,所用結(jié)構(gòu):NMTVDISPINFO 
          <li class="unnamed1">TVN_GETDISPINFO 在需要得到某結(jié)點信息時發(fā)送,(如得到結(jié)點的顯示字符)所用結(jié)構(gòu):NMTVDISPINFO 
          </li>
        </ul>
         關(guān)于ON_NOTIFY有很多內(nèi)容,將在以后的內(nèi)容中進行詳細講解。 </span> 
        <p></p>
        <p class="unnamed1"><strong>關(guān)于動態(tài)提供結(jié)點所顯示的字符</strong>:首先你在添加結(jié)點時需要指明lpszItem參數(shù)為:LPSTR_TEXTCALLBACK。在控件顯示該結(jié)點時會通過發(fā)送TVN_GETDISPINFO來取得所需要的字符,在處理該消息時先將參數(shù)pNMHDR轉(zhuǎn)換為LPNMTVDISPINFO,然后填充其中item.pszText。但是我們通過什么來知道該結(jié)點所對應(yīng)的信息呢,我的做法是在添加結(jié)點后設(shè)置其lParam參數(shù),然后在提供信息時利用該參數(shù)來查找所對應(yīng)的信息。下面的代碼說明了這種方法: 
          char szOut[8][3]={"No.1","No.2","No.3"}; //添加結(jié)點 HTREEITEM hItem = m_tree.InsertItem(LPSTR_TEXTCALLBACK,...) 
          m_tree.SetItemData(hItem, 0 ); hItem = m_tree.InsertItem(LPSTR_TEXTCALLBACK,...) 
          m_tree.SetItemData(hItem, 1 ); //處理消息 void CParentWnd::OnGetDispInfoTree(NMHDR* 
          pNMHDR, LRESULT* pResult) { TV_DISPINFO* pTVDI = (TV_DISPINFO*)pNMHDR; 
          pTVDI-&gt;item.pszText=szOut[pTVDI-&gt;item.lParam];//通過lParam得到 需要顯示的字符在數(shù)組中的位置 
          *pResult = 0; } 
        <p></p>
        <p class="unnamed1"><strong>關(guān)于編輯結(jié)點的顯示字符</strong>:首先需要設(shè)置樹形控件的TVS_EDITLABELS風(fēng)格,在開始編輯時該控件將會發(fā)送TVN_BEGINLABELEDIT,你可以通過在處理函數(shù)中返回TRUE來取消接下來的編輯,在編輯完成后會發(fā)送TVN_ENDLABELEDIT,在處理該消息時需要將參數(shù)pNMHDR轉(zhuǎn)換為LPNMTVDISPINFO,然后通過其中的item.pszText得到編輯后的字符,并重置顯示字符。如果編輯在中途中取消該變量為NULL。下面的代碼說明如何處理這些消息: 
          //處理消息 TVN_BEGINLABELEDIT void CParentWnd::OnBeginEditTree(NMHDR* pNMHDR, 
          LRESULT* pResult) { TV_DISPINFO* pTVDI = (TV_DISPINFO*)pNMHDR; if(pTVDI-&gt;item.lParam==0);//判斷是否取消該操作 
          *pResult = 1; else *pResult = 0; } //處理消息 TVN_BEGINLABELEDIT void CParentWnd::OnBeginEditTree(NMHDR* 
          pNMHDR, LRESULT* pResult) { TV_DISPINFO* pTVDI = (TV_DISPINFO*)pNMHDR; 
          if(pTVDI-&gt;item.pszText==NULL);//判斷是否已經(jīng)取消取消編輯 m_tree.SetItemText(pTVDI-&gt;item.hItem,pTVDI-&gt;pszText);//重置顯示字符 
          *pResult = 0; } 上面講述的方法所進行的消息映射必須在父窗口中進行(同樣WM_NOTIFY的所有消息都需要在父窗口中處理)。 
        <p></p>
        <div align="left"> </div>
         
      </td>
    </tr>
    </tbody> 
  </table>
</div>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡一区二区中文字幕| 欧美日韩精品三区| 成人黄色综合网站| 在线精品视频免费播放| 国产成人丝袜美腿| 在线免费观看日本欧美| 8v天堂国产在线一区二区| 久久久久久99久久久精品网站| 国产精品女上位| 亚洲高清一区二区三区| 国产在线国偷精品免费看| 在线免费观看日韩欧美| 欧美xxx久久| 国产精品区一区二区三区| 亚洲男人天堂av| 韩国v欧美v亚洲v日本v| 国产99久久久国产精品潘金 | 五月婷婷另类国产| 国产精品99久久久久久有的能看| 国内精品伊人久久久久av影院| 成人激情图片网| 日韩欧美国产午夜精品| 一区二区三区四区av| 国产精品1区二区.| 欧美酷刑日本凌虐凌虐| 亚洲精品免费在线观看| 国产一区视频在线看| 欧美日韩精品一区二区三区蜜桃 | 1024国产精品| 国产在线视频一区二区三区| 色婷婷综合久久| 国产欧美一区二区精品性色超碰| 久久久久久久久一| 日韩精品一区二区三区在线观看| 欧美日韩日本视频| 亚洲一级二级在线| 色8久久精品久久久久久蜜| 91视频在线观看| 久久久久青草大香线综合精品| 午夜av区久久| 制服视频三区第一页精品| 国产精品久久久久久久久搜平片| 天天综合天天综合色| 欧洲一区在线电影| 亚洲另类中文字| 成人高清av在线| 欧美国产精品v| 国产a区久久久| 欧美网站一区二区| 亚洲成人中文在线| 欧美精选午夜久久久乱码6080| 一区二区三区 在线观看视频| 成人精品免费视频| 亚洲欧美在线高清| 在线日韩av片| 天堂va蜜桃一区二区三区| 欧美三区在线视频| 蜜臀久久久久久久| 精品国产乱码久久| 国产精品自拍av| 日韩精品一区二区三区视频播放| 亚洲免费在线观看视频| 99麻豆久久久国产精品免费| 中文字幕在线一区免费| 色综合久久久网| 亚洲国产综合人成综合网站| 91国产免费看| 国产精品成人一区二区艾草 | 一区二区三区自拍| 一本一本久久a久久精品综合麻豆| 综合久久久久久久| 国产精品一二三在| 亚洲国产精品高清| 欧美最新大片在线看| 亚洲第一会所有码转帖| 欧美一级欧美三级| 国产精品一区二区久久不卡| 一区免费观看视频| 欧美福利视频一区| 午夜精品爽啪视频| 久久精品欧美日韩| 欧美三级在线看| 国产一区二区影院| 在线精品观看国产| 午夜精品爽啪视频| 欧美亚洲禁片免费| 极品少妇xxxx精品少妇偷拍| 国产精品系列在线| 欧美区在线观看| 国产经典欧美精品| 亚洲成人在线免费| 国产精品三级久久久久三级| 69成人精品免费视频| 国产一区二区在线观看视频| 国产精品女同一区二区三区| 欧美日韩一二区| 成人在线视频一区二区| 美女久久久精品| 亚洲狼人国产精品| 精品福利在线导航| 精品视频在线免费观看| 国产精品资源在线观看| 午夜精品久久久久久久99樱桃| 国产日韩欧美精品一区| 欧美三级电影精品| 久久99精品久久久久久动态图| 亚洲免费色视频| 国产精品私人自拍| 国产视频一区在线观看| 久久欧美一区二区| 精品入口麻豆88视频| 日韩一区二区三区视频| 717成人午夜免费福利电影| 91官网在线免费观看| 色狠狠av一区二区三区| 91亚洲永久精品| 99精品欧美一区二区蜜桃免费| 国产宾馆实践打屁股91| 国产尤物一区二区在线| 国产精品一区二区你懂的| 国产一区二区三区免费| 韩国v欧美v日本v亚洲v| 国产伦理精品不卡| 国产不卡视频在线观看| 成人午夜精品在线| www.亚洲色图.com| 91福利社在线观看| 欧美日韩在线电影| 91精品欧美一区二区三区综合在 | 亚洲色图.com| 一区二区免费在线| 亚洲高清久久久| 日韩精品1区2区3区| 欧美aaa在线| 精品中文字幕一区二区小辣椒| 精品午夜久久福利影院| 国产.欧美.日韩| 色综合天天综合网天天狠天天| 一本到高清视频免费精品| 欧美一级夜夜爽| 精品国产精品网麻豆系列| 国产喂奶挤奶一区二区三区| 中文字幕一区免费在线观看| 亚洲一区二区四区蜜桃| 免费观看在线综合| 国产精品亚洲午夜一区二区三区 | 最新国产成人在线观看| 亚洲一区二区在线免费观看视频 | 欧美大片一区二区三区| 国产精品美女一区二区三区| 亚洲日本va午夜在线影院| 五月激情丁香一区二区三区| 日本亚洲最大的色成网站www| 国产在线播精品第三| 91美女蜜桃在线| 日韩欧美一级在线播放| 中文字幕第一区第二区| 午夜一区二区三区在线观看| 国内成人免费视频| 日本久久精品电影| 久久久久国色av免费看影院| 一区二区三区欧美日韩| 国产一区不卡精品| 精品污污网站免费看| 国产精品久久久久影院老司| 99re这里只有精品首页| 亚洲精品国产a| 日韩欧美电影一区| 国产一本一道久久香蕉| 亚洲欧洲精品一区二区三区 | 亚洲综合免费观看高清完整版在线 | 亚洲欧美偷拍另类a∨色屁股| 成人在线一区二区三区| 亚洲欧美一区二区三区极速播放| a亚洲天堂av| 亚洲综合成人在线视频| 欧美日韩精品欧美日韩精品一| 中文字幕亚洲成人| 欧美三级在线播放| 国产制服丝袜一区| 国产欧美一区二区精品婷婷| 日韩成人一区二区| 日韩免费看的电影| 国产成人av一区二区三区在线| 国产精品乱人伦| 成人免费黄色在线| 亚洲三级久久久| 日韩免费在线观看| 色88888久久久久久影院野外| 国产一区二区调教| 国产精品国产成人国产三级| 欧美午夜在线一二页| 国产精品一二二区| 五月天激情小说综合| 国产精品免费视频一区| 91精品在线免费| 欧美日韩国产成人在线91| aaa亚洲精品| 日韩不卡一二三区| 亚洲一区在线视频|