Accueil > Forum > > > > Problèmes de messages
Problèmes de messages
vendredi 26 décembre 2003 à 10:49:04 |
Problèmes de messages

appstmd
|
Salut ! J'ai créée une application SDI avec les nouvelles classes CHtmlEditView et CHtmlEditDoc pour mon architecture document/vie (j'utilise Visual C++ .Net). Dans ma classe View dérivée de CHtmlEditView, j'ai créé les functions OnChar et OnKillFocus pour intercepter les messages WM_CHAR et WM_KILLFOCUS. Mais ma classe (et CMainFrame) ne reçoit pas ces messages ! (et bien d'autres encore). Comment intercepter ces genres de messages dans un tel type de document/architecture ? Y-a-t-il quelque chose à ajout de spécial dans le contrôle HtmlEdit pour recevoir ces messages ? Merci d'avance. Appstmd [ Lien ]Rubrique programmation : htp://www.appstmd.com/programs
|
|
vendredi 26 décembre 2003 à 17:22:24 |
Re : Problèmes de messages

vecchio56
|
Ces messages ne sont pas interceptées par la CMainFrame et c'est normal puisque ces messages sont envoyés à la classe View
|
|
samedi 27 décembre 2003 à 02:15:30 |
Re : Problèmes de messages
|
samedi 27 décembre 2003 à 02:31:10 |
Re : Problèmes de messages

appstmd
|
Voici le code de ma classe CMainFrame :
code: --------------------------------------------------------------------- // MainFrm.cpp //
#include "stdafx.h" #include "Focus3.h"
#include "MainFrm.h" #include ".\mainfrm.h"
#ifdef _DEBUG #define new DEBUG_NEW #endif
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CREATE() ON_WM_CHAR() ON_WM_KILLFOCUS() END_MESSAGE_MAP()
static UINT indicators[] = { ID_SEPARATOR, ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, };
.....
void CMainFrame::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { AfxMessageBox ("OnChar");
CFrameWnd::OnChar(nChar, nRepCnt, nFlags); }
... ----------------------------------------------------------------------
et de ma classe CView :
code: ----------------------------------------------------------------------
// Focus3View.cpp //
#include "stdafx.h" #include "Focus3.h"
#include "Focus3Doc.h" #include "Focus3View.h" #include ".\focus3view.h"
#ifdef _DEBUG #define new DEBUG_NEW #endif
// CFocus3View
IMPLEMENT_DYNCREATE(CFocus3View, CHtmlEditView)
BEGIN_MESSAGE_MAP(CFocus3View, CHtmlEditView) // Commandes d'impression standard ON_COMMAND(ID_FILE_PRINT, CHtmlEditView::OnFilePrint) ON_WM_SETFOCUS() ON_WM_KILLFOCUS() ON_WM_CHAR() END_MESSAGE_MAP()
BEGIN_DHTMLEDITING_CMDMAP(CFocus3View) DHTMLEDITING_CMD_ENTRY(ID_EDIT_COPY, IDM_COPY) DHTMLEDITING_CMD_ENTRY(ID_EDIT_CUT, IDM_CUT) DHTMLEDITING_CMD_ENTRY(ID_EDIT_PASTE, IDM_PASTE) DHTMLEDITING_CMD_ENTRY(ID_EDIT_UNDO, IDM_UNDO) END_DHTMLEDITING_CMDMAP()
......
void CFocus3View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { AfxMessageBox ("OnChar");
CHtmlEditView::OnChar(nChar, nRepCnt, nFlags); }
----------------------------------------------------------------------
|
|
samedi 27 décembre 2003 à 13:21:02 |
Re : Problèmes de messages

vecchio56
|
Pour commencer moi je travaille avec visual C++ 6 et il y a CHtmlView mais pas CHtmlEditView. En tout cas moi ca marche, ma CView dérivée de CHtmlView recoit bien le message WM_KEYDOWN Fichier sView.cpp: // sView.cpp : implementation of the CSView class //
#include "stdafx.h" #include "s.h"
#include "sDoc.h" #include "sView.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////////////////// // CSView
IMPLEMENT_DYNCREATE(CSView, CHtmlView)
BEGIN_MESSAGE_MAP(CSView, CHtmlView) //{{AFX_MSG_MAP(CSView) ON_WM_KEYDOWN() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CHtmlView::OnFilePrint) END_MESSAGE_MAP()
///////////////////////////////////////////////////////////////////////////// // CSView construction/destruction
CSView::CSView() { // TODO: add construction code here
}
CSView::~CSView() { }
BOOL CSView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs
return CHtmlView::PreCreateWindow(cs); }
///////////////////////////////////////////////////////////////////////////// // CSView drawing
void CSView::OnDraw(CDC* pDC) { CSDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here }
void CSView::OnInitialUpdate() { CHtmlView::OnInitialUpdate();
// TODO: This code navigates to a popular spot on the web. // change the code to go where you'd like. Navigate2(_T("http://www.microsoft.com/visualc/"),NULL,NULL); }
///////////////////////////////////////////////////////////////////////////// // CSView printing
///////////////////////////////////////////////////////////////////////////// // CSView diagnostics
#ifdef _DEBUG void CSView::AssertValid() const { CHtmlView::AssertValid(); }
void CSView::Dump(CDumpContext& dc) const { CHtmlView::Dump(dc); }
CSDoc* CSView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSDoc))); return (CSDoc*)m_pDocument; } #endif //_DEBUG
///////////////////////////////////////////////////////////////////////////// // CSView message handlers
void CSView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default MessageBox("OnKeyDown"); CHtmlView::OnKeyDown(nChar, nRepCnt, nFlags); }
|
|
|
samedi 27 décembre 2003 à 13:25:29 |
Re : Problèmes de messages

vecchio56
|
Par contre le message WM_CHAR n'est effectivement pas recu.
|
|
dimanche 28 décembre 2003 à 02:25:01 |
Re : Problèmes de messages

appstmd
|
Merci !! Et pour les messages WM_SETFOCUS et WM_KILLFOCUS ? Je n'arrive pas à les recevoir non plus, je suis vraiment embété !!!
|
|
dimanche 28 décembre 2003 à 18:00:13 |
Re : Problèmes de messages
|
dimanche 28 décembre 2003 à 22:22:49 |
Re : Problèmes de messages

appstmd
|
Même la MainFrame ne reçois pas ces messages. Voici mon code : BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { if (pMsg->message==WM_CHAR) AfxMessageBox ("Pretranslate Char"); else if (pMsg->message==WM_SETFOCUS) AfxMessageBox ("Pretranslate Setocuzs"); else if (pMsg->message==WM_KILLFOCUS) AfxMessageBox ("Pretranslate Killocuzs");
return CFrameWnd::PreTranslateMessage(pMsg); }
|
Appstmd [ Lien ]Rubrique programmation : htp://www.appstmd.com/programs
|
|
Cette discussion est classée dans : url, messages, problèmes, architecture, chtmleditview
Répondre à ce message
Sujets en rapport avec ce message
Problèmes avec MAPI et Incredimail [ par appstmd ]
Salut !J'utilise les API de Windows MAPISendMail et MAPISendDocument pour envoyer un message avec un fichier joint. Ca fonctionne avec Outlook et Outl
URGENT : Gros problèmes d'exceptions .. [ par monomanahune ]
Monomanahune Bonjour,j'ai un enorme problème au niveau de la remontée des exceptions en C++.En effet, j'ai un programme qui gère des formes géométriqu
Icone et Dialogue [ par sebastienbro ]
Bonjour,J'ai un dialogue que j'affiche grâce a CreateDialog. Jusque là aucun problème.Seulement, j'ai mis une image, et je voudrai insérer dans mon im
HInstance et Dll [ par sebastienbro ]
Bonjour,J'aimerais comment récupérer le Hinstance lorsque l'on est dans une dll pour pouvoir utiliser la fonction CreateDialog.Merci\* -- Seb [Mail] [
Variables "partagées" [ par sebastienbro ]
Bonjour, je voudrais savoir comment partager une variable entre plusieur fichier .cpp. J'ai essayé avec un .h, dans lequel j'ai mis juste ma variable.
gestion des messages [ par Sade ]
comment faire pour qu'une fenetre gerer les messages même quand celle-ci n'est pas active
gestion des messages [ par Sade ]
comment faire pour qu'une fenetre continue a traite les message même lorsque celle-ci n'est plus valide.
Connection point / notification d'évènements [ par julien20vt ]
Ca fait maintenant plusieurs jours que je suis bloqué par ce problème:Je développe sous visual C++, j'aimerais pouvoir implémenter les methodes appelé
ASM et C++ [ par sebastienbro ]
Bonjour, j'aimerais savoir ce qui ne vas pas dans le code suivant. J'ai une erreur "error C2400: inline assembler syntax error in 'opcode'; found 'con
Probleme avec une variable [ par cbil ]
Cedric Me contacterBonjour tout le monde !J'ai un gros probleme avec une variable.J'assigne 1 ou 2 à la varia
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|