创建弹出菜单
CMenu menu;
menu.LoadMenu(IDR_LIST_POPMENU);
CMenu* pPopupMenu = menu.GetSubMenu(0);
CPoint pt;
GetCursorPos(&pt);
pPopupMenu->TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON, pt.x
, pt.y
, this);
//同样效果
//this->ClientToScreen(&point);
//pPopupMenu->TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON, point
.x
, point.y
, this);
注意TrackPopupMenu()
成员函数中的point是指Windows屏幕的坐标,而不是客户端屏幕的坐标.
遍历ListCtrl被选择的条目
POSITION pos= m_listCtrl.GetFirstSelectedItemPosition();
if (pos==NULL){
return ;
}
else{
while (pos){
int nItem=m_listCtrl.GetNextSelectedItem(pos);
//m_listCtrl.GetItemText(nItem,0);
}
}
//CToolTipCtrl的用法
很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法:
1. 首先要New一个CToolTipCtrl的对象m_pContentTip
2. 调用CToolTipCtrl的create函数,指定其父窗口。可以为某个控件,也可以为this。一般设为this。
m_pContentTip->Create( this, TTS_ALWAYSTIP );
3. AddTool()此函数是设置与某个控件关联的Tip文本。此处可以为多个控件添加不同的提示信息。
m_pButtonTip->AddTool( GetDlgItem( 控件ID ), 文本 );
4. SetTipBkColor设置背景颜色。
5. SetTipTextColor设置文本颜色。
6. 最重要的一步。在PreTranslateMessage函数中添加下面语句:
if ( m_pContentTip )
{
m_pContentTip->RelayEvent( pMsg );
}
另外,还可以使用m_pContentTip->UpdateTipText函数来更新Tip信息。