我正在创建一个混合的win32 / D2D表单,我正在尝试创建一个编辑控件。我必须遗漏一些愚蠢的东西,因为我的插入符号没有出现,也没有响应ShowCaret()。创建框的代码和WndProc中的代码如下:
创作:
HWND usernamebox = CreateWindowEx(WS_EX_CLIENTEDGE,L"EDIT",L"", WS_CHILD|WS_VISIBLE, 90,105,250,25,hwnd,(HMENU)1,hinst,NULL);
/*Create a Segoe UI font f, etc.*/
SendMessageW(usernamebox,WM_SETFONT,WPARAM(f),NULL);
WndProc:
case WM_CTLCOLOREDIT: {
SetTextColor((HDC)wpa,RGB(84,84,84));
return (LRESULT)editbrush; //a white hbrush
非常感谢任何建议!
答案 0 :(得分:0)
编辑控件应在获得焦点时显示插入符号。因此,调用SetFocus将焦点转移到编辑控件。
答案 1 :(得分:0)
我结束了通过让我的案例WM_CTLCOLOREDIT失败并返回默认窗口proc来解决它。我想我错过了那件事我需要做的事情。