描述:
我用ATL模版建立一个ActiveX控件,想把它用在Web中,我在它的OnDraw中写了如下的代码,可是什么也没有显示出来,请大家看看是什么原因,谢谢
HRESULT OnDraw(ATL_DRAWINFO& di)
{
HWND hEdit=::CreateWindow (TEXT ("edit"), NULL,
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |
WS_BORDER | ES_LEFT | ES_MULTILINE |
ES_AUTOHSCROLL | ES_AUTOVSCROLL,
0, 0, 0, 0, (HWND)GetModuleHandle(NULL), NULL,
GetModuleHandle(NULL) , NULL) ;
::ShowWindow(hEdit, SW_SHOW) ;
::UpdateWindow(hEdit) ;
return S_OK;
}
解决方案1:
你拦截父窗口的WM_CREATE,在那里创建子窗口--比如你帖子中的edit窗口
解决方案2:我没做过这个,但是我感觉好像不太对劲阿,OnDraw每刷新一次就调用一次。每调用一次结束时你的句柄就销毁了,我想如果能在这里显示的话很可能也是一闪而过。还请高手指点
解决方案3:说句实在话,会在OnDraw中Create窗口的,不是天才就是白痴了