mirror of
https://github.com/reactos/reactos.git
synced 2024-09-08 11:50:08 +00:00
{QCKLNCH]
-Successfully added CISFBand to CQuickLaunchBand. -Forwarded methods exported by CISFBand to CQuickLaunchBand. svn path=/branches/GSoC_2017/shellext/; revision=75050
This commit is contained in:
parent
abfd95f82e
commit
96612d92b8
|
@ -68,25 +68,38 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
|
|
||||||
HRESULT CQuickLaunchBand::FinalConstruct()
|
HRESULT CQuickLaunchBand::FinalConstruct()
|
||||||
{
|
{
|
||||||
|
//MessageBox(0, L"CQuickLaunchBand::FinalConstruct Begin!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
HRESULT hr = CoCreateInstance(CLSID_ISFBand, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**) &m_punkISFB);
|
HRESULT hr = CoCreateInstance(CLSID_ISFBand, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**) &m_punkISFB);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
//MessageBox(0, L"CoCreateInstance success!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
CComPtr<IShellFolderBand> pISFB;
|
CComPtr<IShellFolderBand> pISFB;
|
||||||
hr = m_punkISFB->QueryInterface(IID_IShellFolderBand, (void**) &pISFB);
|
hr = m_punkISFB->QueryInterface(IID_IShellFolderBand, (void**) &pISFB);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
MessageBox(0, L"CISFBand Init success!!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
// MessageBox(0, L"IID_ISFBand query success!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
CComPtr<IShellFolder> pISF;
|
CComPtr<IShellFolder> pISF;
|
||||||
hr = SHGetDesktopFolder(&pISF);
|
hr = SHGetDesktopFolder(&pISF);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
pISFB->InitializeSFB(pISF, 0);
|
//MessageBox(0, L"pisf success!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
||||||
MessageBox(0, L"CISFBand Init success!!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
|
||||||
|
//LPITEMIDLIST pidl;
|
||||||
|
//hr = SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
//MessageBox(0, L"pidl success!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
|
pISFB->InitializeSFB(pISF, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageBox(0, L"CISFBand Init success!!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
// MessageBox(0, L"CQuickLaunchBand::FinalConstruct End!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +108,7 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
{
|
{
|
||||||
MessageBox(0, L"CQuickLaunchBand::SetSite called!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
MessageBox(0, L"CQuickLaunchBand::SetSite called!", L"Testing", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
HRESULT hRet;
|
/* HRESULT hRet;
|
||||||
HWND hwndParent;
|
HWND hwndParent;
|
||||||
|
|
||||||
TRACE("CQuickLaunchBand::SetSite(0x%p)\n", pUnkSite);
|
TRACE("CQuickLaunchBand::SetSite(0x%p)\n", pUnkSite);
|
||||||
|
@ -109,8 +122,13 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
m_Site = pUnkSite;
|
m_Site = pUnkSite;
|
||||||
m_hWnd = CreateWindowEx(0, L"BUTTON", L">>", WS_CHILD, CW_USEDEFAULT, CW_USEDEFAULT, 50, 50, hwndParent, 0, m_hInstance, 0);
|
m_hWnd = CreateWindowEx(0, L"BUTTON", L">>", WS_CHILD, CW_USEDEFAULT, CW_USEDEFAULT, 50, 50, hwndParent, 0, m_hInstance, 0);
|
||||||
SetWindowSubclass(hwndParent, MyWndProc, 0, 0); //when button is clicked, parent receives WM_COMMAND, and thus subclassed to show a test message box
|
SetWindowSubclass(hwndParent, MyWndProc, 0, 0); //when button is clicked, parent receives WM_COMMAND, and thus subclassed to show a test message box
|
||||||
|
*/
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IObjectWithSite> pIOWS;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IObjectWithSite, (void**)&pIOWS);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
return S_OK;
|
return pIOWS->SetSite(pUnkSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetSite(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetSite(
|
||||||
|
@ -120,14 +138,19 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
//MessageBox(0, L"GetSite called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"GetSite called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
TRACE("CQuickLaunchBand::GetSite(0x%p,0x%p)\n", riid, ppvSite);
|
TRACE("CQuickLaunchBand::GetSite(0x%p,0x%p)\n", riid, ppvSite);
|
||||||
|
|
||||||
|
/* HRESULT hr;
|
||||||
if (m_Site != NULL)
|
if (m_Site != NULL)
|
||||||
{
|
{
|
||||||
return m_Site->QueryInterface(riid, ppvSite);
|
hr = m_Site->QueryInterface(riid, ppvSite);
|
||||||
}
|
if (FAILED(hr)) return hr;
|
||||||
|
}*/
|
||||||
|
|
||||||
*ppvSite = NULL;
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IObjectWithSite> pIOWS;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IObjectWithSite, (void**)&pIOWS);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
return E_FAIL;
|
return pIOWS->GetSite(riid, ppvSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -136,13 +159,18 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
{
|
{
|
||||||
//MessageBox(0, L"GetWindow called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"GetWindow called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
if (!m_hWnd)
|
/*if (!m_hWnd)
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
if (!phwnd)
|
if (!phwnd)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
*phwnd = m_hWnd;
|
*phwnd = m_hWnd;*/
|
||||||
|
|
||||||
return S_OK;
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBand> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->GetWindow(phwnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ContextSensitiveHelp(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ContextSensitiveHelp(
|
||||||
|
@ -151,7 +179,13 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
/* FIXME: Implement */
|
/* FIXME: Implement */
|
||||||
|
|
||||||
//MessageBox(0, L"ContextSensitiveHelp called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"ContextSensitiveHelp called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return E_NOTIMPL;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBand> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->ContextSensitiveHelp(fEnterMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ShowDW(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ShowDW(
|
||||||
|
@ -159,12 +193,17 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
{
|
{
|
||||||
//MessageBox(0, L"ShowDW called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"ShowDW called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
if (m_hWnd)
|
/*if (m_hWnd)
|
||||||
{
|
{
|
||||||
ShowWindow(m_hWnd, bShow ? SW_SHOW : SW_HIDE);
|
ShowWindow(m_hWnd, bShow ? SW_SHOW : SW_HIDE);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return S_OK;
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBand> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->ShowDW(bShow);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::CloseDW(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::CloseDW(
|
||||||
|
@ -172,14 +211,19 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
{
|
{
|
||||||
//MessageBox(0, L"CloseDW called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"CloseDW called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
if (m_hWnd)
|
/*if (m_hWnd)
|
||||||
{
|
{
|
||||||
ShowWindow(m_hWnd, SW_HIDE);
|
ShowWindow(m_hWnd, SW_HIDE);
|
||||||
DestroyWindow(m_hWnd);
|
DestroyWindow(m_hWnd);
|
||||||
m_hWnd = NULL;
|
m_hWnd = NULL;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return S_OK;
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBand> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->CloseDW(dwReserved);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ResizeBorderDW(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::ResizeBorderDW(
|
||||||
|
@ -190,7 +234,13 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
/* No need to implement this method */
|
/* No need to implement this method */
|
||||||
|
|
||||||
//MessageBox(0, L"ResizeBorderDW called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"ResizeBorderDW called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return E_NOTIMPL;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBand> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->ResizeBorderDW(prcBorder, punkToolbarSite, fReserved);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetBandInfo( //Need a check
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetBandInfo( //Need a check
|
||||||
|
@ -201,68 +251,13 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
//MessageBox(0, L"GetBandInfo called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"GetBandInfo called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
TRACE("CTaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi, m_hWnd);
|
TRACE("CTaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi, m_hWnd);
|
||||||
HRESULT hr = E_INVALIDARG;
|
|
||||||
|
|
||||||
if (m_hWnd && pdbi)
|
//Internal CISFBand Calls
|
||||||
{
|
CComPtr<IDeskBand> pIDB;
|
||||||
m_BandID = dwBandID;
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBand, (void**)&pIDB);
|
||||||
pdbi->dwModeFlags = DBIMF_VARIABLEHEIGHT;
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
if (dwViewMode & DBIF_VIEWMODE_VERTICAL)
|
return pIDB->GetBandInfo(dwBandID, dwViewMode, pdbi);
|
||||||
{
|
|
||||||
pdbi->ptIntegral.y = 1;
|
|
||||||
pdbi->ptMinSize.y = 20;
|
|
||||||
/* FIXME: Get the button metrics from the task bar object!!! */
|
|
||||||
pdbi->ptMinSize.x = (3 * GetSystemMetrics(SM_CXEDGE) / 2) + /* FIXME: Might be wrong if only one column! */
|
|
||||||
GetSystemMetrics(SM_CXSIZE) + (2 * GetSystemMetrics(SM_CXEDGE)); /* FIXME: Min button size, query!!! */
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* When the band is horizontal its minimum height is the height of the start button */
|
|
||||||
RECT rcButton;
|
|
||||||
GetWindowRect(m_hWndStartButton, &rcButton);
|
|
||||||
pdbi->ptMinSize.y = rcButton.bottom - rcButton.top;
|
|
||||||
pdbi->ptIntegral.y = pdbi->ptMinSize.y + (3 * GetSystemMetrics(SM_CYEDGE) / 2); /* FIXME: Query metrics */
|
|
||||||
/* We're not going to allow task bands where not even the minimum button size fits into the band */
|
|
||||||
pdbi->ptMinSize.x = pdbi->ptIntegral.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pdbi->dwMask & DBIM_MAXSIZE)
|
|
||||||
{
|
|
||||||
pdbi->ptMaxSize.y = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pdbi->dwMask & DBIM_ACTUAL)
|
|
||||||
{
|
|
||||||
pdbi->ptActual.x = 35;
|
|
||||||
pdbi->ptActual.y = 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pdbi->dwMask & DBIM_TITLE)
|
|
||||||
{
|
|
||||||
// Don't show title by removing this flag.
|
|
||||||
pdbi->dwMask &= ~DBIM_TITLE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pdbi->dwMask & DBIM_MODEFLAGS)
|
|
||||||
{
|
|
||||||
pdbi->dwModeFlags = DBIMF_NORMAL | DBIMF_VARIABLEHEIGHT;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pdbi->dwMask & DBIM_BKCOLOR)
|
|
||||||
{
|
|
||||||
// Use the default background color by removing this flag.
|
|
||||||
pdbi->dwMask &= ~DBIM_BKCOLOR;
|
|
||||||
}
|
|
||||||
|
|
||||||
TRACE("H: %d, Min: %d,%d, Integral.y: %d Actual: %d,%d\n", (dwViewMode & DBIF_VIEWMODE_VERTICAL) == 0,
|
|
||||||
pdbi->ptMinSize.x, pdbi->ptMinSize.y, pdbi->ptIntegral.y,
|
|
||||||
pdbi->ptActual.x, pdbi->ptActual.y);
|
|
||||||
|
|
||||||
hr = S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
return hr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -273,7 +268,13 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
TRACE("IDeskBar::SetClient(0x%p)\n", punkClient);
|
TRACE("IDeskBar::SetClient(0x%p)\n", punkClient);
|
||||||
|
|
||||||
//MessageBox(0, L"SetClient called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"SetClient called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return E_NOTIMPL;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBar> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->SetClient(punkClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetClient(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetClient(
|
||||||
|
@ -282,18 +283,28 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
TRACE("IDeskBar::GetClient(0x%p)\n", ppunkClient);
|
TRACE("IDeskBar::GetClient(0x%p)\n", ppunkClient);
|
||||||
|
|
||||||
//MessageBox(0, L"GetClient called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"GetClient called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return E_NOTIMPL;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBar> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->GetClient(ppunkClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::OnPosRectChangeDB(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::OnPosRectChangeDB(
|
||||||
IN RECT *prc)
|
IN RECT *prc)
|
||||||
{
|
{
|
||||||
TRACE("IDeskBar::OnPosRectChangeDB(0x%p=(%d,%d,%d,%d))\n", prc, prc->left, prc->top, prc->right, prc->bottom);
|
TRACE("IDeskBar::OnPosRectChangeDB(0x%p=(%d,%d,%d,%d))\n", prc, prc->left, prc->top, prc->right, prc->bottom);
|
||||||
if (prc->bottom - prc->top == 0)
|
|
||||||
return S_OK;
|
|
||||||
|
|
||||||
//MessageBox(0, L"OnPosRectChangeDB called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"OnPosRectChangeDB called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return S_FALSE;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IDeskBar> pIDB;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IDeskBar, (void**)&pIDB);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIDB->OnPosRectChangeDB(prc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -304,9 +315,14 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
//MessageBox(0, L"GetClassID called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"GetClassID called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
TRACE("CQuickLaunchBand::GetClassID(0x%p)\n", pClassID);
|
TRACE("CQuickLaunchBand::GetClassID(0x%p)\n", pClassID);
|
||||||
/* We're going to return the (internal!) CLSID of the quick launch band */
|
/* We're going to return the (internal!) CLSID of the quick launch band */
|
||||||
*pClassID = CLSID_QuickLaunchBand;
|
/* *pClassID = CLSID_QuickLaunchBand; */
|
||||||
|
|
||||||
return S_OK;
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IPersistStream> pIPS;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIPS->GetClassID(pClassID);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::IsDirty()
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::IsDirty()
|
||||||
|
@ -314,7 +330,13 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
/* The object hasn't changed since the last save! */
|
/* The object hasn't changed since the last save! */
|
||||||
|
|
||||||
//MessageBox(0, L"IsDirty called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"IsDirty called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return S_FALSE;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IPersistStream> pIPS;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIPS->IsDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Load(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Load(
|
||||||
|
@ -324,7 +346,13 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
/* Nothing to do */
|
/* Nothing to do */
|
||||||
|
|
||||||
//MessageBox(0, L"Load called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"Load called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return S_OK;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IPersistStream> pIPS;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIPS->Load(pStm);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Save(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Save(
|
||||||
|
@ -334,17 +362,29 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
/* Nothing to do */
|
/* Nothing to do */
|
||||||
|
|
||||||
//MessageBox(0, L"Save called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"Save called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return S_OK;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IPersistStream> pIPS;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIPS->Save(pStm, fClearDirty);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetSizeMax(
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::GetSizeMax(
|
||||||
OUT ULARGE_INTEGER *pcbSize)
|
OUT ULARGE_INTEGER *pcbSize)
|
||||||
{
|
{
|
||||||
TRACE("CQuickLaunchBand::GetSizeMax called\n");
|
TRACE("CQuickLaunchBand::GetSizeMax called\n");
|
||||||
pcbSize->QuadPart = 0;
|
//pcbSize->QuadPart = 0;
|
||||||
|
|
||||||
//MessageBox(0, L"GetSizeMax called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"GetSizeMax called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return S_OK;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IPersistStream> pIPS;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IPersistStream, (void**)&pIPS);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pIPS->GetSizeMax(pcbSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -368,27 +408,40 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
{
|
{
|
||||||
//MessageBox(0, L"ContainsWindow called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"ContainsWindow called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
|
|
||||||
if (hWnd == m_hWnd ||
|
/*if (hWnd == m_hWnd ||
|
||||||
IsChild(m_hWnd, hWnd))
|
IsChild(m_hWnd, hWnd))
|
||||||
{
|
{
|
||||||
TRACE("CQuickLaunchBand::ContainsWindow(0x%p) returns S_OK\n", hWnd);
|
TRACE("CQuickLaunchBand::ContainsWindow(0x%p) returns S_OK\n", hWnd);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return S_FALSE;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
|
||||||
{
|
{
|
||||||
//MessageBox(0, L"OnWinEvent called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"OnWinEvent called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
UNIMPLEMENTED;
|
//UNIMPLEMENTED;
|
||||||
return E_NOTIMPL;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IWinEventHandler> pWEH;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IWinEventHandler, (void**)&pWEH);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pWEH->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::IsWindowOwner(HWND hWnd)
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::IsWindowOwner(HWND hWnd)
|
||||||
{
|
{
|
||||||
//MessageBox(0, L"IsWindowOwner called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"IsWindowOwner called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
return (hWnd == m_hWnd) ? S_OK : S_FALSE;
|
//return (hWnd == m_hWnd) ? S_OK : S_FALSE;
|
||||||
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IWinEventHandler> pWEH;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IWinEventHandler, (void**)&pWEH);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pWEH->IsWindowOwner(hWnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -396,13 +449,19 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds [], OLECMDTEXT *pCmdText)
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds [], OLECMDTEXT *pCmdText)
|
||||||
{
|
{
|
||||||
//MessageBox(0, L"QueryStatus called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"QueryStatus called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
UNIMPLEMENTED;
|
//UNIMPLEMENTED;
|
||||||
return E_NOTIMPL;
|
|
||||||
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IOleCommandTarget> pOCT;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IOleCommandTarget, (void**)&pOCT);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pOCT->QueryStatus(pguidCmdGroup, cCmds, prgCmds, pCmdText);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
|
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
|
||||||
{
|
{
|
||||||
if (IsEqualIID(*pguidCmdGroup, IID_IBandSite))
|
/*if (IsEqualIID(*pguidCmdGroup, IID_IBandSite))
|
||||||
{
|
{
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
@ -410,11 +469,15 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
|
||||||
if (IsEqualIID(*pguidCmdGroup, IID_IDeskBand))
|
if (IsEqualIID(*pguidCmdGroup, IID_IDeskBand))
|
||||||
{
|
{
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
//MessageBox(0, L"Exec called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
//MessageBox(0, L"Exec called!", L"Test Caption", MB_OK | MB_ICONINFORMATION);
|
||||||
UNIMPLEMENTED;
|
|
||||||
|
|
||||||
return E_NOTIMPL;
|
//Internal CISFBand Calls
|
||||||
|
CComPtr<IOleCommandTarget> pOCT;
|
||||||
|
HRESULT hr = m_punkISFB->QueryInterface(IID_IOleCommandTarget, (void**)&pOCT);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
return pOCT->Exec(pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue