0

我正在创建一个混合 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 

任何意见是极大的赞赏!

4

2 回答 2

0

我最终能够通过让我的案例 WM_CTLCOLOREDIT 失败并返回默认窗口过程来解决它。我想我错过了在那场比赛中我需要做的事情。

于 2013-08-11T20:06:13.140 回答
0

编辑控件在获得焦点时应显示插入符号。所以调用 SetFocus 将焦点转移到编辑控件。

于 2013-08-06T08:11:43.490 回答