創建彈出菜單
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信息。