gpt4 book ai didi

c++ - Richedit Msftedit奇怪的边框

转载 作者:行者123 更新时间:2023-11-28 06:32:49 26 4
gpt4 key购买 nike

当我使用多个 RichEdit 控件时,我的行为非常奇怪:

The first richedit is the bottom one

LoadLibrary("Msftedit.dll");
RichEdit = CreateWindow("RICHEDIT50W", "", ES_READONLY | ES_MULTILINE | WS_HSCROLL | WS_VSCROLL | WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP, 5, 370, 600, 300, hwnd, NULL, NULL, NULL);

RichEdit2 = CreateWindow("RICHEDIT50W", "", /*0x550081C4*/ 0x50810804, 610, 65, 600, 300, hwnd, NULL, NULL, NULL);

第一个 EditControl 正常工作,但是第二个 EditControl 周围有一些奇怪的边框。首先,我尝试使用与第一个 richedit 相同的样式,然后我使用 Spy++ 找到了样式。即使我有相同的样式,我也会得到不同的结果,可能就像我为第二个 richedit 使用 WS_EX_CLIENTEDGE 扩展样式一样。我什至尝试释放库并再次加载它,但结果相同。

提前谢谢大家!

最佳答案

所以我想通了。我不知道为什么,但是第二个 RichEdit 在创建后以某种方式获得了 WS_EX_CLIENTEDGE 样式,所以我只是像这样删除样式:

LONG lExStyle = GetWindowLong(RichEdit2, GWL_EXSTYLE);
lExStyle &= ~WS_EX_CLIENTEDGE;
SetWindowLong(RichEdit2, GWL_EXSTYLE, lExStyle);

现在 RichEdit 看起来和第一个一样了。但我真的不知道,风格从何而来。

关于c++ - Richedit Msftedit奇怪的边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27231504/

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