[DllImport("user32.dll")]
static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth,
int nHeight);
<DllImport("user32.dll")> _
Function CreateCaret(ByVal hWnd As IntPtr, _
ByVal hBitmap As IntPtr, _
ByVal nWidth As Integer, _
ByVal nHeight As Integer) As Boolean
End Function
None.
Windows allows only one caret per message queue. To add a caret to a control, handle the WM_SETFOCUS message, or the GotFocus event, or override OnGotFocus if you're writing a custom control, and call CreateCaret from the message or event handler. You should also handle WM_KILLFOCUS, LostFocus or OnLostFocus and call DestroyCaret. You will also need to call ShowCaret to make the caret visible, and SetCaretPos to set its position.
Please add some!
//C# Example. This will create and show the caret in textBox1 when button1 is clicked.
private void button1_Click(object sender, System.EventArgs e) {
CreateCaret(textBox1.Handle, IntPtr.Zero, 0, textBox1.Height);
ShowCaret(textBox1.Handle);
}
Do you know one? Please contribute it!