字体
第(2/5)页
关灯
   存书签 书架管理 返回目录
NextVisibleItem()、GetPrevVisibleItem()、GetChildItem()、

    枫叶文学网www.fywxw.com

    第5 章 常用控件

    ·141·

    GetNextSiblingItem() 、GetPrevSiblingItem() 、GetParentItem() 、GetSelectedItem() 和

    GetDropHilightItem()。

    5.9.3 树型控件的通知消息

    树形视图控件还可发送自己特有的通知消息,其中常用的有下面这几个。

    ? TVN_SELCHANGING 和TVN_SELCHANGED。在用户改变了对表项的选择时,控件

    会发送这两个消息。消息会附带一个指向NM_TREEVIEW 结构的指针,程序可从该

    结构中获得必要的信息。两个消息都会在该结构的itemOld 成员中包含原来的选择项

    信息,在itemNew 成员中包含新选择项的信息,在action 成员中表明是用户的什么行

    为触发了该通知消息( 若是TVC_BYKEYBOARD 则表明是键盘, 若是

    TVC_BYMOUSE 则表明是鼠标,若是TVC_UNKNOWN 则表示未知)。两个消息的不

    同之处在于,如果TVN_SELCHANGING 的消息处理函数返回TRUE,那么就阻止选

    择的改变,如果返回FALSE,则允许改变。

    ? TVN_KEYDOWN。该消息表明了一个键盘事件。消息会附带一个指向TV_KEYDOWN

    结构的指针,通过该结构程序可以获得按键的信息。

    ? TVN_BEGINLABELEDIT 和TVN_ENDLABELEDIT。分别在用户开始编辑和结束编

    辑项的标题时发送。消息会附带一个指向TV_DISPINFO 结构的指针,程序可从该结

    构中获得必要的信息。在前者的消息处理函数中,可以调用GetEditControl()成员函数

    返回一个指向用于编辑标题的编辑框的指针。如果处理函数返回FALSE,则允许编辑,

    如果返回TRUE,则禁止编辑。在后者的消息处理函数中,TV_DISPINFO 结构中的

    item.pszText 指向编辑后的新标题,如果pszText 为NULL,那么说明用户放弃了编辑,

    否则,程序应负责更新项的标题,这可以由SetItem()或SetItemText()函数来完成。

    5.10 选项卡(Tab Ctrl)控件

    5.10.1 选项卡控件的使用

    Tab 属xìng页控件可以在一个窗口中添加不同的页面,然后在页选择发生改变时得到通知。

    典型的选项卡控件,如图5-9 所示。

    图5-9 CTabCtrl 控件样例

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·142·

    MFC 中使用CTabCtrl 类来封装属xìng页控件的各种cāo作。通过调用Create 函数创建一个

    窗口,Create 函数声明如下:

    BOOL Create(DWORD dwStyle,const RECT
上一页 目录 下一页