我在C#(使用VS2008,.net 3.5)中創建了一個允許文本輸入的WinForms控件。我已經從User32.dll導入了必要的Win32 API函數來顯示正常的Windows插入符號,這些都可以正常工作,但它並不完全顯示我喜歡它的方式。在C#程序中剪切插入符號
文本以空白邊框顯示在控件上,我使用Graphics.SetClip()來清除此邊距。我希望插入剪輯到相同的區域,但由於我沒有繪製它,並且沒有明顯的API函數來設置裁剪區域,所以我看不到任何這樣做的方式。我錯過了什麼明顯的?
插入符號夾在繪製控件的內部。因此,我知道一種解決方案可能是將文本放置在沒有邊框的單獨的子控件中。但是,如果有一種比重新設計這部分控件更簡單的方法,我希望先找到它。
在此先感謝您的幫助!
你是從TextBox派生出你的控件還是你自己畫了一切? – 2010-05-07 16:58:44
它從頭開始繪製。不幸的是,Textbox是非託管Win32控件的一個相當薄的包裝,因此您可以對功能進行的修改有點受限。 – 2010-05-07 21:49:11