1 pièce(s) jointe(s)
TRichEdit CHARFORMAT2A CFU_UNDERLINEWAVE
Bonjour,
Afin de repérer les mots mal orthographiés dans TRichEdit Spellchecking lorsqu'une sélection est effectué, je voudrais vérifier si la sélection comporte une ligne ondulée.
J'utilise CHARFORMAT2A pour récupéré la valeur du type bUnderlineType
Pièce jointe 653911
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| { MisspelledWord }
procedure MisspelledWord(RichEdit: TRichEdit);
const
CFU_UNDERLINEWAVE = 8; { Ligne ondulée }
var
Format2A: CHARFORMAT2A;
begin
FillChar(Format2A, SizeOf(Format2A), 0);
with Format2A do
begin
cbSize := SizeOf(Format2A);
RichEdit.Perform(EM_GETCHARFORMAT, SCF_SELECTION, LPARAM(@Format2A));
Form1.Caption := 'bUnderlineType = ' + IntToStr(bUnderlineType);
if bUnderlineType = CFU_UNDERLINEWAVE then
ShowMessage('Mot mal orthographié !');
end;
end; |
Code:
1 2 3 4 5
| procedure TForm1.RichEditMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
begin
MisspelledWord(RichEdit);
end; |
Le hic, c'est que je ne parviens pas à récupérer la valeur du type bUnderlineType, Cela me renvoie toujours la valeur 1.
Auriez-vous une petite idée ? Merci