Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*************************************************************************/ /* Copyright (C) 1999 Microsoft Corporation */ /* File: ThunkProc.cpp */ /* Description: Implementation of timer procedure that checks if the */ /* window has been resized. */ /* Author: David Janecek */ /*************************************************************************/ #include "stdafx.h"
#include "msdvd.h"
/*************************************************************************/ /* Function: TimerProc */ /* Description: gets called every each time to figure out if we the */ /* parent window has been moved
/*************************************************************************/ HRESULT CMSWebDVD::TimerProc(){ HRESULT hr = S_OK;
hr = ProcessEvents();
if(FAILED(hr)){
return(hr); }/* end of if statement */
HWND hwndParent = NULL; hr = GetMostOuterWindow(&hwndParent);
if(FAILED(hr)){ return(hr); }/* end of if statement */ RECT rcTmp; ::GetWindowRect(hwndParent, &rcTmp); if(rcTmp.left != m_rcOldPos.left || rcTmp.top != m_rcOldPos.top || rcTmp.right != m_rcOldPos.right || rcTmp.bottom != m_rcOldPos.bottom){
hr = OnResize(); // do the initial resize
m_rcOldPos = rcTmp; // set the value so we can remeber it
return(hr); }/* end of if statement */ hr = S_FALSE; return(hr); }/* end of function TimerProc */
/*************************************************************************/ /* Function: GetMostOuterWindow */ /* Description: Gets the window that really contains the MSWEBDVD and is */ /* the most outer parent window. */ /*************************************************************************/ HRESULT CMSWebDVD::GetMostOuterWindow(HWND* phwndParent){ HRESULT hr = S_OK;
if(NULL != m_hWndOuter){
*phwndParent = m_hWndOuter; return(S_OK); }/* end of if statement */
HWND hwnd; hr = GetParentHWND(&hwnd);
if(FAILED(hr)){
return(hr); }/* end of if statement */
HWND hwndParent = hwnd;
// Get really the out most parent so we can see if the window got moved
for ( ;; ) { HWND hwndT = ::GetParent(hwndParent); if (hwndT == (HWND)NULL) break; hwndParent = hwndT; }/* end of for loop */
*phwndParent = m_hWndOuter = hwndParent;
return(S_OK); }/* end of function GetMostOuterWindow */
/*************************************************************************/ /* End of file: ThunkProc.cpp */ /*************************************************************************/
|