今天在寫程式時遇到滑鼠懸停在控制項上方顯示資訊,經查閱資料及實踐總結如下:
該功能的實現主要是用ctooltipctrl類。
首先在對話方塊的標頭檔案中加入初始化語句:public:下,加入:ctooltipctrl m_mytip;
然後在初始化對話方塊函式中加入:
m_mytip.create(this);
m_mytip.addtool( getdlgitem(idc_button), "你想要新增的提示資訊" ); //idc_button為你要新增提示資訊的按鈕的id
m_mytip.setdelaytime(200); //設定延遲
//m_mytip.settiptextcolor( rgb(0,0,255) ); //設定提示文字的顏色
//m_mytip.settipbkcolor( rgb(255,255,255)); //設定提示框的背景顏色
m_mytip.activate(true); //設定是否啟用提示
在實際操作中,重新定義了乙個函式ontooltip()來處理,非類裡面的函式,在該函式中需獲取當前主視窗的控制代碼,並且需要把m_mytip.create(this);
裡的this換成主視窗控制代碼。如下:
然後在類嚮導中新增pretranslatemessage訊息響應函式
bool c***dlg::pretranslatemessage(msg* pmsg)
注:如果要為多個按鈕新增功能提示只需在
m_mytip.addtool( getdlgitem(idc_button), "你想要新增的提示資訊" );
的下面再加上類似語句,如
m_mytip.addtool( getdlgitem(idc_button1), "你想要新增的提示資訊1" );
m_mytip.addtool( getdlgitem(idc_button2), "你想要新增的提示資訊2" );
。。。。。。。。
MFC 設定控制項的 ToolTip
建議使用ctooltipctrl物件 例如 1.在對畫框類 ctooltipdlg.cpp 中宣告 ctooltipctrl m tooltipctrl 2.在對畫框類 ctooltipdlg.cpp 初始化方法oninitdialog 中初始化 m tooltipctrl.create this ...
mfc實現滑鼠滑動顯示提示資訊
1.在 dlg.h 檔案新增 滑鼠移動上方顯示資訊 ctooltipctrl m tip 2.在 dlg.cpp 檔案 新增 滑鼠移動上方顯示資訊 enabletooltips true m tip.create this m tip.activate true cwnd pw getdlgitem...
MFC 滑鼠移動時顯示提示資訊
1.在cmydlg.h標頭檔案中定義ctooltipctrl類 ctooltipctrl m tooltip 2.在cmydlg.cpp中的cmydlg oninitdialog 建立並新增需要提示的控制項 滑鼠移動時,提示資訊 m tooltip.create this m tooltip.add...