0

カスタムレクサーを作成中です。次に、 StyledTextCtrl.StartStyling() がテキストへのスタイルの適用を開始するために使用する方法であることがわかりましたが、マスクが何であるかわかりません。私は入力StartStyling.__doc__してこれを手に入れました

StyledTextCtrl.StartStyling(self, int pos, int mask)
Set the current styling position to pos and the styling mask to mask.
The styling mask can be used to protect some bits in each styling byte from modification.

ここで適用されるスタイリング マスクと、どのマスク番号を指定するかを選択する方法を教えてください。

4

1 に答える 1

2

このページでは、そのほとんどについて説明しています。

http://www.yellowbrain.com/stc/styling.html

整数パラメーターposは、スタイリング操作を開始する位置を設定します。整数パラメータマスクは、スタイルバイトのどのビットを変更するかを示します。

Scintillaのドキュメントから:マスクを使用すると、複数のパスでスタイリングを実行できます。たとえば、最初のパスで基本的なスタイリングを実行して、コードのテキストがすばやく正しく表示されるようにし、次に2番目の遅いパスで構文を検出します。エラーとインジケーターを使用してこれらがどこにあるかを示します。たとえば、5スタイルビットと3インジケータービットの標準設定では、テキストスタイルを設定していて、インジケーターを変更したくない場合は、マスク値31(0x1f)を使用します。

おそらくマスクを0x1f(下位5ビット)にする必要があります。これは慣例によるものです。下位5ビットはスタイル(最大32の異なるスタイル)に使用され、上位3ビットはインジケーターに使用されます。

于 2012-05-14T20:26:04.377 に答える