-
大小: 745KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-06-11
- 語言: 其他
- 標簽: foobar2000??
資源簡介
foobar2000源代碼,最新版本,研究音頻播放的好東西。foobar2000源代碼,最新版本,研究音頻播放的好東西。foobar2000源代碼,最新版本,研究音頻播放的好東西。foobar2000源代碼,最新版本,研究音頻播放的好東西。foobar2000源代碼,最新版本,研究音頻播放的好東西。foobar2000源代碼,最新版本,研究音頻播放的好東西。

代碼片段和文件信息
#include?“stdafx.h“
#include??//?CLSID_AutoComplete
#include?“../helpers/COM_utils.h“
#include?“../helpers/dropdown_helper.h“
namespace?{
class?CEnumString?:?public?IEnumString?{
public:
typedef?pfc::chain_list_v2_t?>?t_data;
CEnumString(const?t_data?&?in)?:?m_data(in)?{m_walk?=?m_data.first();}
CEnumString()?{}
void?AddString(const?TCHAR?*?in)?{
m_data.insert_last()->set_data_fromptr(in?_tcslen(in)?+?1);
m_walk?=?m_data.first();
}
void?AddStringU(const?char?*?in?t_size?len)?{
pfc::array_t?&?arr?=?*?m_data.insert_last();
arr.set_size(?pfc::stringcvt::estimate_utf8_to_wide(?in?len?)?);
pfc::stringcvt::convert_utf8_to_wide(?arr.get_ptr()?arr.get_size()?in?len);
m_walk?=?m_data.first();
}
void?AddStringU(const?char?*?in)?{
pfc::array_t?&?arr?=?*?m_data.insert_last();
arr.set_size(?pfc::stringcvt::estimate_utf8_to_wide(?in?)?);
pfc::stringcvt::convert_utf8_to_wide_unchecked(?arr.get_ptr()?in?);
m_walk?=?m_data.first();
}
void?ResetStrings()?{m_walk.invalidate();?m_data.remove_all();}
typedef?ImplementCOMRefCounter?TImpl;
COM_QI_BEGIN()
COM_QI_ENTRY(IUnknown)
COM_QI_ENTRY(IEnumString)
COM_QI_END()
????HRESULT?STDMETHODCALLTYPE?Next(?ULONG?celt?LPOLESTR?*rgelt?ULONG?*pceltFetched)??{
if?(rgelt?==?NULL)?return?E_INVALIDARG;
ULONG?done?=?0;
while(?done? rgelt[done]?=?CoStrDup(m_walk->get_ptr());
++m_walk;?++done;
}
if?(pceltFetched?!=?NULL)?*pceltFetched?=?done;
return?done?==?celt???S_OK?:?S_FALSE;
}
static?TCHAR?*?CoStrDup(const?TCHAR?*?in)?{
const?size_t?lenBytes?=?(_tcslen(in)?+?1)?*?sizeof(TCHAR);
TCHAR?*?out?=?reinterpret_cast(CoTaskMemAlloc(lenBytes));
if?(out)?memcpy(out?in?lenBytes);
return?out;
}
????
HRESULT?STDMETHODCALLTYPE?Skip(ULONG?celt)?{
while(celt?>?0)?{
if?(m_walk.is_empty())?return?S_FALSE;
--celt;?++m_walk;
}
return?S_OK;
}
????
HRESULT?STDMETHODCALLTYPE?Reset()?{
m_walk?=?m_data.first();
return?S_OK;
}
????
HRESULT?STDMETHODCALLTYPE?Clone(IEnumString?**ppenum)?{
*ppenum?=?new?TImpl(*this);?return?S_OK;
}
private:
t_data?m_data;
t_data::const_iterator?m_walk;
};
class?CACList_History?:?public?CEnumString?{
public:
CACList_History(cfg_dropdown_history_mt?*?var)?:?m_var(var)?{Reset();}
typedef?ImplementCOMRefCounter?TImpl;
HRESULT?STDMETHODCALLTYPE?Reset()?{
/*if?(core_api::assert_main_thread())*/?{
ResetStrings();
pfc::string8?state;?m_var->get_state(state);
for(const?char?*?walk?=?state;;)?{
const?char?*?next?=?strchr(walk?cfg_dropdown_history_mt::separator);
t_size?len?=?(next?!=?NULL)???next?-?walk?:?~0;
AddStringU(walk?len);
if?(next?==?NULL)?break;
walk?=?next?+?1;
}
}
return?__super::Reset();
}
HRESULT?STDMETHODCALLTYPE?Clone(IEnumString?**ppenum)?{
*ppenum?=?new?T
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????25416??2017-10-09?13:59??sdk-readme.css
?????文件???????44890??2018-01-11?11:12??sdk-readme.html
?????目錄???????????0??2018-03-06?15:59??foobar2000\
?????目錄???????????0??2018-03-06?15:59??foobar2000\ATLHelpers\
?????文件?????????463??2018-01-04?12:47??foobar2000\ATLHelpers\ATLHelpers.h
?????文件?????????291??2017-10-09?13:59??foobar2000\ATLHelpers\ATLHelpersLean.h
?????文件????????5968??2017-10-09?13:59??foobar2000\ATLHelpers\AutoComplete.cpp
?????文件?????????839??2017-10-09?13:59??foobar2000\ATLHelpers\AutoComplete.h
?????文件????????2444??2017-12-04?11:45??foobar2000\ATLHelpers\BumpableElem.h
?????文件????????5712??2018-02-05?10:00??foobar2000\ATLHelpers\CButtonLite.h
?????文件????????4885??2017-10-09?13:59??foobar2000\ATLHelpers\CDialogResizeHelper.cpp
?????文件????????2288??2017-10-09?13:59??foobar2000\ATLHelpers\CDialogResizeHelper.h
?????文件?????????142??2017-10-09?13:59??foobar2000\ATLHelpers\CEditWithButtons.cpp
?????文件????????9524??2018-02-05?10:01??foobar2000\ATLHelpers\CEditWithButtons.h
?????文件????????1542??2017-10-09?13:59??foobar2000\ATLHelpers\CFlashWindow.h
?????文件????????1313??2017-11-22?07:02??foobar2000\ATLHelpers\CIconOverlayWindow.h
?????文件????????8905??2017-12-04?11:41??foobar2000\ATLHelpers\CMiddleDragImpl.h
?????文件????????3881??2017-10-09?13:59??foobar2000\ATLHelpers\Controls.h
?????文件????????6589??2018-03-06?16:00??foobar2000\ATLHelpers\foobar2000_ATL_helpers.vcxproj
?????文件????????3528??2018-02-22?15:39??foobar2000\ATLHelpers\foobar2000_ATL_helpers.vcxproj.filters
?????文件????????6439??2017-11-22?10:33??foobar2000\ATLHelpers\GDIUtils.h
?????文件???????13797??2018-01-03?15:00??foobar2000\ATLHelpers\inplace_edit.cpp
?????文件????????4663??2017-10-09?13:59??foobar2000\ATLHelpers\inplace_edit.h
?????文件????????5106??2017-10-09?13:59??foobar2000\ATLHelpers\inplace_edit_v2.cpp
?????文件????????2581??2017-10-09?13:59??foobar2000\ATLHelpers\inplace_edit_v2.h
?????文件????????3316??2017-10-09?13:59??foobar2000\ATLHelpers\misc.cpp
?????文件???????14916??2018-01-04?08:35??foobar2000\ATLHelpers\misc.h
?????文件?????????309??2017-10-09?13:59??foobar2000\ATLHelpers\stdafx.cpp
?????文件?????????503??2017-10-09?13:59??foobar2000\ATLHelpers\stdafx.h
?????文件???????11900??2018-02-23?11:12??foobar2000\ATLHelpers\ui_element_helpers.cpp
?????文件???????16882??2018-02-23?11:12??foobar2000\ATLHelpers\ui_element_helpers.h
............此處省略375個文件信息
評論
共有 條評論