Accueil > Forum > > > > [win 32] DLL - Problème de coloration d'une sélection seule dans un RichEdit
[win 32] DLL - Problème de coloration d'une sélection seule dans un RichEdit
mardi 24 février 2009 à 01:15:36 |
[win 32] DLL - Problème de coloration d'une sélection seule dans un RichEdit

uaip
|
Bonsoir à tous, J'ai une petite question désespérée, avant d'aller dormir. Je code une DLL qui est censée faire un hook sur un éditeur de script (mIRC) et colorer le RichEdit. Tout se passe bien, or lorsque je colore tout le texte (SCF_ALL) c'est okay, mais quand je ne colore qu'une sélection (SCF_SELECTION), le SendMessage(); me retourne 0. Je ne peux pas donner tout le code de la DLL, mais voici la fonction qui parcourt toutes les lignes du RichEdit, et colore une ligne en rouge si le mot "alias" est contenu, sinon en bleu : void Color_All() { //Masquage des sélections SendMessage(edit,EM_HIDESELECTION,1,0); //Début CHARRANGE select,curSelect; CHARFORMAT cFormat; ZeroMemory(&cFormat,sizeof(CHARFORMAT)); cFormat.cbSize=sizeof(CHARFORMAT); cFormat.dwMask=CFM_COLOR|CFM_BOLD; cFormat.dwEffects=0;//CFE_BOLD; //Récupération de la sélection SendMessage(edit,EM_EXGETSEL,0,(LPARAM)&curSelect); //Boucle ligne par ligne int lines=SendMessage(edit,EM_GETLINECOUNT,0,0); for(int line=0;line < lines;line++) { //Récupération du texte de la ligne int place=SendMessage(edit,EM_LINEINDEX,line,0); char buffa[9999]="9999"; SendMessage(edit,EM_GETLINE,line,(LPARAM)buffa); select.cpMin=place; place+=strlen(buffa); select.cpMax=place; SendMessage(edit,EM_EXSETSEL,0,(LPARAM)&select); //Alias if (strstr(buffa,"alias") != NULL) cFormat.crTextColor=RGB(255,0,0); //Autre else cFormat.crTextColor=RGB(100,100,250); SendMessage(edit,EM_SETCHARFORMAT,SCF_ALL,(LPARAM)&cFormat); } //Remise en place de la sélection courante SendMessage(edit,EM_EXSETSEL,0,(LPARAM)&curSelect); //Réaffichage des sélections SendMessage(edit,EM_HIDESELECTION,0,0); } C'est le SendMessage(); en rouge qui pose problème, il fonctionne bien avec SCF_ALL mais pas avec SCF_SELECTION. Je note que chaque ligne est bien sélectionnée, et ce morceau de code fonctionne très bien dans mes autres programmes. Mon code étant donc (selon moi) correct, je me suis dit que peut-être le RichEdit avait été paramétré avec une option incompatible avec ce que j'essaye de faire. Je voulais simplement avoir vos idées concernant ce problème, moi ayant mal au crane  Merci d'avance. Cordialement, uaip.
|
|
samedi 7 mars 2009 à 11:51:47 |
Re : [win 32] DLL - Problème de coloration d'une sélection seule dans un RichEdit

uaip
|
Réponse acceptée !
Trouvé.
Cordialement, uaip.
|
|
Cette discussion est classée dans : sendmessage, edit, sélection, em, cformat
Répondre à ce message
Sujets en rapport avec ce message
couleur de texte avec un richedit [ par minet03 ]
coucou, voilà j'ai un edit et je voudrais changer la couleur du texte, seulement ma fonction n'a pas l'air de marché, et j'ai pourtant fait tout ce qu
combobox [ par fignon ]
Bonjour à tous,j'ai un petit souci avec les combobox, dont je suis sûr vous n'aurez aucun mal à résoudre.Je déclare ma combobox comme suit :edit_port_
prendre le text d'une sélection [ par deck_bsd ]
Yop à tous,Voila , ceci est p-e une question stupide mais j'ai chercher après un message qui me permet de récupérer le text d'une selection faite avec
pourquoi le result de EM_FINDWORDBREAK au dessus de 65500 repasse a 0 [ par youpiyoyo ]
j'ai ceciWORD hLine=SendMessage( hWnd,EM_CHARFROMPOS,0,(LPARAM)&ptlCursor);DWORD nWordStart = SendMessage(hWnd, EM_FINDWORDBREAK, WB_LEFT, hLine);DWOR
Erreur : Importer un bitmap dans une toolbar [win32] [ par julien_boss ]
Bonjour, mon probleme est que les icones de ma barre d'icones sont toutes noires ... :/Voici le code qui crée la toolbar :void InitToolbar(HWND hwnd){
créer un edit en opengl [ par sebastienmz ]
bonjourj'aimerais pourvoire saisire du texte en opengl comment faire ps je me base sur ce soft http://www.cppfrance.com/codes/CPLUSPLUS-DEVCPP-EXPLORA
Evenement touche presse sur edit [ par NairodDorian ]
Bonjour,Je rencontre un petit blocage avec l'API Win32.BOOL CALLBACK AppDlg(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam){switch (
Combox Box [ par IH2MCBETA ]
Bonjour, je désir remplir une combo box (listes déroulantes) avec une variable que j'ai créé.Quand dans une edit control je met 6 je veu que dans ma c
listes chainées avec combobox [ par IH2MCBETA ]
Bonjour , j'ai une interface qui se compose d'edit boxes et de combo box.Quand je change ma valeur dans mon combo je veu que ça sauvegarde (sous forme
texte inversé lors de la sélection [ par hdaniel ]
Bonjour, J'utilise une SDI RichEditView j' écris un texte dans ma SDI que je rafraichis périodiquement. pour effacer le texte avant de le rafraichi
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|