WinAPI:EditBox角未在矩形内正确渲染
尝试使用文本框重新渲染窗口时,文本框的角未正确渲染。 它只是白色的,没有角落。创建文本框后,一切都正常。使用WinAPI:EditBox角未在矩形内正确渲染,winapi,rendering,Winapi,Rendering,尝试使用文本框重新渲染窗口时,文本框的角未正确渲染。 它只是白色的,没有角落。创建文本框后,一切都正常。使用invalidate(NULL,NULL,true)重新招标后,框已离开,只有文本在其中,直到我将鼠标移到框上 使用CreateWindowEx创建编辑,参数为WS_EX_CLIENTEDGE和WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL 更新:刚发现在矩形外渲染时问题已经解决 示例:加载Mono-D()附带的WinAPI示例项目并向WM_PAINT添加以下
invalidate(NULL,NULL,true)重新招标后代码>,框已离开,只有文本在其中,直到我将鼠标移到框上
使用CreateWindowEx创建编辑,参数为WS_EX_CLIENTEDGE
和WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL
更新:刚发现在矩形外渲染时问题已经解决
示例:加载Mono-D()附带的WinAPI示例项目并向WM_PAINT添加以下代码时:RoundRect(dc,0,0,300,300,1,1)代码>和以下代码添加到按钮单击处理程序(带有IDC\u BTNCLICK的处理程序)
出现问题。您的父窗口是否包含WS\u CLIPCHILDREN
标志?请发布一条消息,使您的问题完整、可回答,并且对未来的访问者更有价值。我想我也遇到了类似的问题,或许可以帮到您?请仔细检查我的问题,以确保我正确理解了你的帖子。看看这些图片,看看这是否是你遇到的问题。谢谢。在编辑控件中使用WS\u CLIPCHILDREN
窗口样式的基本原理是什么?创建编辑控件父窗口的代码在哪里?不要忽略这两个方面的文档。hWnd
参数有以下建议:“不建议将此参数设置为NULL
。”IInspectable是正确的:设置hWnd时,不会发生错误。非常感谢你的帮助!
try
{
HMENU h = CreateWindowExW(WS_EX_CLIENTEDGE, "edit".toUTF16z, "".toUTF16z, WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL | WS_CLIPCHILDREN, 100, 100, 100, 100, hWnd, cast(HMENU)100, GetModuleHandleA(null), null);
HFONT font = CreateFontW(15, 0, 0, 0, FW_NORMAL, 0, 0, 0, CP_UTF8, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, ("Tahoma").toUTF16z);
SendMessageA(h, WM_SETFONT, cast(int)font, 0);
InvalidateRect(null, null, true);
}
catch(Throwable e) {}