質問

たとえば、次のテキストを編集していると仮定します(\ tはタブ用で、テキストではありません) '\ t \ t \ t一部のテキスト...' 入力キーボードの位置は「S」の直前です(選択されたテキストはありません) 'S'(この場合は3)の前にタブの数を取得したい

では、Win32 APIを使用してその数のタブを取得する方法は?

p.s。 おそらく、現在の行全体を取得する(そしてそのテキストを解析する)関数ですか?

編集: したがって、プログラム(バックグラウンドで実行され、GUIを持たない)が、現在アクティブな(編集中の)テキストエディターの現在のアクティブな行からタブの数を決定するようにします。

役に立ちましたか?

解決

標準のWindowsメモ帳などの一部のアプリケーションでは、別のアプリケーションからこれを実行できる場合があります。メモ帳自体は、大きな Win32" Edit"コントロール、サイズ変更可能なウィンドウ内で、すべての通常のWin32 Editコントロールメッセージを使用して、実際のテキストやキャレットの位置などを取得できます。

ただし、Windowsテキストエディターの一般的なケースでは、アプリケーションがテキスト編集のニーズにWin32エディットコントロールを使用する必要はありません(実際、そうするためにはメモ帳を再発明するだけです)。キャレットが指している場所を見つけるための標準のWin32 APIメソッドはありません。これは、アプリケーションが適切と思われる方法で画面上にテキストを自由に描画できるためです(そして、そのテキストをアプリケーション内に内部的に保存します。呼び出し)。

他のヒント

Javaコーディングのベストプラクティスは、可能な限りコードオペレーティングシステムプラットフォームを独立させることです。本質的にWindows固有のユーティリティ(Win32 APIに大きく依存するなど)を実装しようとしている場合は、JavaではなくC ++またはC#を使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top