STDMETHODIMP touchmind::control::DWriteEditControlTextStoreACP::GetWnd(TsViewCookie vcView, HWND *phwnd) { if (EDIT_VIEW_COOKIE == vcView) { *phwnd = _GetWindow(); return S_OK; } return E_INVALIDARG; }
void GUI::MouseUp(int16 x, int16 y) { IE::point point = { x, y }; Window* window = _GetWindow(point); if (window != NULL) window->MouseUp(point); }
void GUI::MouseMoved(int16 x, int16 y) { IE::point point = { x, y }; fCursorPosition = point; Window* window = _GetWindow(point); if (window != NULL) window->MouseMoved(point); }
//----按命令参数获得有特定关系的窗口---------------------------------------------- //描述: 略 //参数:hwnd:窗口句柄 // nCmd:命令参数 //返回:与指定窗口有特定关系的窗口句柄. //------------------------------------------------------------------------------ HWND GetWindow(HWND hwnd,int nCmd) { HWND wnd=NULL; if(HWND_Lock(hwnd)) { wnd =_GetWindow(hwnd,nCmd); HWND_Unlock(hwnd); } return wnd; }
//----显示/隐藏子窗口------------------------------------------------------------- //描述: 设置所有子窗口为显示或隐藏,该函数为内部调用. //参数:hwnd:窗口句柄. // bShow: TURE:显示窗口; FALSE:隐藏窗口. //返回:无. //------------------------------------------------------------------------------ static void _ShowChild(HWND hwnd,BOOL bShow) { if(hwnd->Child!=NULL) { _ShowChild(hwnd->Child,bShow); } hwnd =_GetWindow(hwnd,GW_HWNDLAST); while(hwnd) { if(bShow) { hwnd->Style |= WS_VISIBLE; PostMessage(hwnd,MSG_PAINT,0,0); PostMessage(hwnd,MSG_NCPAINT,0,0); } else { hwnd->Style &= ~WS_VISIBLE; } hwnd =_GetWindow(hwnd,GW_HWNDPREV); } }