青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

如何禁用一個(gè)樹節(jié)點(diǎn)(Disable Tree Node)

TTreeView是VCL中提供的樹列表控件,樹的每個(gè)節(jié)點(diǎn)是一個(gè)TTreeNode類,TTreeNode組件的屬性和方法可以參考Borland提供的幫助(雖然不如MSDN全面,但有總比沒有強(qiáng))。實(shí)際應(yīng)用中我們可能需要禁用某個(gè)節(jié)點(diǎn)(界面上反應(yīng)的效果是:節(jié)點(diǎn)字體呈灰色顯示,節(jié)點(diǎn)無法選中等)。但是VCL沒有提供Node->Disable();或Node->Enable = false;這樣的功能,我們只好自己動(dòng)手實(shí)現(xiàn)了。首先我們需要為每個(gè)節(jié)點(diǎn)設(shè)定一個(gè)標(biāo)志,用來標(biāo)識(shí)此節(jié)點(diǎn)是否可用,標(biāo)識(shí)方法有很多,比如判斷節(jié)點(diǎn)的文本(Text),節(jié)點(diǎn)的絕對索引值(AbsoluteIndex),節(jié)點(diǎn)的索引(Index)加縮進(jìn)(Indent)等,在本例中我們用節(jié)點(diǎn)的Data屬性作標(biāo)識(shí)(一個(gè)void *型數(shù)據(jù),其實(shí)可以存放N多東西)。如果在你的應(yīng)用中恰好用了Data屬性,就另外想個(gè)用來作標(biāo)志的方法吧。:)

我們寫一個(gè)自定義函數(shù),用來啟用/禁用一個(gè)節(jié)點(diǎn):
//---------------------------------------------------------------------------
// 函數(shù)功能: 改變指定節(jié)點(diǎn)的啟用/禁用狀態(tài)
//     bEnable: 啟用: true; 禁用: false
//     pNode: 要改變狀態(tài)的節(jié)點(diǎn)

void __fastcall CrnEnableTreeNode(bool bEnable, TTreeNode *pNode)
{
    // 設(shè)定規(guī)則,如果節(jié)點(diǎn)允許使用,Node的Data存放0(默認(rèn)就是0),
    // 如果禁用,Data存放0xFFFF

    pNode->Data = bEnable? NULL: (void *)0xFFFF;
    // 標(biāo)志改變后重繪一下TreeView
// 本文轉(zhuǎn)自 C++Builder 研究 - http://www.ccrun.com/article.asp?i=1015&d=r2tf61
    pNode->TreeView->Invalidate();
}
然后考慮如何達(dá)到禁用節(jié)點(diǎn)的效果,前面說了,我們只需實(shí)現(xiàn)這兩個(gè)效果:
1. 節(jié)點(diǎn)字體呈灰色顯示
2. 節(jié)點(diǎn)無法選中
節(jié)點(diǎn)字體呈灰色顯示可以通過TreeView的OnCustomDrawItem事件中的自繪實(shí)現(xiàn),在設(shè)計(jì)時(shí)狀態(tài),選中TreeView,Events選項(xiàng)卡雙擊OnCustomDrawItem事件,添加以下代碼:
//---------------------------------------------------------------------------
void __fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *Sender,
      TTreeNode *Node, TCustomDrawState State, bool &DefaultDraw)
{
    // 判斷當(dāng)前繪制節(jié)點(diǎn)是否被禁用
    // 63 63 72 75 6E 2E 63 6F 6D

    if(int(Node->Data) == 0xFFFF)
    {
        // 如果節(jié)點(diǎn)被禁用則用灰色字體顯示,默認(rèn)為黑色
        Sender->Canvas->Font->Color = clGray;
    }
}
節(jié)點(diǎn)無法選中則可以通過TreeView的Changing事件來處理,在設(shè)計(jì)時(shí)狀態(tài),選中TreeView,Events選項(xiàng)卡雙擊OnChanging事件,添加以下代碼:
//---------------------------------------------------------------------------
void __fastcall TForm1::TreeView1Changing(TObject *Sender, TTreeNode *Node,
      bool &AllowChange)
{
    // 欲選中這個(gè)節(jié)點(diǎn)時(shí),判斷如果當(dāng)前節(jié)點(diǎn)被禁用則禁止改變原節(jié)點(diǎn)的選擇狀態(tài)
    AllowChange = (int(Node->Data) != 0xFFFF);
}
有以上的實(shí)現(xiàn),效果基本就出來了:
Disable tree node

測試代碼:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    // 禁用當(dāng)前選中的節(jié)點(diǎn)
    if(TreeView1->Selected)
        CrnEnableTreeNode(true, TreeView1->Selected);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    // 啟用第二個(gè)節(jié)點(diǎn)
    CrnEnableTreeNode(true, TreeView1->Items->Item[1]);
}
//---------------------------------------------------------------------------
為看到比較好的效果,可在測試時(shí)展開所有節(jié)點(diǎn)為:
TreeView1->FullExpand();

posted on 2008-01-02 09:19 lovetiffany 閱讀(958) 評論(1)  編輯 收藏 引用

評論

# re: 如何禁用一個(gè)樹節(jié)點(diǎn)(Disable Tree Node) 2008-01-02 14:35 <a href=http://minidx.com>minidxer</a>

轉(zhuǎn)載文章標(biāo)出來比較好吧?  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(4)

隨筆檔案

網(wǎng)站收藏

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99re6热在线精品视频播放速度| 欧美激情综合| 久久亚洲视频| 欧美日韩第一区日日骚| 国产精品大片| 国产综合欧美在线看| 亚洲美女中出| 久久久亚洲高清| 亚洲欧洲在线播放| 亚洲男人天堂2024| 欧美精品网站| 亚洲第一级黄色片| 午夜亚洲视频| 亚洲日本理论电影| 午夜精品一区二区三区在线视| 久久精品国产99| 国产精品乱码久久久久久| 在线日韩欧美| 久久这里有精品15一区二区三区| 99人久久精品视频最新地址| 噜噜噜噜噜久久久久久91| 国产精品区一区二区三| 亚洲免费福利视频| 久久久99爱| 夜夜嗨一区二区| 欧美福利小视频| 亚洲国产精品一区二区第四页av| av成人免费观看| 欧美成人影音| 久久精品欧美| 国语自产偷拍精品视频偷| 亚洲资源在线观看| 日韩亚洲一区二区| 欧美日韩国产精品一卡| 亚洲伦理中文字幕| 欧美激情一二三区| 免费成人小视频| 精品96久久久久久中文字幕无| 亚洲欧美日韩区| 一区二区国产日产| 欧美日韩一区三区四区| 亚洲精品美女在线观看| 最新日韩在线| 欧美激情精品久久久久久大尺度 | 亚洲国产成人porn| 久久最新视频| 亚洲日本欧美在线| 亚洲韩国精品一区| 欧美99在线视频观看| 91久久精品国产91久久性色tv| 欧美91视频| 免费亚洲电影在线| 91久久精品日日躁夜夜躁国产| 欧美激情第三页| 欧美精品aa| 亚洲一区二区免费视频| 一本久道久久综合中文字幕| 国产精品露脸自拍| 久久久www| 巨乳诱惑日韩免费av| 亚洲美女黄网| 亚洲女人小视频在线观看| 国产欧美日韩综合精品二区| 久久精品国亚洲| 久久这里有精品15一区二区三区| 亚洲国内自拍| 亚洲在线成人精品| 极品中文字幕一区| 亚洲精品久久久久久久久久久| 欧美无乱码久久久免费午夜一区| 亚洲欧美中文在线视频| 久久精品夜色噜噜亚洲a∨| 亚洲黄色免费电影| 亚洲一区在线播放| 亚洲国产精品国自产拍av秋霞| 亚洲欧洲日韩综合二区| 国产精品永久免费| 欧美不卡高清| 国产久一道中文一区| 欧美国产亚洲视频| 国产精品女主播在线观看| 蜜桃视频一区| 国产毛片精品国产一区二区三区| 欧美成人午夜激情视频| 国产噜噜噜噜噜久久久久久久久| 欧美激情91| 国产一区二区黄色| 日韩一级精品| 亚洲人成欧美中文字幕| 欧美亚洲一区二区在线| 中文在线一区| 欧美成人在线网站| 久久米奇亚洲| 国产精品伦理| av72成人在线| 亚洲精品在线一区二区| 久久久999国产| 欧美在线免费视频| 国产精品福利在线观看| 欧美大片在线观看一区二区| 国产精一区二区三区| 亚洲免费观看在线观看| 亚洲激情欧美激情| 久久久亚洲国产天美传媒修理工| 午夜激情一区| 国产精品第一区| 一区二区久久久久久| 亚洲免费观看高清在线观看| 巨乳诱惑日韩免费av| 久久亚洲春色中文字幕| 国产伦精品一区二区三区四区免费| 亚洲精品美女在线| 亚洲精品乱码久久久久久日本蜜臀| 久久精品日韩一区二区三区| 欧美亚洲一区二区在线| 欧美偷拍另类| 国产精品99久久久久久久久| 亚洲一二三四久久| 欧美日韩亚洲一区二| 亚洲美女视频| 中文在线一区| 国产精品美女999| 亚洲欧美99| 久久精品国产99国产精品| 国产主播精品在线| 久久久精品动漫| 裸体丰满少妇做受久久99精品| 精品动漫一区| 嫩模写真一区二区三区三州| 欧美国产精品人人做人人爱| 亚洲国产一区二区精品专区| 嫩草国产精品入口| 日韩视频免费在线| 午夜精品一区二区三区四区| 国产一区二区三区直播精品电影| 欧美综合国产| 亚洲国产日韩欧美在线图片| 一个色综合av| 国产精品一区一区| 久久人91精品久久久久久不卡| 亚洲国产毛片完整版| 亚洲视频大全| 韩日精品视频| 欧美精品1区2区| 亚洲欧洲av一区二区三区久久| 久久久伊人欧美| 日韩视频精品在线| 国产九色精品成人porny| 久久米奇亚洲| 一本色道久久综合亚洲精品按摩 | 亚洲欧美日韩国产中文| 国产亚洲成精品久久| 美女视频黄 久久| 一本色道久久综合亚洲精品按摩| 久久久97精品| 99re6热在线精品视频播放速度| 国产精品国产一区二区| 久久影院亚洲| 亚洲伊人观看| 亚洲国产三级在线| 久久激情五月丁香伊人| 亚洲精品国产系列| 国产精品永久免费观看| 欧美国产日韩一区二区在线观看| 亚洲自拍偷拍麻豆| 亚洲黄网站黄| 久久这里有精品15一区二区三区| 中文日韩欧美| 亚洲国产精品精华液2区45| 国产精品久久久久久久久免费桃花| 久久人人超碰| 欧美一级理论片| 99精品国产热久久91蜜凸| 欧美成人午夜视频| 性做久久久久久| 一区二区三区视频观看| 在线看片一区| 国产一区二区观看| 国产伦理一区| 国产精品mm| 欧美日韩视频在线第一区| 女人色偷偷aa久久天堂| 久久久久久黄| 欧美在线观看视频一区二区| 亚洲综合精品四区| 一区二区成人精品| 99在线视频精品| 日韩视频第一页| 亚洲人精品午夜| 亚洲高清在线视频| 亚洲黄色三级| 亚洲国产精品va在线看黑人动漫| 欧美69wwwcom| 欧美高清在线一区| 欧美国产综合| 亚洲国产黄色片| 91久久香蕉国产日韩欧美9色| 亚洲国产一区视频| 日韩视频―中文字幕| 亚洲精选视频在线|