首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UpDown控件的样式与编辑框不匹配

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

Stack Overflow用户
提问于 2017-06-23 16:26:29
回答 1查看 345关注 0票数 2

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

代码语言:javascript
复制
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;

编辑看起来像是有一个3D边框,而UpDown没有。

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

从编辑中删除WS_EX_CLIENTEDGE会使它看起来就像一个填充的白色矩形(没有边框)。而且,现在编辑中的文本看起来太高了,所以我必须处理WM_NCCALCSIZE消息或任何修复它的方法。

如果然后添加WS_BORDER标志,结果几乎是所需的,只是灰颜色比需要的深,然后在表单中的某些用户活动(包括用鼠标光标悬停编辑)之后,边框的一个不必要的垂直部分出现在UpDown控件的左侧。

第三张截图要求至少有10个声誉才能发布。好吧,想象一下在上/下按钮的左边边缘有一条垂直线。它的颜色和边框是一样的,所以我可以假设它是边框的一部分。

EN

回答 1

Stack Overflow用户

发布于 2019-06-27 14:27:53

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44726104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档