设为首页 收藏本站 English

当前位置: 海南体育网 >> 排球

在中给添加定制的牛

发布时间:2021-09-06 07:09:06

VC中的Slider的Tooltips只能显示表示当前位置的int型值,可是有时候,这种Tooltips并不够用。比如,在一个视频录制的小软件中,可能会需要类似“总共500帧,当前是第13帧”的Tooltips;或者有些时候想在Tooltips中显示float型的值。

在这些时候我们就只能用CToolTipCtrl配合TTN_NEEDTEXT消息来实现我们的定制Tooltips。

下面用一个小例子来具体说明:

首先,给Slider映射一个Control型变量,本例中为:

CSliderCtrlm_slider;//ID为IDC_SLIDERTEST

然后,添加CToolTipCtrl变量和相应TTN_NEEDTEXT的消息函数:

CToolTipCtrlm_tooltips;

BOOLOnToolTipNotify(UINTid,NMHDR*pNMHDR,LRESULT*pResult);

在cpp文件的消息映射中加入以下代码:

ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTipNotify)

在初始化函数中,添加以下代码:

m_tRange(0,500,TRUE);

m_tPos(0);

//创建Tooltips

m_eate(GetDlgItem(IDC_SLIDERTEST));

m_tivate(TRUE);

在OnHScroll函数中添加:

if(pScrollBar==(CScrollBar*)GetDlgItem(IDC_SLIDERTEST))

m_date();//更新Tooltips,会触发TTN_NEEDTEXT消息

下面是实现定制Tooltips的函数,也就是相应TTN_NEEDTEXT的消息函数:

BOOLOnToolTipNotify(UINTid,NMHDR*pNMHDR,LRESULT*pResult)

{

TOOLTIPTEXT*pTTT=(TOOLTIPTEXT*)pNMHDR;

UINTnID=pNMHDR-idFrom;

if(pTTT-uFlagsTTF_IDISHWND)

{

//idFromisactuallytheHWNDofthetool

nID=::GetDlgCtrlID((HWND)nID);

if(nID)

{

老四失踪已久的母亲----由娜奥米-沃兹饰演无派系首领伊芙琳现身 //这里就是你要显示的Tooltips,可以根据需要来定制

CStringstrToolTips;

rmat(\"总共500帧,当前是第%d帧\",m_tPos());

strcpy(pTTT-lpszText,strToolTips);

pTTT-hinst=NULL;

return(TRUE);

}

}

return(FALSE);

}

这种方法不仅仅可以实现Slider的定制Tooltips,其他控件也可以用这个方法来实现。

济南白癜风治疗医院
天津治疗白癜风医院
哈尔滨包皮过长治疗哪家好
友情链接