Menü wie Einstellungen bei eMule:
-
Ich möchte so ein Menü erstellen, dass so wie das des eMule ist (wer`s nicht kennt -> [url=http://members.vol.at\captainiglo\eMule-Menue.jpg] Bild [/url]: Man kann da auf das Icon/den Text klicken und kommt dan zum zutreffenden Menüpunkt). eMule ist zwar OpenSource, aber ich werde aus dem Code nicht schlau.
Weiß jemand wie das gehten könnte??????????mfg
Fink Christoph
-
stelle eine konkrete frage. womit hast du dabei genau ein problem?
-
Auf dem [url=http://members.vol.at\captainiglo\eMule-Menue.jpg] Bild [/url] ist das Menü von eMule.
Ich möchte das selbe machen, weiß aber nicht wie.
Bei eMule wird es (glaube ich) mit diesem Code gemacht:IMPLEMENT_DYNAMIC(CPreferencesDlg, CPropertySheet) CPreferencesDlg::CPreferencesDlg(){ this->m_psh.dwFlags &= ~PSH_HASHELP; m_wndGeneral.m_psp.dwFlags &= ~PSH_HASHELP; m_wndConnection.m_psp.dwFlags &= ~PSH_HASHELP; m_wndServer.m_psp.dwFlags &= ~PSH_HASHELP; m_wndDirectories.m_psp.dwFlags &= ~PSH_HASHELP; m_wndFiles.m_psp.dwFlags &= ~PSH_HASHELP; m_wndStats.m_psp.dwFlags &= ~PSH_HASHELP; m_wndIRC.m_psp.dwFlags &= ~PSH_HASHELP; m_wndTweaks.m_psp.dwFlags &= ~PSH_HASHELP; AddPage(&m_wndGeneral); AddPage(&m_wndConnection); AddPage(&m_wndServer); AddPage(&m_wndDirectories); AddPage(&m_wndFiles); AddPage(&m_wndNotify); AddPage(&m_wndStats); AddPage(&m_wndIRC); AddPage(&m_wndTweaks); m_nActiveWnd = 0; ImageList.Create(16, 16, ILC_COLOR16 | ILC_MASK, 11, 0); ImageList.Add(theApp.LoadIcon(IDI_PREF_GENERAL)); ImageList.Add(theApp.LoadIcon(IDI_PREF_CONNECTION)); ImageList.Add(theApp.LoadIcon(IDI_PREF_SERVER)); ImageList.Add(theApp.LoadIcon(IDI_PREF_FOLDERS)); ImageList.Add(theApp.LoadIcon(IDI_PREF_FILES)); ImageList.Add(theApp.LoadIcon(IDI_PREF_NOTIFICATIONS)); ImageList.Add(theApp.LoadIcon(IDI_PREF_STATISTICS)); ImageList.Add(theApp.LoadIcon(IDI_PREF_IRC)); ImageList.Add(theApp.LoadIcon(IDI_PREFS_TEWAK)); } BOOL CPreferencesDlg::OnInitDialog() { EnableStackedTabs(FALSE); BOOL bResult = CPropertySheet::OnInitDialog(); m_listbox.CreateEx(WS_EX_CLIENTEDGE,"Listbox",0,WS_CHILD|WS_VISIBLE|LBS_NOTIFY|WS_TABSTOP|LBS_HASSTRINGS|LBS_OWNERDRAWVARIABLE|WS_BORDER,CRect(0,0,0,0),this,111); ::SendMessage(m_listbox.m_hWnd, WM_SETFONT, (WPARAM) ::GetStockObject(DEFAULT_GUI_FONT),0); m_groupbox.Create(0,BS_GROUPBOX|WS_CHILD|WS_VISIBLE|BS_FLAT,CRect(0,0,0,0),this,666); ::SendMessage(m_groupbox.m_hWnd, WM_SETFONT, (WPARAM) ::GetStockObject(DEFAULT_GUI_FONT),0); m_listbox.SetImageList(&ImageList); SetActivePage(m_nActiveWnd); Localize(); m_listbox.SetFocus(); return bResult; }
Die m_wnd* Vareablen sind mit dem jeweiligen Dialog initialisiert.
ImageList mit CImageList, m_nActiveWnd mit UINT und m_listbox mit CListBoxST.