Hi,
I am trying to change case of the text to UpperCase/LowerCase. After experimenting for quite a while with styles, came to the conclusion that the only "right" way to do it is to use CallForSelectedText method.
However, I cannot get it to work in C++ :(
Code
procedure CharCallback(Sender: TObject; var CharItem: WideChar; par: TParagraph; posinpar: Integer; var Abort: Boolean);
Code
type TWPConvertMode = (wpUppercase, wpLowercase);var ConvertMode: TWPConvertMode;procedure TWPTBXForm.CharCallback(Sender: TObject; var CharItem: WideChar; par: TParagraph; posinpar: Integer; var Abort: Boolean);begin { if ConvertMode=wpUppercase then par.ANSIChr[posinpar] := ANSIUppercase(par.ANSIChr[posinpar])[1] else if ConvertMode=wpLowercase then par.ANSIChr[posinpar] := ANSILowercase(par.ANSIChr[posinpar])[1]; } if ConvertMode = wpUppercase then CharItem := WideUpperCase(CharItem)[1] else CharItem := WideLowerCase(CharItem)[1]; include(par.prop, paprMustInit);end;
Code
procedure TWPTBXForm.Lowercase(Sender: TObject);
begin
ConvertMode := wpLowercase;
WPRichText1.TextCursor.CallForSelectedText(Self, [], nil, nil, CharCallback, nil);
WPRichText1.DelayedReformat;
end;
Has anyone succesfully implemented CallForSelectedText in C++?
Basic example would help a lot!
dex