「.NETプラグイン開発 イベント編」の版間の差分

MSY-07 (トーク | 投稿記録)
セクションの修正
MSY-07 (トーク | 投稿記録)
<source>タグを<syntaxhighlight>タグに置き換え
14行目: 14行目:
ここに、時折要望として挙がる「テキスト全体の文字数をステータスバーに表示する」処理を書いてみましょう。<br>
ここに、時折要望として挙がる「テキスト全体の文字数をステータスバーに表示する」処理を書いてみましょう。<br>


<source lang="csharp">
<syntaxhighlight lang="csharp">
/// <summary>
/// <summary>
/// テキストが変更された時.
/// テキストが変更された時.
29行目: 29行目:
editor.SetStatus(length.ToString());
editor.SetStatus(length.ToString());
}
}
</source>
</syntaxhighlight>
<br>
<br>
どうですか、簡単でしょう!<br>
どうですか、簡単でしょう!<br>
続いて、文字数ではなく Shift-JIS の byte 数にしてみましょう。
続いて、文字数ではなく Shift-JIS の byte 数にしてみましょう。


<source lang="csharp">
<syntaxhighlight lang="csharp">
/// <summary>
/// <summary>
/// テキストが変更された時.
/// テキストが変更された時.
57行目: 57行目:
editor.SetStatus(length.ToString());
editor.SetStatus(length.ToString());
}
}
</source>
</syntaxhighlight>
<br>
<br>
GetLength() は Unicode 文字数を返すので、Shift-JIS のバイト数を取得するためにはまずテキスト全体を取得します(②)。<br>
GetLength() は Unicode 文字数を返すので、Shift-JIS のバイト数を取得するためにはまずテキスト全体を取得します(②)。<br>
75行目: 75行目:
.NET プラグインには独自のタイマー処理が実装されていますので、対応は極めて簡単です。
.NET プラグインには独自のタイマー処理が実装されていますので、対応は極めて簡単です。


<source lang="csharp">
<syntaxhighlight lang="csharp">
/// <summary>
/// <summary>
/// テキストが変更された時.
/// テキストが変更された時.
96行目: 96行目:
});
});
}
}
</source>
</syntaxhighlight>
<br>
<br>
基本的には、SetTimer() で遅延させているだけです。<br>
基本的には、SetTimer() で遅延させているだけです。<br>
111行目: 111行目:
その中の OnSysKeyDown() のコメントアウトを外して、以下のコードを入力します。
その中の OnSysKeyDown() のコメントアウトを外して、以下のコードを入力します。


<source lang="csharp">
<syntaxhighlight lang="csharp">
/// <summary>
/// <summary>
/// システムキーを押したときに呼ばれます.
/// システムキーを押したときに呼ばれます.
142行目: 142行目:
     return false;
     return false;
}
}
</source>
</syntaxhighlight>
<br>
<br>
OnSysKeyDown() は Alt や Ctrl などの特別なキーを処理するためのイベントです。<br>
OnSysKeyDown() は Alt や Ctrl などの特別なキーを処理するためのイベントです。<br>
スポンサーリンク