作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 TComboBox.SelStart
的模式指示编辑文本字符串的进度。在这种模式下,我想对编辑插入符号进行某种更改,例如将其加宽到 2 像素或以某种方式将其“加粗”以指示这种模式并使其引起更多关注。这可能吗?
最佳答案
是的,正如 Alex 在评论中提到的,这可以使用 API 调用来完成。示例:
procedure SetComboCaretWidth(ComboBox: TComboBox; Multiplier: Integer);
var
EditWnd: HWND;
EditRect: TRect;
begin
ComboBox.SetFocus;
ComboBox.SelStart := -1;
Assert(ComboBox.Style = csDropDown);
EditWnd := GetWindow(ComboBox.Handle, GW_CHILD);
SendMessage(EditWnd, EM_GETRECT, 0, LPARAM(@EditRect));
CreateCaret(EditWnd, 0,
GetSystemMetrics(SM_CXBORDER) * Multiplier, EditRect.Height);
ShowCaret(EditWnd);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetComboCaretWidth(ComboBox1, 4); // bold caret
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetComboCaretWidth(ComboBox1, 1); // default caret
end;
关于delphi-xe2 - 是否可以对 TCombo 编辑插入符号 'wider' 或 'bold' 呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12422720/
我有一个使用 TComboBox.SelStart 的模式指示编辑文本字符串的进度。在这种模式下,我想对编辑插入符号进行某种更改,例如将其加宽到 2 像素或以某种方式将其“加粗”以指示这种模式并使其引
我想模仿 TComBo 列表功能,当用户单击列表“外部”时关闭该功能,但对于另一个组件(TPanel)。在德尔福XE2中。有什么想法吗? 最佳答案 假设您的面板已聚焦(正如我从您的问题中“读到”的那样
我是一名优秀的程序员,十分优秀!