Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Menüpopupinfo per code hinzufügen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.03.2003, 14:04 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,
im Resourceneditor vom VC kann man ja bei den Menüresourcen einstellen, was z.b in der statusleiste einer sdi/mdi-anwendung erscheint. Ich habe nun aber ein dynamisches Menü (ich füge während der Laufzeit Menüitems hinzu/entferne welche). Wie kann ich dort diese Statusleistendaten einfügen?

Im Moment füge ich das Item folgendermaßen hinzu:


C++:
int iPosition = 1; // <-- normalerweiße in schleife ...
Menu3->InsertMenu(iPosition,MF_BYPOSITION|MF_STRING, ID_WIZARD+iPosition, strName);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.03.2003, 14:49 Uhr
Uwe
C/C++ Master
(Administrator)



C++:
void CYourDlg::OnAddToolTip()
{
CStatusBar* pStatus = (CStatusBar*)
AfxGetApp()->m_pMainWnd->GetDescendantWindow(AFX_IDW_STATUS_BAR);
m_toolTip.Create(this);//m_toolTip type CToolTipCtrl.
CWnd * pWnd = (CWnd *) GetDlgItem(IDC_YOUR_CTRL);
m_toolTip.AddTool(pWnd,"TEST");
pStatus->SetWindowText("TEST");    
}

BOOL CYourDlg::PreTranslateMessage(MSG* pMsg)
{
if( m_toolTip.m_hWnd != NULL )
m_toolTip.RelayEvent(pMsg);
return CYourDlg::PreTranslateMessage(pMsg);
}
lo,
nicht getestet(evtl. Tippfehler)|CPP||
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 23.03.2003 um 14:50 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.03.2003, 15:11 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


theoretisch würde das zwar funktionieren, nur:

ich ergänze das menü nicht im mainframe sondern in der Documenten Klasse, d.h ich habe keinen Zugriff auf PreTranslateMessage...

Wie mache ich es direkt aus der DocumentenKlasse heraus?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.03.2003, 18:02 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Flo,
hatte vorhin keine Zeit, also:

C++:
//Prototype in header mainframe

afx_msg LRESULT OnUpdateStatusBar(WPARAM wParam=0, LPARAM lParam=0);

// mainframe.cpp
ON_MESSAGE(WM_UPD_STATUSBAR, OnUpdateStatusBar)

LRESULT CMainFrame::OnUpdateStatusBar(WPARAM wParam, LPARAM lParam)
{
   CString *pstrMsg;
   pstrMsg = (CString*)lParam;
   m_wndStatusBar.SetPaneText((int)wParam,pstrMsg->GetBuffer(0),TRUE);
   return 0;
}


//Documentclass
void CKylDoc::OnAnsichtTest()
{
    CString strMsg;
    strMsg.Format("Nachricht ausgelöst!");
    CMainFrame *pMainFrame =(CMainFrame *)AfxGetMainWnd();
    pMainFrame ->SendMessage(WM_UPD_STATUSBAR,0,(LPARAM) &strMsg);
}

//#define WM_UPD_STATUSBAR WM_USER+5 in header mainframe


P.S. Warum rast dein Drache im Konqueror so elendig?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 23.03.2003 um 18:03 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.03.2003, 13:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:
Uwe postete
Hallo Flo,
hatte vorhin keine Zeit, also:

(...)

P.S. Warum rast dein Drache im Konqueror so elendig?



Ein Problem hab ich noch, wie mache ich nun das er die Nachricht schickt wenn ich über dem Menüitem bin? Sowas wie "OnHover" gibts ja nicht ...

Im Konqueror? Hmm keine Ahnung ... Vielleicht mag der Drache keine Eroberer
--
class God : public ChuckNorris { };

Dieser Post wurde am 24.03.2003 um 13:46 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.03.2003, 17:41 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Flo,
wenn es geht (hab ich noch nie probiert), dann nur -da das Document i.a. der Ansicht gehört über diese.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: