2011-01-25 82 views
0

我使用Win32 API的这样创建的编辑控件:Win32 API的编辑控制不能被选择或编辑

CreateWindow的( “编辑”, “”,WS_CHILD | WS_VISIBLE,0,m_position, CONTROLS_WIDTH,EDITBOX_HEIGHT, m_editorWindow, (HMENU)GetNextComponentID(), m_instance,NULL)

我可以更改使用SetWindowText函数从它的内容,但我无法选择它或编辑它的内容 - 这是编辑控件的目的,或者不是?:))

我在MSDN http://msdn.microsoft.com/en-us/library/bb775458%28VS.85%29.aspx上阅读,我必须使用Edit_enable,但我不知道在哪里可以找到瘦宏,我也不知道如何启用编辑。当我将光标移到它上面时,光标变为标准编辑光标。

谢谢你的帮忙!

+1

从你的代码片段中不是很明显,也不是典型的行为。如果您想要某人调试它,请将一个小型repro项目发布到文件共享服务或粘贴bin。 – 2011-01-25 16:30:32

回答

1

它与SetFocus(hwnd)功能。

-1

你试过:

GetDlgItem(EditControlID)->EnableWindow(TRUE); 

笑哎呀。

+0

它不起作用。它仍然没有被选中,也不能编辑 – Felics 2011-01-25 15:06:02

+0

这是MFC,而不是Win32 API。 – 2011-01-25 18:53:28

1

或者你可以尝试:

HWND myWindow = CreateWindow("edit", "", WS_CHILD | WS_VISIBLE, 0, m_position, CONTROLS_WIDTH, EDITBOX_HEIGHT, m_editorWindow, (HMENU)GetNextComponentID(), m_instance, NULL);

EnableWindow(myWindow, true);