124 lines
2.9 KiB
C++
124 lines
2.9 KiB
C++
//----------------------------------------------------------------------------
|
||
//
|
||
// Microsoft Windows
|
||
// Copyright (C) Microsoft Corporation, 2001.
|
||
//
|
||
// File:
|
||
//
|
||
// Contents: About Pane
|
||
//
|
||
//
|
||
// History: TaroonM
|
||
// 10/30/01
|
||
//
|
||
//----------------------------------------------------------------------------
|
||
|
||
#include "stdafx.h"
|
||
#include "about.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
// TODO: none of this CSnapinAboutImpl code appears to be working
|
||
|
||
CSnapinAboutImpl::CSnapinAboutImpl()
|
||
{
|
||
}
|
||
|
||
|
||
CSnapinAboutImpl::~CSnapinAboutImpl()
|
||
{
|
||
}
|
||
|
||
HRESULT CSnapinAboutImpl::AboutHelper(UINT nID, CString* pAddString, LPOLESTR* lpPtr)
|
||
{
|
||
if (lpPtr == NULL)
|
||
return E_POINTER;
|
||
|
||
CString s;
|
||
|
||
// Needed for Loadstring
|
||
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||
|
||
s.LoadString(nID);
|
||
|
||
if (pAddString != NULL)
|
||
{
|
||
s += *pAddString;
|
||
}
|
||
|
||
*lpPtr = reinterpret_cast<LPOLESTR>(CoTaskMemAlloc((s.GetLength() + 1)* sizeof(wchar_t)));
|
||
|
||
if (*lpPtr == NULL)
|
||
return E_OUTOFMEMORY;
|
||
|
||
lstrcpy(*lpPtr, (LPCTSTR)s);
|
||
|
||
return S_OK;
|
||
}
|
||
|
||
|
||
STDMETHODIMP CSnapinAboutImpl::GetSnapinDescription(LPOLESTR* lpDescription)
|
||
{
|
||
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||
return AboutHelper(IDS_DESCRIPTION, lpDescription);
|
||
}
|
||
|
||
|
||
STDMETHODIMP CSnapinAboutImpl::GetProvider(LPOLESTR* lpName)
|
||
{
|
||
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||
return AboutHelper(IDS_COMPANY, lpName);
|
||
}
|
||
|
||
|
||
STDMETHODIMP CSnapinAboutImpl::GetSnapinVersion(LPOLESTR* lpVersion)
|
||
{
|
||
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||
|
||
CString strAddString;
|
||
strAddString.LoadString (IDS_ABOUTGLUESTRING);
|
||
|
||
return AboutHelper(IDS_VERSION, lpVersion);
|
||
}
|
||
|
||
|
||
STDMETHODIMP CSnapinAboutImpl::GetSnapinImage(HICON* hAppIcon)
|
||
{
|
||
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||
|
||
if (hAppIcon == NULL)
|
||
return E_POINTER;
|
||
|
||
*hAppIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_APPICON));
|
||
|
||
ASSERT(*hAppIcon != NULL);
|
||
return (*hAppIcon != NULL) ? S_OK : E_FAIL;
|
||
}
|
||
|
||
|
||
STDMETHODIMP CSnapinAboutImpl::GetStaticFolderImage(HBITMAP* hSmallImage,
|
||
HBITMAP* hSmallImageOpen,
|
||
HBITMAP* hLargeImage,
|
||
COLORREF* cLargeMask)
|
||
{
|
||
AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||
|
||
if ((hSmallImage == NULL)
|
||
|| (hSmallImageOpen == NULL)
|
||
|| (hLargeImage == NULL)
|
||
|| (cLargeMask == NULL))
|
||
return E_POINTER;
|
||
|
||
*hSmallImage = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_16x16));
|
||
*hSmallImageOpen = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_16x16));
|
||
*hLargeImage = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_32x32));
|
||
*cLargeMask = RGB(255, 0, 255);
|
||
|
||
return S_OK;
|
||
}
|
||
|