一個CMYList類,在兩個類:CWnd1 和 CWnd2里分別定義了CMYList m_List 和CMYList m_List。
然后CMYList類回應NM_RCLICK,彈出選單,選單回應函式在CMYList里(如果回應函式寫在CWnd1 和 CWnd2點擊后不會回應)。
請問我需要在CWnd1 和 CWnd2點擊選單實作不一樣的功能,但是他們在CMYList只能對應一個函式,怎么實作呢?
uj5u.com熱心網友回復:
我自己能想到的笨辦法是,再寫一個類CMYList2繼承CMYList類,CWnd1 和 CWnd2里分別定義了CMYList m_List 和CMYList2 m_List。這樣可以在CMYList和CMYList2分別寫各自的選單回應函式,但這個辦法不好,想知道有沒有更好的方式uj5u.com熱心網友回復:
id=::GetDlgCtrlID(pMsg->hwnd);afxDump << id << " =down\n";
switch (id)
{
case IDC_BUTTON8: // X+
DoJogging(AXIS_X,0.25,0.25,100.0);
break;
case IDC_BUTTON9: // X-
DoJogging(AXIS_X,0.25,0.25,-100.0);
break;
uj5u.com熱心網友回復:
可以把訊息傳遞給父類, 讓父類處理CMYList::OnCommand(WPARAM wParam, LPARAM lParam)
{
GetParent()->PostMessage(wParam, lParam);
return __super::OnCommand(wParam, lParam);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/271702.html
標籤:基礎類
上一篇:vba中shape運用問題
