我正在設計一個圖形應用程序,我決定編寫自己的菜單。我希望這個菜單能夠獨立於平臺。目前,我的菜單主要由多個按鈕組成。我的問題涉及單擊按鈕時處理事件。我的困境是,一個按鈕「知道」它所處的環境。在我看來,如果有一些較大的代碼創建按鈕並處理鼠標事件,則可能會出現某種類型的switch語句。 switch語句必須根據任何唯一定義的點擊按鈕來調用適當的操作。C++自定義GUI按鈕問題
我想避免這個switch語句。我的第一個想法是讓每個按鈕保持一個函數指針,當它被點擊時它用來盲目地啓動正確的動作。這將消除任何按鈕特定的代碼。然而,它讓我感到一個按鈕應該包含任何特定於上下文的信息(比如函數指針)。我相當缺乏經驗,我想知道這是否被認爲是糟糕的設計。無論如何,我怎樣才能設計我的菜單,而不需要某種類型的switch語句,並被認爲是良好的OOP設計?我想聽聽您的首選解決方案。
在此先感謝!
謝謝,這完美地工作。 – Scott 2009-04-12 17:27:59