2013-08-06 1 views
0

하이브리드 win32/D2D 양식을 만들고 편집 컨트롤을 만들려고합니다. 내 바보가 나타나지 않고 ShowCaret()에 응답하지 않기 때문에 바보 같은 것을 놓치고 있어야합니다. 상자와의 WndProc의 코드를 작성하는 코드는 다음과 같습니다 :Win32 편집 컨트롤에 캐럿이 없음

창조 :

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

편집 컨트롤은 포커스를 가져올 때 캐럿을 표시해야합니다. 따라서 SetFocus를 호출하여 포커스를 편집 컨트롤에 전송하십시오.

+0

SetFocus도 트릭을하지 않았습니다. –

0

내 경우 WM_CTLCOLOREDIT가 통과하여 기본 창 proc을 반환함으로써 문제를 해결할 수 없게되었습니다. 나는 그 사건에서 내가해야 할 일을 놓쳤다 고 생각한다.

관련 문제