?? shellstring.cpp
字號:
// ShellString.cpp: implementation of the CShellString class.
//
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2000-2001 by Paolo Messina
// (http://www.geocities.com/ppescher - ppescher@yahoo.com)
//
// The contents of this file are subject to the Artistic License (the "License").
// You may not use this file except in compliance with the License.
// You may obtain a copy of the License at:
// http://www.opensource.org/licenses/artistic-license.html
//
// If you find this code useful, credits would be nice!
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ShellString.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
void CShellString::Destroy()
{
SMallocPtr pMalloc;
if (m_str.uType == STRRET_WSTR && m_str.pOleStr != NULL)
{
pMalloc->Free(m_str.pOleStr);
m_str.pOleStr = NULL;
}
ZeroMemory(&m_str, sizeof(STRRET));
}
STRRET* CShellString::GetPointer(LPCITEMIDLIST pidl, UINT uDesiredType)
{
// reset the object
Destroy();
// init object
m_pidl = pidl;
ASSERT(m_pidl.IsValid());
m_str.uType = uDesiredType;
return &m_str;
}
CShellString::operator CString() const
{
CString string;
switch (m_str.uType)
{
case STRRET_WSTR:
string = m_str.pOleStr;
break;
case STRRET_CSTR:
string = m_str.cStr;
break;
case STRRET_OFFSET:
string = ((LPBYTE)(LPCITEMIDLIST)m_pidl + m_str.uOffset);
}
return string;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -