嗨我有一個文本框包含一些文本。我正在尋找複製紅色拼寫錯誤squiggle類型的行爲。TextBox中文本的位置
使用WinAPI的我可以
- 畫2點之間的抽搐。
- 找出 這個詞的高度和寬度是「扭曲」的。
什麼是API調用(或者可能的方法,如果它比單一的API調用更多)找到在文本框,字的位置,這樣我可以定位潦草畫線undeneath它。
此外,我需要捕獲哪些信息以確保重新繪製波形。我目前只使用WM_PAINT,這顯然不夠好。
編輯(2012年9月3日): 僅供參考,以下是我到目前爲止的地方。需要大量精煉的但顯示基本原則
https://gist.github.com/3607272
許多THX
小號
這不是一個選項,VB6 TextBox控件根本不支持自定義繪圖。您需要購買某種其他控件才能執行此操作。這應該很難,這太古老了。 – 2012-08-16 18:57:32
Thx Hans。那麼我使用暴露hWnd(不是VB6文本框?)的第三方控件,以便我可以獲取它的hdc並可以繼承它。你能解釋一些,爲什麼你認爲這是不可能的?這個鏈接(http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox/)顯示了一些.net調用實現類似的功能。我認爲他們在某個時候委託給winapi。我想我只需要知道哪些呼叫正在進行。 TextBoxAPIHelper.PosFromChar發送EM_POSFROMCHAR消息嗎? – 2012-08-17 05:13:32
嘗試使用閃爍控制,它的自由和開源。它會照顧你所有的這些要求。 http://www.scintilla.org/ScintillaDoc.html – Shubhansh 2012-08-17 07:52:15