Nachricht, wenn Dialog Fokus bekommt/verliert?
-
ka, kann grad net schauen ...
Mir gehen halt langsam auch die Ideen aus
-
muss man nicht noch in die message map eine verbindung von nachricht zur member-funktion erstellen?
-
ich meine das:
-
Wenn man's eh nicht als Nachricht bekommt, wie er sagt, nciht.
Aber eine Möglichkeit ist mir noch eingefallen.
Du arbeitest mit dem 6er-Studio nehm ich an. Wenn man dort im Klassenassistenten ist, ist der erste Reiter ja der Teil, wo man seine Nachrichten auswählen kann, der zweite für die Membervariablen. Dann gibt es weiter hinten einen Reiter, bei dem kann man einstellen, welchen Typ deine Dialogklasse hat und dementsprechend bekommst du auch mehr Nachrichten angezeigt. Versuch dort mal die "höchste" Einstellung sozusagen.
-
mfc nichtskenner schrieb:
ich meine das:
Jepp, du hast schon recht. Sein Problem ist momentan eben nur, dass er es nciht als Nachricht bekommt *g* Das sollte sich aber mit meinerm Lösungsansatz eigentlich beheben lassen.
-
Sein Problem ist momentan eben nur, dass er es nciht als Nachricht bekommt *g*
Wo hat er das denn geschrieben?
Dann müsste er ja schon ein Programm wie Spy++ ausprobiert haben, um zu sehen das er die Nachricht nicht bekommen.
-
Hab ich gemacht:
// Generierte Message-Map-Funktionen //{{AFX_MSG(CAlphaNotesDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnKillFocus(CWnd* pNewWnd); afx_msg void OnActivate(UINT nState, CWnd *pWndOther, BOOL bMinimized);//! //}}AFX_MSG DECLARE_MESSAGE_MAP()
Geht aber leider auch nicht...
-
ON_WM_ACTIVATE() macht doch was ganz anderes.
#define ON_WM_ACTIVATE() \ { WM_ACTIVATE, 0, 0, 0, AfxSig_vwWb, \ (AFX_PMSG)(AFX_PMSGW) \ (static_cast< void (AFX_MSG_CALL CWnd::*)(UINT, CWnd*, BOOL) > (OnActivate)) },
-
hmm, ich habe mal die Klasse auf "Fenster" gesetzt (eins höher als Dialog), dann gibt es auch die WM_ACTIVATE.
Mit folgendem Code in dieser Methode kommt jedoch nur eine Dialogbox "Inactive" beim Starten der Anwendung und darauf bricht das Programm ab...switch(nState) { case WA_INACTIVE: MessageBox("Inactive"); break; case WA_ACTIVE: MessageBox("Active"); break; default: break; }
-
mfc nichtskenner schrieb:
Sein Problem ist momentan eben nur, dass er es nciht als Nachricht bekommt *g*
Wo hat er das denn geschrieben?
Dann müsste er ja schon ein Programm wie Spy++ ausprobiert haben, um zu sehen das er die Nachricht nicht bekommen.
Er hat geschrieben, er bekommt sie nicht angezeigt. Ist ja auch egal