gpt4 book ai didi

delphi - UpDown 控件的样式与编辑框不匹配

转载 作者:行者123 更新时间:2023-12-02 03:26:39 25 4
gpt4 key购买 nike

我正在使用以下代码创建一个 Edit 和一个 UpDown 控件:

procedure TForm1.CreateWnd;
begin
inherited;
Edit1 := CreateWindowEx (WS_EX_CLIENTEDGE, 'EDIT', '',
WS_VISIBLE or WS_CHILD or ES_LEFT or ES_AUTOHSCROLL,
10, 10, 100, 24, Handle, 0, hInstance, nil);
UpDown1 := CreateWindowEx (0, UPDOWN_CLASS, nil,
WS_VISIBLE or WS_CHILD or UDS_ALIGNRIGHT or UDS_ARROWKEYS
or UDS_NOTHOUSANDS or UDS_HOTTRACK or UDS_SETBUDDYINT,
0, 0, 0, 0, Handle, 0, hInstance, nil);
SendMessage (UpDown1, UDM_SETBUDDY, Edit1, 0);
end;

Edit 看起来有 3D 边框,而 UpDown 没有。

Screenshot 1

更新:(从我下面的评论中部分复制/粘贴)

从编辑中删除 WS_EX_CLIENTEDGE 使其看起来就像一个填充的白色矩形(无边框)。另外,现在编辑中的文本显得太高,因此我必须处理 WM_NCCALCSIZE 消息或任何修复它的方法。

Screenshot 2

如果我然后添加 WS_BORDER 标志,结果几乎就是想要的,除了灰色比需要的更深,然后在表单中进行某些用户事件(包括用鼠标悬停编辑)光标),边框的不必要的垂直部分出现在 UpDown 控件的左侧。

第三张屏幕截图需要至少 10 点声誉才能发布。好吧,想象一下向上/向下按钮的左边缘有一条垂直线。它的颜色与边框相同,所以我可以假设它是边框的一部分。

最佳答案

当 WM_CTLCOLOREDIT 消息处理不当时,可能会发生这种情况。例如,返回无效的画笔。

关于delphi - UpDown 控件的样式与编辑框不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44726104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com