在win32中,如何爲RichEdit設置回調機制我沒有創建自己?如何在win32中爲RichEdit設置回調機制
PART 1
I'm reading from a textedit field in another application's GUI。這現在工作得很好,除了第一次讀取後,我只想獲取新的或修改過的行。在GTK +或Qt中,我只是在某些信號上安裝一個回調函數,當它發生變化時它會被編輯,但它在Win32上如何工作?
我的MSDN搜索結果沒有任何用處,可能是因爲我不知道搜索的確切術語。該文本的類是RichText20W,它有一些可能以某種方式使用的messages,儘管該文章僅討論將它們用於該類的父類。
PART 2
此外,如果有沒有這樣的「文本已改變,這裏是新插入的文本」回調後者立即返回新的內容,我需要一些方法來輕鬆地檢測是什麼新。從頂部開始:
- 在我們閱讀的文本塊的末尾有一個標記,並且只在該文本塊和結尾之間讀取。
- 保存我們以前閱讀過的內容,並在第二次閱讀後,從後者中刪除重複部分以獲得新插入的內容。
選項2可能不可行,因爲textedit可以包含任意數量的文本。標記部分聽起來是可行的,但是再一次,我微弱的Win32技能和可怕的Win32函數名稱阻止我找到正確的方式來做到這一點。
請注意,所有這些必須是可行的文本編輯我不要自己並沒有創建,他們屬於第三方進程。
C++中的代碼示例值得高度讚賞。
免責聲明
顯然,如果有做一些更好的方法,讓我知道。根據我以前使用GTK +/Qt的經驗,我只是假設回調將是一條路。隨時給我看看路徑:)
「不擁有」是指另一個過程嗎?或者只是另一個窗口在你的過程中運行? – 2008-12-22 07:51:55