2011-07-17 160 views
2

私は20種類の言葉があります。どのようにSynEditの異なる色でそれらの言葉で行を強調表示するには?行を強調表示できない場合は、単語を強調表示するだけです。Delphi:SynEditのテキストを強調表示するだけです

Big Thanks !!!!!!あなたがOnSpecialLineColorsイベントを使用しなければならない行を強調表示する

答えて

7

。あなたが行の単語を見つけるために、関数を作成することができます(この質問Is There An Efficient Whole Word Search Function in Delphi?をチェック)して、行に

チェックこのコード

procedure TFrmMain.SynEditCodeSpecialLineColors(Sender: TObject; 
    Line: integer; var Special: boolean; var FG, BG: TColor); 
begin 
    If LineContainsWord(Line) then //here check if the word is in the line 
    begin 
    FG  := clYellow; //Text Color 
    BG  := clBlue; //BackGround 
    Special := True; //Must be true 
    end;   
end; 
+1

感謝をペイント!このイベントはいつ呼び出されますか? – maxfax

+2

イベントがラインのデータが変更されるたびに、Syneditコンポーネントによって呼び出されます。 – RRUZ

関連する問題