2009-10-24 46 views
-1

例如,假設我在編輯以下文本(\ t是針對製表符,它不是文本) '\ t \ t \ t某個文本...' 並且我的輸入鍵盤位置正好在'S'之前是沒有選定的文本) ,我想在'S'之前獲得標籤數量(在這種情況下,它是3)如何從某些文本輸入中獲取文本縮進(製表符)?

那麼如何獲得使用Win32 API的標籤數?

p.s. 也許一些函數來獲取整個當前行(然後解析文本)?

編輯: 所以我希望我的程序(即在後臺運行,並沒有GUI)來確定當前活動的任何文本編輯器中當前活動行的選項卡數(我在編輯中) 。

+3

你能解釋一下這與你添加到這個問題中的任何標籤有什麼關係嗎?如果你正在編輯文本,你在編輯什麼? Win32 API如何適應這一點? C#,C++和Java與它有什麼關係?在我看來,如果你有一個包含文本的字符串,在任何編程語言中,計算緊接在感興趣索引之前的選項卡是一件簡單的事情。 – 2009-10-24 23:52:55

+0

C#,C++和Java開發人員通常使用Win32 API來獲取當前活動窗口,插入位置或當前活動行。所以我希望我的程序(即在後臺運行並且沒有GUI)確定當前活動(正在編輯)的任何文本編輯器中當前活動行的選項卡數量。 – dede 2009-10-25 00:01:37

+0

@Greg:爲什麼投票下來? – dede 2009-10-25 00:27:41

回答

1

對於某些應用程序(如標準的Windows記事本),可以從其他應用程序執行此操作。記事本本身在可調整大小的窗口內大於Win32 "Edit" control,因此所有常規的Win32編輯控件消息都可用於獲取實際文本和插入位置等。

但是,在任何Windows文本編輯器的一般情況下,應用程序不需要使用Win32 Edit控件進行文本編輯(實際上,這樣做只是重新創建記事本)。沒有標準的Win32 API方法來找出脫字符指向的位置,因爲應用程序可以自由地以任何它認爲合適的方式在屏幕上繪製文本(並且會將該文本內部存儲在應用程序中,而沒有相應的API供您使用呼叫)。

0

最好的Java編碼習慣是儘可能使你的代碼操作系統平臺獨立。如果您試圖實現本質上與Windows相關的實用程序(例如,嚴重依賴於Win32 API),最好使用C++或C#而不是Java。

相關問題