/Debug
/ipch
+/MBCS Debug
+/MBCS Release
+/Unicode Debug
+/Unicode Release
+/x64
SeraphyScriptTools.sdf
dlldata.c
SeraphyScriptTools.tlb
/////////////////////////////////////////////////////////////////////////////
// CCommDialog
-void CCommDialog::CommFileDialog(VARIANT* pvarReturn,VARIANT varPathName, VARIANT varFilter,BOOL bMode,DWORD flag)
+void CCommDialog::CommFileDialog(VARIANT *pvarReturn, VARIANT varPathName, VARIANT varFilter, BOOL bMode, DWORD flag)
{
::VariantInit(pvarReturn);
// \83t\83@\83C\83\8b\82ð\8aJ\82\81E\95Û\91¶\83_\83C\83A\83\8d\83O\8b¤\92Ê\83\8b\81[\83`\83\93
- CComVariant path;
- CComVariant filter;
- const int PATHBUFMAX = 8192;
- CHAR szPathName[PATHBUFMAX] = {0};
- CHAR szFilter [MAX_PATH+2] = {0};
- CHAR szDefExtention[MAX_PATH] = {0};
- CHAR szInitialDir[MAX_PATH] = {0};
-
- if(path.ChangeType(VT_BSTR,&varPathName) == S_OK){
- // \83t\83@\83C\83\8b\96¼\82Ì\8eæ\82è\8fo\82µ
- WideCharToMultiByte(GetACP(),0,path.bstrVal,-1,szPathName,PATHBUFMAX,NULL,NULL);
+
+ ATL::CString szPathName;
+ {
+ CComVariant path;
+ if (path.ChangeType(VT_BSTR, &varPathName) == S_OK) {
+ // \83t\83@\83C\83\8b\96¼\82Ì\8eæ\82è\8fo\82µ
+ szPathName = path.bstrVal;
+ }
+ }
+
+ ATL::CString szFilter;
+ {
+ CComVariant filter;
+ if (filter.ChangeType(VT_BSTR, &varFilter) == S_OK) {
+ // \83t\83B\83\8b\83^\8ew\92è\82ª\82 \82é
+ szFilter = varFilter.bstrVal;
+ }
}
- if(filter.ChangeType(VT_BSTR,&varFilter) == S_OK){
- // \83t\83B\83\8b\83^\8ew\92è\82ª\82 \82é
- WideCharToMultiByte(GetACP(),0,filter.bstrVal,-1,szFilter,MAX_PATH,NULL,NULL);
- LPSTR p = szFilter;
- LPSTR pExt = NULL;
- while(*p){
- if(*p == '|'){
- *p++ = 0;
- if(!pExt){
+
+ ATL::CString szDefExtention;
+ if (!szFilter.IsEmpty()) {
+ LPTSTR p = szFilter.GetBuffer();
+ LPTSTR pExt = NULL;
+ while (*p) {
+ if (*p == '|') {
+ *p++ = 0; // \95¶\8e\9a\8bæ\90Ø\82è\82Å\8fI\92[\82³\82¹\82é
+ if (!pExt) {
// \8dÅ\8f\89\82Ì\8bæ\90Ø\82è\83}\81[\83N\82ª\8dÅ\8f\89\82Ì\8ag\92£\8eq\83}\81[\83N\82Å\82 \82ë\82¤\81B
pExt = p;
}
}
- p = CharNextA(p);
+ p = CharNext(p);
}
+
// \95¡\90\94\8ag\92£\8eq\83t\83B\83\8b\83^\82Å\82 \82ê\82Î\8dÅ\8f\89\82Ì\8ag\92£\8eq\82Ì\82Ý\8eæ\82è\8fo\82·
- lstrcpyA(szDefExtention,pExt);
- pExt = szDefExtention;
- while(*pExt){
- if(*pExt == ';'){
+ if (pExt) {
+ szDefExtention = pExt;
+ }
+ pExt = szDefExtention.GetBuffer();
+ while (*pExt) {
+ if (*pExt == ';'){
+ *pExt = 0; // \8dÅ\8f\89\82Ì\8ag\92£\8eq\82Å\8fI\97¹\82³\82¹\82é
break;
}
- pExt = CharNextA(pExt);
+ pExt = CharNext(pExt);
}
}
+ ATL::CString szInitialDir;
+ if (m_bstr_InitialDir.length() > 0) {
+ // \8f\89\8aú\83f\83B\83\8c\83N\83g\83\8a
+ szInitialDir = (LPCWSTR) m_bstr_InitialDir;
+ }
+
+ ATL::CString strFile(szPathName);
+ const int MAXBUFSIZ = MAX_PATH * 10;
+ LPTSTR pStrFileBuf = strFile.GetBufferSetLength(MAXBUFSIZ + 1);
+
OPENFILENAME ofn = {0};
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.lpstrFilter = szFilter;
- ofn.lpstrFile = szPathName;
- ofn.nMaxFile = PATHBUFMAX;
+ ofn.lpstrFile = pStrFileBuf;
+ ofn.nMaxFile = MAXBUFSIZ;
ofn.lpstrDefExt = szDefExtention;
ofn.Flags = flag;
ofn.hwndOwner = GetMainWindow();
- if(m_bstr_InitialDir.length() > 0){
- // \8f\89\8aú\83f\83B\83\8c\83N\83g\83\8a
- WideCharToMultiByte(GetACP(),0,m_bstr_InitialDir,-1,szInitialDir,MAX_PATH,NULL,NULL);
+ if (!szInitialDir.IsEmpty()) {
ofn.lpstrInitialDir = szInitialDir;
}
ofn.Flags |= OFN_NODEREFERENCELINKS;
}
- TCHAR szCaption[MAX_PATH] = {0};
+ ATL::CString szCaption;
BOOL result = false;
- if(bMode){
+ if (bMode) {
// \8aJ\82\83_\83C\83A\83\8d\83O
- ofn.Flags |= (m_bReadonly)?OFN_READONLY:0;
- if(m_bstr_OpenFileCaption.length() > 0){
- WideCharToMultiByte(GetACP(),0,m_bstr_OpenFileCaption,-1,szCaption,MAX_PATH,NULL,NULL);
+ ofn.Flags |= (m_bReadonly) ? OFN_READONLY : 0;
+ if (m_bstr_OpenFileCaption.length() > 0) {
+ szCaption = (LPCWSTR) m_bstr_OpenFileCaption;
ofn.lpstrTitle = szCaption;
}
result = GetOpenFileName(&ofn);
- if(result){
- m_bReadonly = (ofn.Flags & OFN_READONLY)?true:false;
+ if (result) {
+ m_bReadonly = (ofn.Flags & OFN_READONLY) ? true : false;
}
}
else{
// \95Û\91¶\83_\83C\83A\83\8d\83O
- if(m_bstr_SaveFileCaption.length() > 0){
- WideCharToMultiByte(GetACP(),0,m_bstr_SaveFileCaption,-1,szCaption,MAX_PATH,NULL,NULL);
+ if (m_bstr_SaveFileCaption.length() > 0) {
+ szCaption = (LPCWSTR) m_bstr_SaveFileCaption;
ofn.lpstrTitle = szCaption;
}
result = GetSaveFileName(&ofn);
}
- if(result){
- if(!(ofn.Flags & OFN_ALLOWMULTISELECT)){
+ if (result) {
+ if (!(ofn.Flags & OFN_ALLOWMULTISELECT)) {
// \92P\88ê\83t\83@\83C\83\8b\91I\91ð
CComVariant retpath;
- retpath = (LPCSTR)ofn.lpstrFile;
+ retpath = ofn.lpstrFile;
retpath.Detach(pvarReturn);
}
else{
- // \95¡\90\94\83t\83@\83C\83\8b\91I\91ð
+ // \95¡\90\94\83t\83@\83C\83\8b\91I\91ð(\83_\83u\83\8b\83k\83\8b\8fI\92[)
// \95Ô\82³\82ê\82½\83t\83@\83C\83\8b\90\94\82ð\8cv\90\94\82·\82é
int cnt = 0;
- LPCSTR p = szPathName;
- while(*p){
+ LPCTSTR p = ofn.lpstrFile;
+ while (*p) {
cnt++;
- while(*p++);
+ while (*p++);
}
+
// \83V\83\93\83O\83\8b\82Ü\82½\82Í\83}\83\8b\83`
SAFEARRAY *pArray = NULL;
- if(cnt == 1){
+ if (cnt == 1) {
// 1\82Â\82¾\82¯\82È\82ç\83t\83\8b\83p\83X\82ª\95Ô\82Á\82Ä\82¢\82é
- CComVariant tmp((LPCSTR)szPathName);
- pArray = SafeArrayCreateVector(VT_VARIANT,0,1);
+ CComVariant tmp(ofn.lpstrFile);
+ pArray = SafeArrayCreateVector(VT_VARIANT, 0, 1);
long indx = 0;
- SafeArrayPutElement(pArray,&indx,&tmp);
+ SafeArrayPutElement(pArray, &indx, &tmp);
}
- else if(cnt > 1){
+ else if (cnt > 1) {
// SAFEARRAY\82Ì\8dì\90¬
- pArray = SafeArrayCreateVector(VT_VARIANT,0,cnt-1);
+ pArray = SafeArrayCreateVector(VT_VARIANT, 0, cnt - 1);
+
// \95¡\90\94\82È\82ç\8dÅ\8f\89\82ª\83f\83B\83\8c\83N\83g\83\8a\96¼\81A2\94Ô\96Ú\88È\8d~\82ª\83t\83@\83C\83\8b\96¼
- p = szPathName;
- _bstr_t dirname = (LPCSTR)p;
+ p = ofn.lpstrFile;
+ _bstr_t dirname = p;
+
// \96\96\94ö\82ª\83t\83H\83\8b\83_\83v\83\8c\83C\83X\82ª\8fI\82í\82Á\82Ä\82È\82¯\82ê\82Î\92Ç\89Á\82·\82é
LPCWSTR wp = dirname;
- while(*wp)wp++;
- if(wp - 1 > (LPCWSTR)dirname && *(wp - 1) != '\\'){
+ while (*wp) wp++;
+ if (wp - 1 > (LPCWSTR) dirname && *(wp - 1) != '\\') {
dirname += L"\\";
}
- while(*p++);
+
+ while (*p++);
// 2\94Ô\96Ú\88È\8d~\82Ì\8eæ\93¾
long indx = 0;
- while(*p){
- _bstr_t name = (LPCSTR)p;
+ while (*p) {
+ _bstr_t name = p;
_bstr_t path = dirname + name;
- CComVariant tmp((BSTR)path);
- SafeArrayPutElement(pArray,&indx,&tmp);
- while(*p++);
+
+ CComVariant tmp((LPCWSTR) path);
+ SafeArrayPutElement(pArray, &indx, &tmp);
+ while (*p++);
indx++;
}
}
+
// SAFEARRAY\82ª\8dì\90¬\82³\82ê\82Ä\82¢\82ê\82Î
- if(pArray){
+ if (pArray) {
pvarReturn->vt = VT_ARRAY | VT_VARIANT;
pvarReturn->parray = pArray;
}
return S_OK;
}
-STDMETHODIMP CCommDialog::BrowseForFolder(VARIANT varCaption,VARIANT varDir, VARIANT varMode,VARIANT* pvarReturn)
+STDMETHODIMP CCommDialog::BrowseForFolder(VARIANT varCaption, VARIANT varDir, VARIANT varMode, VARIANT* pvarReturn)
{
::VariantInit(pvarReturn);
+
// \83L\83\83\83v\83V\83\87\83\93\82Ì\90Ý\92è
CComVariant caption;
if(varCaption.vt != VT_ERROR && varCaption.vt != VT_NULL && varCaption.vt != VT_EMPTY &&
- caption.ChangeType(VT_BSTR,&varCaption) == S_OK){
+ caption.ChangeType(VT_BSTR, &varCaption) == S_OK) {
put_BrowseForFolderCaption(caption.bstrVal);
}
- TCHAR szDirName[MAX_PATH];
- TCHAR szTitle[MAX_PATH];
- BROWSEINFO binfo = {0};
+ BROWSEINFO binfo = { 0 };
binfo.hwndOwner = GetMainWindow();
- if(m_bstr_BrowseForFolderCaption.length() > 0){
- WideCharToMultiByte(GetACP(),0,m_bstr_BrowseForFolderCaption,-1,szTitle,MAX_PATH,NULL,NULL);
- binfo.lpszTitle = szTitle;
+
+ ATL::CString szTitle;
+ {
+ if (m_bstr_BrowseForFolderCaption.length() > 0) {
+ szTitle = (LPCWSTR)m_bstr_BrowseForFolderCaption;
+ binfo.lpszTitle = szTitle;
+ }
}
- CComVariant path;
- if(path.ChangeType(VT_BSTR,&varDir) == S_OK){
- // \83t\83@\83C\83\8b\96¼\82Ì\8eæ\82è\8fo\82µ
- WideCharToMultiByte(GetACP(),0,path.bstrVal,-1,szDirName,MAX_PATH,NULL,NULL);
+
+ ATL::CString szDirName;
+ {
+ CComVariant path;
+ if (path.ChangeType(VT_BSTR, &varDir) == S_OK){
+ // \83t\83@\83C\83\8b\96¼\82Ì\8eæ\82è\8fo\82µ
+ szDirName = path.bstrVal;
+ }
+ binfo.pszDisplayName = szDirName.GetBuffer();
}
- binfo.pszDisplayName = szDirName;
+
int mode = 0;
CComVariant varTmp;
if(varTmp.ChangeType(VT_I4,&varMode) == S_OK){
mode = varTmp.lVal;
}
+
binfo.ulFlags = 0;//BIF_NEWDIALOGSTYLE; // BIF_USENEWUI
switch(mode & 0x0f)
{
default:
binfo.ulFlags |= BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;
binfo.lpfn = BrowseCallbackProc;
- binfo.lParam = (LPARAM)szDirName;
+ binfo.lParam = (LPARAM)(LPCTSTR)szDirName;
break;
+
case 1:
binfo.ulFlags |= BIF_BROWSEFORCOMPUTER;
break;
+
case 2:
binfo.ulFlags |= BIF_BROWSEFORPRINTER;
break;
+
case 3:
binfo.ulFlags |= BIF_RETURNFSANCESTORS;
break;
}
- if(mode & 0x10){
+
+ if (mode & 0x10) {
binfo.ulFlags |= BIF_BROWSEINCLUDEFILES;
}
- if(mode & 0x20){
+ if (mode & 0x20) {
binfo.ulFlags |= BIF_BROWSEINCLUDEURLS;
}
- if(mode & 0x40){
+ if (mode & 0x40) {
binfo.ulFlags |= BIF_DONTGOBELOWDOMAIN;
}
LPITEMIDLIST idlst = NULL;
- if((idlst = SHBrowseForFolder(&binfo)) != NULL){
- IMalloc *pMalloc;
- SHGetMalloc(&pMalloc);
- SHGetPathFromIDList(idlst,szDirName);
+ if ((idlst = SHBrowseForFolder(&binfo)) != NULL) {
+ IMalloc *pMalloc = NULL;
+ HRESULT hr = SHGetMalloc(&pMalloc);
+ if (FAILED(hr)) {
+ return hr;
+ }
+
+ ATL::CString ret;
+ LPTSTR pRet = ret.GetBufferSetLength(MAX_PATH);
+ SHGetPathFromIDList(idlst, pRet);
+
pMalloc->Free(idlst);
pMalloc->Release();
- CComVariant tmp((LPCSTR)szDirName);
- tmp.Detach(pvarReturn);
+
+ CComVariant tmp(pRet);
+ return tmp.Detach(pvarReturn);
}
return S_OK;
}
STDMETHODIMP CCommDialog::MessageBox(VARIANT mes, VARIANT typ, VARIANT icon, VARIANT* pRet)
{
CComVariant ret;
- LPSTR pBuf = NULL;
+
+ ATL::CString msg;
CComVariant varMes;
- if(varMes.ChangeType(VT_BSTR,&mes) == S_OK){
- int sz = WideCharToMultiByte(GetACP(),0,varMes.bstrVal,-1,NULL,0,NULL,NULL);
- pBuf = new CHAR[sz+1];
- WideCharToMultiByte(GetACP(),0,varMes.bstrVal,-1,pBuf,sz,NULL,NULL);
- pBuf[sz] = 0;
+ if (varMes.ChangeType(VT_BSTR,&mes) == S_OK) {
+ msg = mes.bstrVal;
}
+
UINT mode = MB_OK;
CComVariant varType,varIcon;
- if(varType.ChangeType(VT_I2,&typ) == S_OK){
- if(varType.iVal / 10){
+ if (varType.ChangeType(VT_I2, &typ) == S_OK) {
+ if (varType.iVal / 10) {
mode = MB_DEFBUTTON2;
}
+
switch(varType.iVal % 10)
{
case 0:
default:
mode |= MB_OK;
break;
+
case 1:
mode |= MB_OKCANCEL;
break;
+
case 2:
mode |= MB_YESNO;
break;
+
case 3:
mode |= MB_YESNOCANCEL;
break;
+
case 4:
mode |= MB_RETRYCANCEL;
break;
+
case 5:
mode |= MB_ABORTRETRYIGNORE;
break;
}
}
- if(varIcon.ChangeType(VT_I2,&icon) == S_OK){
+
+ if (varIcon.ChangeType(VT_I2,&icon) == S_OK) {
switch(varIcon.iVal)
{
case 0:
default:
break;
+
case 1:
mode |= MB_ICONERROR;
break;
+
case 2:
mode |= MB_ICONWARNING;
break;
+
case 3:
mode |= MB_ICONINFORMATION;
break;
+
case 4:
mode |= MB_ICONQUESTION;
break;
}
}
- int md = ::MessageBox(GetMainWindow(),pBuf,GetMainCaption(),mode);
+
+ int md = ::MessageBox(GetMainWindow(), msg, GetMainCaption(),mode);
switch(md)
{
case IDOK:
return S_OK;
}
-LPCSTR CCommDialog::GetMainCaption()
+ATL::CString CCommDialog::GetMainCaption()
{
- static CHAR szCaption[MAX_PATH];
- if(!m_bstr_MessageCaption.length() && m_pMainWindow){
+ ATL::CString szCaption;
+ if (m_bstr_MessageCaption.Length() == 0 && m_pMainWindow) {
// \83L\83\83\83v\83V\83\87\83\93\82ª\8ew\92è\82³\82ê\82Ä\82¢\82È\82¢\82È\82ç\8eæ\93¾\82·\82é
- BSTR bstrCaption;
- m_pMainWindow->get_Caption(&bstrCaption);
- int cnt = WideCharToMultiByte(GetACP(),0,bstrCaption,-1,szCaption,MAX_PATH,NULL,NULL);
- szCaption[cnt] = 0;
- SysFreeString(bstrCaption);
- }
- else{
- int cnt = WideCharToMultiByte(GetACP(),0,m_bstr_MessageCaption,-1,szCaption,MAX_PATH,NULL,NULL);
- szCaption[cnt] = 0;
+ CComBSTR bstrCaption;
+ if (SUCCEEDED(m_pMainWindow->get_Caption(&bstrCaption))) {
+ szCaption = bstrCaption;
+ }
}
return szCaption;
}
STDMETHODIMP CCommDialog::get_MessageCaption(BSTR *pVal)
{
- *pVal = m_bstr_MessageCaption.copy();
+ *pVal = m_bstr_MessageCaption.Copy();
return S_OK;
}
return S_OK;
}
CComBSTR m_bstrCaption;
+
public:
STDMETHOD(ColorDialog)(/*[out,retval]*/VARIANT* pcolorVal);
STDMETHOD(get_MessageCaption)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_MessageCaption)(/*[in]*/ BSTR newVal);
- LPCSTR GetMainCaption();
+ ATL::CString GetMainCaption();
STDMETHOD(MessageBox)(/*[in]*/VARIANT mes,/*[in,optional]*/VARIANT typ,/*[in,optional]*/VARIANT icon,/*[out,retval]*/VARIANT* pRet);
STDMETHOD(SetMainWindow)(/*[in]*/VARIANT varUnk);
HWND GetMainWindow();
HWND m_hStaticMainWindow;
+
protected:
CHOOSECOLOR m_color;
COLORREF m_colors[16];
IOverlappedWindow* m_pMainWindow;
- _bstr_t m_bstr_MessageCaption;
+ CComBSTR m_bstr_MessageCaption;
};
#endif //__COMMDIALOG_H_
#include "generic.h"
#include "objectmap.h"
#include <list>
+#include <vector>
+
using namespace std;
/////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CControl::get_Text(BSTR *pVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
+
DWORD siz = ::GetWindowTextLength(m_hWnd);
- LPSTR pMes = new CHAR[siz+1];
- GetWindowText(m_hWnd,pMes,siz+1);
- _bstr_t tmp = (LPCSTR)pMes;
- *pVal = tmp.copy();
- delete[]pMes;
+
+ ATL::CString tmp;
+ LPTSTR pMes = tmp.GetBufferSetLength(siz + 1);
+ GetWindowText(m_hWnd, pMes, siz + 1);
+ tmp.ReleaseBuffer();
+
+ CComBSTR ret(tmp);
+ *pVal = ret.Detach();
return S_OK;
}
STDMETHODIMP CControl::put_Text(BSTR newVal)
{
if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_DESTROYED);
}
- _bstr_t tmp(newVal,true);
- ::SetWindowText(m_hWnd,(LPCSTR)tmp);
+
+ ATL::CString tmp(newVal);
+ ::SetWindowText(m_hWnd, tmp);
return S_OK;
}
STDMETHODIMP CControl::get_ID(short *pVal)
{
- if(m_hWnd){
+ if (m_hWnd) {
m_nID = (int)GetWindowLong(m_hWnd,GWL_ID);
}
*pVal = m_nID;
STDMETHODIMP CControl::put_ID(short newVal)
{
m_nID = newVal;
- if(m_hWnd){
- SetWindowLong(m_hWnd,GWL_ID,newVal);
- if((m_nID == IDOK) && !lstrcmp(m_classname,"BUTTON")){
+ if (m_hWnd) {
+ SetWindowLong(m_hWnd, GWL_ID, newVal);
+ if((m_nID == IDOK) && !lstrcmp(m_classname, _TEXT("BUTTON"))) {
// IDOK\82È\82ç\83|\83b\83V\83\85\83{\83^\83\93\8c^\82ð\83f\83B\83t\83H\83\8b\83g\83{\83^\83\93\82É\95Ï\89»\82³\82¹\82é
DWORD m_style = ::GetWindowLong(m_hWnd,GWL_STYLE);
m_style |= BS_DEFPUSHBUTTON;
- ::SetWindowLong(m_hWnd,GWL_STYLE,m_style);
+ ::SetWindowLong(m_hWnd, GWL_STYLE, m_style);
}
}
return S_OK;
STDMETHODIMP CControl::get_Visibility(BOOL *pVal)
{
- if(!m_hParent || !m_hWnd){
+ if (!m_hParent || !m_hWnd) {
*pVal = 0;
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_DESTROYED);
}
+
WINDOWPLACEMENT pls = {0};
pls.length = sizeof(WINDOWPLACEMENT);
- ::GetWindowPlacement(m_hWnd,&pls);
- *pVal = (pls.showCmd != SW_HIDE)?true:false;
+ ::GetWindowPlacement(m_hWnd, &pls);
+ *pVal = (pls.showCmd != SW_HIDE) ? true : false;
return S_OK;
}
STDMETHODIMP CControl::put_Visibility(BOOL newVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
- ::ShowWindow(m_hWnd,newVal?SW_SHOWNORMAL:SW_HIDE);
+
+ ::ShowWindow(m_hWnd, newVal ? SW_SHOWNORMAL : SW_HIDE);
return S_OK;
}
STDMETHODIMP CControl::get_Enable(BOOL *pVal)
{
- if(!m_hParent || !m_hWnd){
+ if (!m_hParent || !m_hWnd) {
*pVal = 0;
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_DESTROYED);
}
*pVal = ::IsWindowEnabled(m_hWnd);
return S_OK;
STDMETHODIMP CControl::put_Enable(BOOL newVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
::EnableWindow(m_hWnd,newVal);
return S_OK;
STDMETHODIMP CControl::put_CheckState(short newVal)
{
m_bChecked = newVal;
- if(m_hWnd && newVal >= 0 && newVal <= 2){
+ if (m_hWnd && newVal >= 0 && newVal <= 2) {
// 0:Unchecked 1:Checked 2:interminate
- ::SendMessage(m_hWnd,BM_SETCHECK,newVal,0);
+ ::SendMessage(m_hWnd, BM_SETCHECK, newVal, 0);
}
return S_OK;
}
BOOL CControl::Create(HWND hParent)
{
// << \83f\83B\83t\83H\83\8b\83g\82Ì\83v\83b\83V\83\85\83{\83^\83\93\82É\95Ï\89»\82³\82¹\82é\83N\83\8d\96\82\8fp >>
- if((m_nID == IDOK) && !lstrcmp(m_classname,"BUTTON")){
+ if ((m_nID == IDOK) && !lstrcmp(m_classname, _TEXT("BUTTON"))) {
// IDOK\82È\82ç\95Ï\8dX\82·\82é
m_style |= BS_DEFPUSHBUTTON;
}
,NULL
,_Module.m_hInst
,NULL);
- ::SetWindowLong(m_hWnd, GWL_ID, m_nID);
- ::SetWindowLong(m_hWnd, GWL_USERDATA,(LPARAM)this);
+ ::SetWindowLongPtr(m_hWnd, GWLP_ID, m_nID);
+ ::SetWindowLongPtr(m_hWnd, GWLP_USERDATA, (LONG_PTR) this);
::SetWindowText(m_hWnd,m_caption);
// \90e\82ª\83f\83B\83Z\81[\83u\83\8b\82È\82ç\8eq\82à\83f\83B\83Z\81[\83u\83\8b\8fó\91Ô\82Å\8dì\90¬\82·\82é
//////////////////////////
// \8e\96\91O\8fó\91Ô\82Ì\90Ý\92è
- if(!lstrcmp(m_classname,"BUTTON")){
+ if (!lstrcmp(m_classname, _TEXT("BUTTON"))) {
// \83{\83^\83\93\82È\82ç\83`\83F\83b\83N\8fó\91Ô\82Ì\83Z\83b\83g
if(m_bChecked){
::SendMessage(m_hWnd,BM_SETCHECK,1,0);
else if(!lstrcmp(m_classname,WC_LISTVIEW)){
// \83\8a\83X\83g\83r\83\85\81[\82È\82ç\83J\83\89\83\80\82Ì\90Ý\92è\82ð\8ds\82¤
TCHAR szColumn[MAX_PATH];
- LPCSTR p = m_caption;
+ LPCTSTR p = m_caption;
m_nColumnCount = 0;
// \83E\83B\83\93\83h\83E\83L\83\83\83v\83V\83\87\83\93\82©\82ç\97ñ\8c©\8fo\82µ\82ð\8dì\90¬\82·\82é
while(*p){
- LPCSTR d = p;
+ LPCTSTR d = p;
while(*p && *p != ',' && *p != ':'){
p = CharNext(p);
}
STDMETHODIMP CControl::get_ClassName(BSTR *pVal)
{
- WCHAR wmes[MAX_PATH];
- MultiByteToWideChar(GetACP(),0,m_classname,-1,wmes,MAX_PATH);
- *pVal = SysAllocString(wmes);
+ CComBSTR tmp(m_classname);
+ *pVal = tmp.Detach();
return S_OK;
}
STDMETHODIMP CControl::Refresh()
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
- }
- ::SetWindowPos(m_hWnd,NULL,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER|SWP_DRAWFRAME|SWP_FRAMECHANGED|SWP_NOCOPYBITS);
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
+ }
+ ::SetWindowPos(
+ m_hWnd,
+ NULL,
+ 0, 0, 0, 0,
+ SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME | SWP_FRAMECHANGED | SWP_NOCOPYBITS);
return S_OK;
}
STDMETHODIMP CControl::get_HWND(long *pVal)
{
- *pVal = (long)m_hWnd;
+ *pVal = (long) m_hWnd;
return S_OK;
}
-LPSTR CControl::ConvertVariantToString(VARIANT text)
+HRESULT CControl::ConvertVariantToString(VARIANT text, ATL::CString &retval)
{
CComVariant varText;
- if(varText.ChangeType(VT_BSTR,&text) != S_OK){
- // \95¶\8e\9a\82É\95Ï\8a·\82Å\82«\82È\82¯\82ê\82Î\89½\82à\82µ\82È\82¢
- return NULL;
- }
- int sz = WideCharToMultiByte(GetACP(),0,varText.bstrVal,-1,NULL,0,NULL,NULL);
- LPSTR pBuf = new CHAR[sz+1];
- WideCharToMultiByte(GetACP(),0,varText.bstrVal,-1,pBuf,sz,NULL,NULL);
- pBuf[sz] = 0;
- return pBuf;
+ HRESULT hr = varText.ChangeType(VT_BSTR, &text);
+ if (FAILED(hr)) {
+ return hr;
+ }
+
+ retval = varText.bstrVal;
+ return S_OK;
}
STDMETHODIMP CControl::AddString(VARIANT text,VARIANT* pRet)
{
- CComVariant ret;
::VariantInit(pRet);
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
- LPSTR pBuf;
- if(!(pBuf = ConvertVariantToString(text))){
- return DISP_E_TYPEMISMATCH;
+
+ ATL::CString buf;
+ HRESULT hr = ConvertVariantToString(text, buf);
+ if (FAILED(hr)) {
+ return hr;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ CComVariant ret;
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82É\95¶\8e\9a\97ñ\82ð\92Ç\89Á\82·\82é
- ret = (short)SendMessage(m_hWnd,CB_ADDSTRING,0,(LPARAM)pBuf);
+ ret = (short)SendMessage(m_hWnd, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)buf);
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82É\95¶\8e\9a\97ñ\82ð\92Ç\89Á\82·\82é
- int nIdx = SendMessage(m_hWnd,LB_ADDSTRING,0,(LPARAM)pBuf);
+ int nIdx = SendMessage(m_hWnd, LB_ADDSTRING, 0, (LPARAM)(LPCTSTR)buf);
+
// \98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\83o\83C\83\93\83h\82·\82é
CComObject<CObjectMap>* pMap = NULL;
IUnknown* pUnk = NULL;
- if(pMap->CreateInstance(&pMap) == S_OK){
+ if (pMap->CreateInstance(&pMap) == S_OK) {
pMap->QueryInterface(IID_IUnknown,(void**)&pUnk);
}
::SendMessage(m_hWnd,LB_SETITEMDATA,nIdx,(LPARAM)pUnk);
int cnt = ListView_GetItemCount(m_hWnd);
LVITEM item = {0};
item.mask = LVIF_TEXT;
- item.pszText = pBuf;
+ item.pszText = buf.GetBuffer();
item.iItem = cnt;
- int nIdx = ListView_InsertItem(m_hWnd,&item);
+ int nIdx = ListView_InsertItem(m_hWnd, &item);
+
// \83T\83u\83J\83\89\83\80\82Í\8bó\95¶\82ð\96\84\82ß\82é
- int i;
- for(i = 1 ; i<m_nColumnCount ; i++){
- ListView_SetItemText(m_hWnd,nIdx,i,"");
+ for(int i = 1 ; i < m_nColumnCount ; i++) {
+ ListView_SetItemText(m_hWnd, nIdx, i, _TEXT(""));
}
+
// \98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\83o\83C\83\93\83h\82·\82é
CComObject<CObjectMap>* pMap = NULL;
IUnknown* pUnk = NULL;
- if(pMap->CreateInstance(&pMap) == S_OK){
- pMap->QueryInterface(IID_IUnknown,(void**)&pUnk);
+ if (pMap->CreateInstance(&pMap) == S_OK) {
+ pMap->QueryInterface(IID_IUnknown, (void**)&pUnk);
}
LVITEM itm = {0};
itm.iItem = nIdx;
itm.mask = LVIF_PARAM;
- itm.lParam = (LPARAM)pUnk;
- ListView_SetItem(m_hWnd,&itm);
+ itm.lParam = (LPARAM) pUnk;
+ ListView_SetItem(m_hWnd, &itm);
ret = (short)nIdx;
}
- else if(!lstrcmp(m_classname,WC_TREEVIEW)){
+ else if (!lstrcmp(m_classname, WC_TREEVIEW)) {
// \83c\83\8a\81[\83r\83\85\81[\82Ì\83\8b\81[\83g\82É\83A\83C\83e\83\80\82ð\8dì\90¬\82·\82é
IUnknown* pUnk = NULL;
- CTreeItem::CreateTreeItem(m_hWnd,TVI_ROOT,pBuf,&pUnk);
+ CTreeItem::CreateTreeItem(m_hWnd,TVI_ROOT, buf, &pUnk);
if(pUnk != NULL){
ret = (IUnknown*)pUnk;
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- ret.Detach(pRet);
- delete[]pBuf;
- return retcode;
+ return ret.Detach(pRet);
}
STDMETHODIMP CControl::SetColumnText(VARIANT item, VARIANT col, VARIANT text)
{
- if(!m_hParent || !m_hWnd){
+ if (!m_hParent || !m_hWnd) {
ErrorInfo(IDS_ERR_DESTROYED);
return DISP_E_EXCEPTION;
}
int nIdx = -1;
int nCol = -1;
- CComVariant varIdx,varCol;
- if(varIdx.ChangeType(VT_I2,&item) == S_OK){
+ CComVariant varIdx, varCol;
+ if (varIdx.ChangeType(VT_I2, &item) == S_OK) {
nIdx = varIdx.iVal;
}
- if(varCol.ChangeType(VT_I2,&col) == S_OK){
+ if (varCol.ChangeType(VT_I2, &col) == S_OK) {
nCol = varCol.iVal;
}
- if(nIdx < 0 || nCol < 0){
+ if (nIdx < 0 || nCol < 0) {
// \8ds\81E\8c\85\82ª\8eæ\93¾\82Å\82«\82È\82©\82Á\82½\8fê\8d\87
return DISP_E_TYPEMISMATCH;
}
- LPSTR pBuf;
- if(!(pBuf = ConvertVariantToString(text))){
- return DISP_E_TYPEMISMATCH;
+ ATL::CString buf;
+ HRESULT hr = ConvertVariantToString(text, buf);
+ if (FAILED(hr)) {
+ return hr;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ if (!lstrcmp(m_classname, WC_LISTVIEW)) {
int mx = ListView_GetItemCount(m_hWnd);
- if(nIdx >= mx || nCol >= m_nColumnCount){
+ if (nIdx >= mx || nCol >= m_nColumnCount) {
// \8ds\82Ü\82½\82Í\8c\85\82ª\83I\81[\83o\81[\82µ\82Ä\82¢\82é\8fê\8d\87
- ErrorInfo(IDS_ERR_RANDEOUT);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_RANDEOUT);
}
- else{
+ else {
// \83\8a\83X\83g\83r\83\85\81[\82É\95¶\8e\9a\97ñ\82ð\92Ç\89Á\82·\82é
- ListView_SetItemText(m_hWnd,nIdx,nCol,pBuf);
+ ListView_SetItemText(m_hWnd, nIdx, nCol, buf.GetBuffer());
}
}
- else{
+ else {
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- delete[]pBuf;
- return retcode;
+ return S_OK;
}
STDMETHODIMP CControl::GetColumnText(VARIANT idx, VARIANT col, VARIANT *pText)
{
CComVariant ret;
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
int nIdx = -1;
int nCol = -1;
- CComVariant varIdx,varCol;
- if(varIdx.ChangeType(VT_I2,&idx) == S_OK){
+ CComVariant varIdx, varCol;
+ if (varIdx.ChangeType(VT_I2, &idx) == S_OK) {
nIdx = varIdx.iVal;
}
- if(varCol.ChangeType(VT_I2,&col) == S_OK){
+ if (varCol.ChangeType(VT_I2, &col) == S_OK) {
nCol = varCol.iVal;
}
- if(nIdx < 0 || nCol < 0){
- return DISP_E_TYPEMISMATCH;
+
+ if (nIdx < 0 || nCol < 0) {
+ return DISP_E_BADINDEX;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,WC_LISTVIEW)){
+
+ if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83C\83\93\83f\83b\83N\83X\82ð\92²\8d¸
int mx = ListView_GetItemCount(m_hWnd);
- if(nIdx >= mx || nCol >= m_nColumnCount){
- ErrorInfo(IDS_ERR_RANDEOUT);
- return DISP_E_EXCEPTION;
+ if (nIdx >= mx || nCol >= m_nColumnCount) {
+ return Error(IDS_ERR_RANDEOUT);
}
+
// \83\8a\83X\83g\83r\83\85\81[\82©\82ç\95¶\8e\9a\97ñ\82ð\8eæ\93¾\82·\82é
- LPSTR pBuf = new CHAR[MAX_PATH+1];
- ListView_GetItemText(m_hWnd,nIdx,nCol,pBuf,MAX_PATH);
+ ATL::CString buf;
+ LPTSTR pBuf = buf.GetBufferSetLength(MAX_PATH);
+ ListView_GetItemText(m_hWnd, nIdx, nCol, pBuf, MAX_PATH);
ret = pBuf;
- delete[]pBuf;
}
- else{
+ else {
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- ret.Detach(pText);
- return retcode;
+ return ret.Detach(pText);
}
STDMETHODIMP CControl::get_ItemObject(VARIANT idx, VARIANT *pVal)
{
::VariantInit(pVal);
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
int nIdx = -1;
CComVariant varIdx;
- if(varIdx.ChangeType(VT_I2,&idx) == S_OK){
+ if (varIdx.ChangeType(VT_I2,&idx) == S_OK) {
nIdx = varIdx.iVal;
}
- if(nIdx < 0 ){
- return DISP_E_TYPEMISMATCH;
+
+ if (nIdx < 0 ) {
+ return DISP_E_BADINDEX;
}
IUnknown* pUnk = NULL;
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"LISTBOX")){
+ if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82©\82ç\98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\8eæ\93¾\82·\82é
int mx = ::SendMessage(m_hWnd,LB_GETCOUNT,0,0);
- if(nIdx >= mx){
- ErrorInfo(IDS_ERR_RANDEOUT);
- return DISP_E_EXCEPTION;
+ if (nIdx >= mx) {
+ return Error(IDS_ERR_RANDEOUT);
}
- DWORD data = ::SendMessage(m_hWnd,LB_GETITEMDATA ,nIdx,0);
- if(data != LB_ERR && data){
- pUnk = (IUnknown*)data;
+ DWORD data = ::SendMessage(m_hWnd, LB_GETITEMDATA, nIdx, 0);
+ if (data != LB_ERR && data) {
+ pUnk = (IUnknown*) data;
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82©\82ç\98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\8eæ\93¾\82·\82é
int mx = ListView_GetItemCount(m_hWnd);
- if(nIdx >= mx){
- ErrorInfo(IDS_ERR_RANDEOUT);
- return DISP_E_EXCEPTION;
+ if (nIdx >= mx) {
+ return Error(IDS_ERR_RANDEOUT);
}
+
LVITEM itm = {0};
itm.mask = LVIF_PARAM;
itm.iItem = nIdx;
- if(ListView_GetItem(m_hWnd,&itm)){
- if(itm.lParam){
- pUnk = (IUnknown*)itm.lParam;
+ if (ListView_GetItem(m_hWnd, &itm)) {
+ if (itm.lParam) {
+ pUnk = (IUnknown*) itm.lParam;
}
}
}
- else{
+ else {
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- if(pUnk){
+
+ if (pUnk) {
pUnk->AddRef();
pVal->vt = VT_UNKNOWN;
pVal->punkVal = pUnk;
}
- return retcode;
+ return S_OK;
}
STDMETHODIMP CControl::DeleteAllItems()
return DISP_E_EXCEPTION;
}
// \83R\83\93\83g\83\8d\81[\83\8b\82Ì\93à\95\94\83A\83C\83e\83\80\82É\8aÖ\98A\95t\82¯\82ç\82ê\82Ä\82¢\82½\98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\89ð\95ú\82·\82é
- if(!lstrcmp(m_classname,"LISTBOX")){
+ if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\82Ì\89ð\95ú
- int mx = ::SendMessage(m_hWnd,CB_GETCOUNT,0,0);
- int i;
- for(i=0;i<mx;i++){
- DWORD data = ::SendMessage(m_hWnd,LB_GETITEMDATA ,i ,0);
- if(data != LB_ERR && data){
- ((IUnknown*)data)->Release();
+ int mx = ::SendMessage(m_hWnd, CB_GETCOUNT, 0, 0);
+ for (int i = 0; i < mx; i++) {
+ DWORD data = ::SendMessage(m_hWnd, LB_GETITEMDATA, i, 0);
+ if (data != LB_ERR && data) {
+ ((IUnknown*) data)->Release();
}
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82Ì\98A\91z\94z\97ñ\82Ì\89ð\95ú
int mx = ListView_GetItemCount(m_hWnd);
LVITEM itm = {0};
- int i;
- for(i=0;i<mx;i++){
+ for(int i = 0; i < mx; i++) {
itm.mask = LVIF_PARAM;
itm.iItem = i;
- if(ListView_GetItem(m_hWnd,&itm)){
- if(itm.lParam){
- ((IUnknown*)itm.lParam)->Release();
+ if (ListView_GetItem(m_hWnd,&itm)) {
+ if (itm.lParam) {
+ ((IUnknown*) itm.lParam)->Release();
}
}
}
}
- else if(!lstrcmp(m_classname,WC_TREEVIEW)){
+ else if (!lstrcmp(m_classname, WC_TREEVIEW)) {
// \83c\83\8a\81[\83r\83\85\81[\82Ì\98A\91z\94z\97ñ\82Ì\89ð\95ú
HTREEITEM hItem = TreeView_GetRoot(m_hWnd);
- while(hItem){
+ while (hItem) {
HTREEITEM hNextItem = TreeView_GetNextSibling(m_hWnd,hItem);
- CTreeItem::DeleteTreeItemWithData(m_hWnd,hItem);
+ CTreeItem::DeleteTreeItemWithData(m_hWnd, hItem);
hItem = hNextItem;
}
}
// \98A\91z\94z\97ñ\82ð\82à\82½\82È\82¢\83R\83\93\83g\83\8d\81[\83\8b\82Ì\8f\89\8aú\89»
- else if(!lstrcmp(m_classname,"COMBOBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// COMBOBOX
- int cnt = ::SendMessage(m_hWnd,CB_GETCOUNT,0,0);
- while(cnt > 0){
- ::SendMessage(m_hWnd,CB_DELETESTRING,0,0);
+ int cnt = ::SendMessage(m_hWnd, CB_GETCOUNT, 0, 0);
+ while (cnt > 0) {
+ ::SendMessage(m_hWnd, CB_DELETESTRING, 0, 0);
cnt--;
}
}
- else if(!lstrcmp(m_classname,"EDIT")){
+ else if (!lstrcmp(m_classname, _TEXT("EDIT"))) {
// Edit\81B
CComVariant dmy(L"");
put_Text(dmy.bstrVal);
}
STDMETHODIMP CControl::DeleteString(VARIANT idx, VARIANT *pRet)
{
- CComVariant ret;
::VariantInit(pRet);
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
int nIdx = -1;
CComVariant varIdx;
- if(varIdx.ChangeType(VT_I2,&idx) == S_OK){
+ if (varIdx.ChangeType(VT_I2, &idx) == S_OK) {
nIdx = varIdx.iVal;
}
- if(nIdx < 0 ){
- return DISP_E_TYPEMISMATCH;
+ if (nIdx < 0 ) {
+ return DISP_E_BADINDEX;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ CComVariant ret;
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82©\82ç\95¶\8e\9a\97ñ\82ð\8dí\8f\9c\82·\82é
- int mx = ::SendMessage(m_hWnd,CB_GETCOUNT,0,0);
- if(nIdx >= mx){
- ErrorInfo(IDS_ERR_RANDEOUT);
- return DISP_E_EXCEPTION;
+ int mx = ::SendMessage(m_hWnd,CB_GETCOUNT, 0, 0);
+ if (nIdx >= mx) {
+ return Error(IDS_ERR_RANDEOUT);
}
- int result = ::SendMessage(m_hWnd,CB_DELETESTRING,nIdx,0);
+ int result = ::SendMessage(m_hWnd,CB_DELETESTRING, nIdx, 0);
ret = (bool)(result != LB_ERR);
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82©\82ç\95¶\8e\9a\97ñ\82ð\8dí\8f\9c\82·\82é
- int mx = ::SendMessage(m_hWnd,LB_GETCOUNT,0,0);
- if(nIdx >= mx){
- ErrorInfo(IDS_ERR_RANDEOUT);
- return DISP_E_EXCEPTION;
+ int mx = ::SendMessage(m_hWnd, LB_GETCOUNT, 0, 0);
+ if (nIdx >= mx) {
+ return Error(IDS_ERR_RANDEOUT);
}
+
// \98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\94j\8aü\82·\82é
- DWORD data = ::SendMessage(m_hWnd,LB_GETITEMDATA ,nIdx,0);
- if(data != LB_ERR && data){
+ DWORD data = ::SendMessage(m_hWnd,LB_GETITEMDATA, nIdx, 0);
+ if (data != LB_ERR && data) {
((IUnknown*)data)->Release();
}
+
// \8dí\8f\9c
- int result = ::SendMessage(m_hWnd,LB_DELETESTRING,nIdx,0);
+ int result = ::SendMessage(m_hWnd, LB_DELETESTRING, nIdx, 0);
ret = (bool)(result != LB_ERR);
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82©\82ç\95¶\8e\9a\97ñ\82ð\8dí\8f\9c\82·\82é
int mx = ListView_GetItemCount(m_hWnd);
- if(nIdx >= mx){
- ErrorInfo(IDS_ERR_RANDEOUT);
- return DISP_E_EXCEPTION;
+ if (nIdx >= mx) {
+ return Error(IDS_ERR_RANDEOUT);
}
+
// \98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\94j\8aü\82·\82é
LVITEM itm = {0};
itm.mask = LVIF_PARAM;
itm.iItem = nIdx;
- if(ListView_GetItem(m_hWnd,&itm)){
- if(itm.lParam){
- ((IUnknown*)itm.lParam)->Release();
+ if (ListView_GetItem(m_hWnd,&itm)) {
+ if (itm.lParam) {
+ ((IUnknown*) itm.lParam)->Release();
}
}
+
// \8dí\8f\9c
- ret = (bool)(ListView_DeleteItem(m_hWnd,nIdx)?true:false);
+ ret = ListView_DeleteItem(m_hWnd, nIdx) ? true : false;
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- *pRet = ret;
- return retcode;
+
+ return ret.Detach(pRet);
}
STDMETHODIMP CControl::GetCount(VARIANT *pRet)
{
- CComVariant ret;
::VariantInit(pRet);
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+
+ if (!m_hParent || !m_hWnd){
+ return Error(IDS_ERR_DESTROYED);
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ CComVariant ret;
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\83J\83E\83\93\83g
- int mx = ::SendMessage(m_hWnd,CB_GETCOUNT,0,0);
- if(mx == LB_ERR) mx = 0;
+ int mx = ::SendMessage(m_hWnd, CB_GETCOUNT, 0, 0);
+ if (mx == LB_ERR) {
+ mx = 0;
+ }
ret = (short)mx;
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\83J\83E\83\93\83g
- int mx = ::SendMessage(m_hWnd,LB_GETCOUNT,0,0);
- if(mx == LB_ERR) mx = 0;
+ int mx = ::SendMessage(m_hWnd, LB_GETCOUNT, 0, 0);
+ if (mx == LB_ERR) {
+ mx = 0;
+ }
ret = (short)mx;
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82Ì\83J\83E\83\93\83g
ret = (short)ListView_GetItemCount(m_hWnd);
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- ret.Detach(pRet);
- return retcode;
+ return ret.Detach(pRet);
}
STDMETHODIMP CControl::get_CurrentSelectedItem(VARIANT *pVal)
{
::VariantInit(pVal);
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
CComVariant ret;
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\82ð\95Ô\82·
- ret = (long)::SendMessage(m_hWnd,CB_GETCURSEL,0,0);
+ ret = (long)::SendMessage(m_hWnd, CB_GETCURSEL, 0, 0);
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if(!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\95Ô\82·
- if(!(m_style & LBS_MULTIPLESEL)){
+ if (!(m_style & LBS_MULTIPLESEL)) {
// \83V\83\93\83O\83\8b\83Z\83\8c\83N\83g\82Ì\8fê\8d\87
- ret = (long)::SendMessage(m_hWnd,LB_GETCURSEL,0,0);
+ ret = (long)::SendMessage(m_hWnd, LB_GETCURSEL, 0, 0);
}
else{
// \83}\83\8b\83`\83Z\83\8c\83N\83g\82Ì\8fê\8d\87\82Í\8dÅ\8f\89\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\95Ô\82·
ret = (long)-1;
int mx = ::SendMessage(m_hWnd,LB_GETCOUNT,0,0);
- if(mx > 0){
- long* pBuf = new long[mx+1];
- int cnt = ::SendMessage(m_hWnd,LB_GETSELITEMS,mx,(LPARAM)pBuf);
- if(cnt != LB_ERR && cnt > 0){
- ret = (long)pBuf[0];
+ if (mx > 0) {
+ std::vector<long> buf(mx + 1);
+ long* pBuf = &buf[0];
+ int cnt = ::SendMessage(m_hWnd, LB_GETSELITEMS, mx, (LPARAM)pBuf);
+ if (cnt != LB_ERR && cnt > 0) {
+ ret = buf[0];
}
- delete[]pBuf;
}
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82Ì\8dÅ\8f\89\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\92T\82·
ret = (long)ListView_GetNextItem(m_hWnd,-1,LVNI_SELECTED);
}
- else if(!lstrcmp(m_classname,WC_TREEVIEW)){
+ else if (!lstrcmp(m_classname, WC_TREEVIEW)) {
// \83c\83\8a\81[\83r\83\85\81[\82Ì\8ew\92è\83A\83C\83e\83\80\82Ì\91®\90«\82ð\92²\82×\82é
HTREEITEM hItem = TreeView_GetSelection(m_hWnd);
- if(hItem){
+ if (hItem) {
CComObject<CTreeItem>* pItem = NULL;
- if(pItem->CreateInstance(&pItem) == S_OK){
+ if (pItem->CreateInstance(&pItem) == S_OK) {
pItem->AddRef();
pItem->SetParam(m_hWnd,hItem);
IUnknown* pUnk = NULL;
- if(pItem->QueryInterface(IID_IUnknown,(void**)&pUnk) == S_OK){
+ if (pItem->QueryInterface(IID_IUnknown, (void**)&pUnk) == S_OK) {
ret = pUnk;
}
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- ret.Detach(pVal);
- return retcode;
+ return ret.Detach(pVal);
}
STDMETHODIMP CControl::put_CurrentSelectedItem(VARIANT newVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
- HRESULT retcode = S_OK;
long nIdx = -1;
CComVariant varIdx;
if(varIdx.ChangeType(VT_I4,&newVal) == S_OK){
nIdx = varIdx.lVal;
}
- if(!lstrcmp(m_classname,"COMBOBOX")){
+
+ if( !lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82ð\91I\91ð\82ð\8ew\92è\82·\82é
- ::SendMessage(m_hWnd,CB_SETCURSEL,nIdx,0);
+ ::SendMessage(m_hWnd, CB_SETCURSEL, nIdx, 0);
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\91I\91ð
- if(!(m_style & LBS_MULTIPLESEL)){
+ if (!(m_style & LBS_MULTIPLESEL)) {
// \83V\83\93\83O\83\8b\83Z\83\8c\83N\83g\82Ì\8fê\8d\87
- ::SendMessage(m_hWnd,LB_SETCURSEL,nIdx,0);
+ ::SendMessage(m_hWnd, LB_SETCURSEL, nIdx, 0);
}
- else{
+ else {
// \83}\83\8b\83`\83Z\83\8c\83N\83g\82Ì\8fê\8d\87
- int mx = ::SendMessage(m_hWnd,LB_GETCOUNT,0,0);
- int i;
- for(i=0;i<mx;i++){
- ::SendMessage(m_hWnd,LB_SETSEL,false,i);
+ int mx = ::SendMessage(m_hWnd, LB_GETCOUNT, 0, 0);
+ for(int i = 0; i < mx; i++) {
+ ::SendMessage(m_hWnd, LB_SETSEL, FALSE, i);
}
- if(nIdx >= 0 && nIdx < mx){
- ::SendMessage(m_hWnd,LB_SETSEL,true,nIdx);
+ if (nIdx >= 0 && nIdx < mx) {
+ ::SendMessage(m_hWnd, LB_SETSEL, TRUE, nIdx);
}
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82Ì\91I\91ð
int mx = ListView_GetItemCount(m_hWnd);
- int i;
- for(i = 0 ; i<mx ; i++){
- ListView_SetItemState(m_hWnd,i,LVIS_SELECTED ,0);
- }
- if(nIdx >= 0 && nIdx < mx){
- ListView_SetItemState(m_hWnd,i,LVIS_SELECTED ,LVIS_SELECTED);
+ ListView_SetItemState(m_hWnd, -1, LVIS_SELECTED, 0); // TODO:\97v\8am\94F -1\82Å\91S\83A\83C\83e\83\80\91Î\8fÛ\81A\88È\91O\82Ímx\89ñ\83\8b\81[\83v\82µ\82Ä\82¢\82½\81B
+ if (nIdx >= 0 && nIdx < mx) {
+ // FIXME:TODO: \97v\8am\94F\81@nIdx\82Å\82Í\82È\82i\82ð\8eg\82Á\82Ä\82¢\82½\81H\90³\82µ\82¢\82Æ\82Í\8ev\82¦\82È\82¢\81B
+ ListView_SetItemState(m_hWnd, nIdx, LVIS_SELECTED, LVIS_SELECTED);
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
return S_OK;
}
STDMETHODIMP CControl::get__NewEnum(IUnknown **pVal)
{
*pVal = NULL;
+
if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_DESTROYED);
}
- VARIANT* pvarArray = NULL;
+ std::vector<VARIANT> varArray;
int mx = 0;
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\82ð\95Ô\82·
int nIdx = ::SendMessage(m_hWnd,CB_GETCURSEL,0,0);
mx = 1;
- pvarArray = new VARIANT[1];
- ::VariantInit(&pvarArray[0]);
- pvarArray[0].vt = VT_I2;
- pvarArray[0].iVal = nIdx;
+ varArray.resize(1);
+ ::VariantInit(&varArray[0]);
+ varArray[0].vt = VT_I2;
+ varArray[0].iVal = nIdx;
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\95Ô\82·
- if(!(m_style & LBS_MULTIPLESEL)){
+ if (!(m_style & LBS_MULTIPLESEL)) {
// \83V\83\93\83O\83\8b\83Z\83\8c\83N\83g\82Ì\8fê\8d\87
- int nIdx = ::SendMessage(m_hWnd,LB_GETCURSEL,0,0);
+ int nIdx = ::SendMessage(m_hWnd, LB_GETCURSEL, 0, 0);
mx = 1;
- pvarArray = new VARIANT[1];
- ::VariantInit(&pvarArray[0]);
- pvarArray[0].vt = VT_I2;
- pvarArray[0].iVal = nIdx;
+ varArray.resize(1);
+ ::VariantInit(&varArray[0]);
+ varArray[0].vt = VT_I2;
+ varArray[0].iVal = nIdx;
}
else{
// \83}\83\8b\83`\83Z\83\8c\83N\83g\82Ì\8fê\8d\87\82Í\8dÅ\8f\89\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\95Ô\82·
int sz = ::SendMessage(m_hWnd,LB_GETCOUNT,0,0);
- long* pBuf = new long[sz+1];
- mx = ::SendMessage(m_hWnd,LB_GETSELITEMS,sz,(LPARAM)pBuf);
- if(mx != LB_ERR){
+ std::vector<long> buf(sz + 1);
+ long* pBuf = &buf[0];
+ mx = ::SendMessage(m_hWnd, LB_GETSELITEMS, sz, (LPARAM)pBuf);
+ if (mx != LB_ERR) {
// \91I\91ð\82ª\95Ô\82³\82ê\82½\8fê\8d\87
- pvarArray = new VARIANT[mx+1];
- int i;
- for(i=0 ; i<mx ; i++){
- ::VariantInit(&pvarArray[i]);
- pvarArray[i].vt = VT_I2;
- pvarArray[i].iVal = (short)pBuf[i];
+ varArray.resize(mx + 1);
+ for (int i = 0; i < mx; i++) {
+ ::VariantInit(&varArray[i]);
+ varArray[i].vt = VT_I2;
+ varArray[i].iVal = (short)pBuf[i];
}
}
- delete[]pBuf;
}
}
else if(!lstrcmp(m_classname,WC_LISTVIEW)){
// \83\8a\83X\83g\83r\83\85\81[\82Ì\8dÅ\8f\89\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\92T\82·
mx = ListView_GetSelectedCount(m_hWnd);
- pvarArray = new VARIANT[mx+1];
+ varArray.resize(mx + 1);
int nIdx = -1;
int i = 0;
- while((nIdx = ListView_GetNextItem(m_hWnd,nIdx,LVNI_SELECTED)) != -1
- && i < mx){
- ::VariantInit(&pvarArray[i]);
- pvarArray[i].vt = VT_I2;
- pvarArray[i].iVal = (short)nIdx;
+ while ((nIdx = ListView_GetNextItem(m_hWnd,nIdx,LVNI_SELECTED)) != -1
+ && i < mx) {
+ ::VariantInit(&varArray[i]);
+ varArray[i].vt = VT_I2;
+ varArray[i].iVal = (short)nIdx;
i++;
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
// \97ñ\8b\93\83C\83\93\83^\81[\83t\83F\83C\83X\82Ì\90¶\90¬
CComObject<CComEnumVARIANT>* pCol = NULL;
- if(pCol->CreateInstance(&pCol) == S_OK){
+ if (CComObject<CComEnumVARIANT>::CreateInstance(&pCol) == S_OK) {
pCol->AddRef();
- pCol->Init(&pvarArray[0],&pvarArray[mx],pCol,AtlFlagCopy);
+ pCol->Init(&varArray[0], &varArray[mx], pCol, AtlFlagCopy);
*pVal = pCol;
}
- delete[]pvarArray;
return S_OK;
}
nIdx = idx.iVal;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\82ð\95Ô\82·
- int nSel = ::SendMessage(m_hWnd,CB_GETCURSEL,0,0);
+ int nSel = ::SendMessage(m_hWnd, CB_GETCURSEL, 0, 0);
// \8ew\92è\82µ\82½\83A\83C\83e\83\80\82Æ\91I\91ð\82ª\88ê\92v\82µ\82Ä\82¢\82ê\82Îtrue
ret = (bool)((nSel == nIdx)?true:false);
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\95Ô\82·
- if(!(m_style & LBS_MULTIPLESEL)){
+ if (!(m_style & LBS_MULTIPLESEL)) {
// \83V\83\93\83O\83\8b\83Z\83\8c\83N\83g\82Ì\8fê\8d\87
- int nSel = ::SendMessage(m_hWnd,LB_GETCURSEL,0,0);
+ int nSel = ::SendMessage(m_hWnd, LB_GETCURSEL, 0, 0);
// \8ew\92è\82µ\82½\83A\83C\83e\83\80\82Æ\91I\91ð\82ª\88ê\92v\82µ\82Ä\82¢\82ê\82Îtrue
- ret = (bool)((nSel == nIdx)?true:false);
+ ret = (nSel == nIdx);
}
else{
// \83}\83\8b\83`\83Z\83\8c\83N\83g\82Ì\8fê\8d\87
- ret = (bool)(::SendMessage(m_hWnd,LB_GETSEL,nIdx,0)>0?true:false);
+ ret = ::SendMessage(m_hWnd, LB_GETSEL, nIdx, 0) > 0;
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82Ì\8ew\92è\83A\83C\83e\83\80\82Ì\91®\90«\82ð\92²\82×\82é
int mx = ListView_GetItemCount(m_hWnd);
- if(nIdx >= 0 && nIdx < mx){
- UINT state = ListView_GetItemState(m_hWnd,nIdx,LVNI_SELECTED);
- ret = (bool)((state & LVNI_SELECTED)?true:false);
+ if (nIdx >= 0 && nIdx < mx) {
+ UINT state = ListView_GetItemState(m_hWnd, nIdx, LVNI_SELECTED);
+ ret = (state & LVNI_SELECTED) != 0;
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
ret.Detach(pVal);
- return retcode;
+ return S_OK;
}
STDMETHODIMP CControl::put_ItemSelectState(VARIANT idx, VARIANT newVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
int nIdx = -1;
CComVariant varIdx;
- if(varIdx.ChangeType(VT_I2,&idx) == S_OK){
+ if (varIdx.ChangeType(VT_I2,&idx) == S_OK) {
nIdx = idx.iVal;
}
- BOOL bSelected = false;
+
+ bool bSelected = false;
CComVariant varSelected;
- if(varSelected.ChangeType(VT_I2,&newVal) == S_OK){
- bSelected = newVal.iVal;
+ if (varSelected.ChangeType(VT_I2,&newVal) == S_OK) {
+ bSelected = newVal.iVal != 0;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\82ð\95Ï\8dX\82·\82é
- ::SendMessage(m_hWnd,CB_SETCURSEL,bSelected?nIdx:-1,0);
+ ::SendMessage(m_hWnd, CB_SETCURSEL, bSelected ? nIdx : -1, 0);
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\8c»\8dÝ\82Ì\91I\91ð\83A\83C\83e\83\80\82ð\95Ô\82·
- if(!(m_style & LBS_MULTIPLESEL)){
+ if (!(m_style & LBS_MULTIPLESEL)) {
// \83V\83\93\83O\83\8b\83Z\83\8c\83N\83g\82Ì\8fê\8d\87
- ::SendMessage(m_hWnd,LB_SETCURSEL,bSelected?nIdx:-1,0);
+ ::SendMessage(m_hWnd, LB_SETCURSEL, bSelected ? nIdx : -1, 0);
}
- else{
+ else {
// \83}\83\8b\83`\83Z\83\8c\83N\83g
- ::SendMessage(m_hWnd,LB_SETSEL,nIdx,bSelected);
+ ::SendMessage(m_hWnd, LB_SETSEL, nIdx, bSelected);
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if(!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82Ì\8ew\92è\83A\83C\83e\83\80\82Ì\91®\90«\82ð\92²\82×\82é
int mx = ListView_GetItemCount(m_hWnd);
- if(nIdx >= 0 && nIdx < mx){
- ListView_SetItemState(m_hWnd,nIdx,bSelected?LVNI_SELECTED:0,LVNI_SELECTED);
+ if (nIdx >= 0 && nIdx < mx) {
+ ListView_SetItemState(m_hWnd, nIdx, bSelected ? LVNI_SELECTED : 0, LVNI_SELECTED);
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- return retcode;
+ return S_OK;
}
STDMETHODIMP CControl::get_SelectedCount(short *pVal)
return DISP_E_EXCEPTION;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\83J\83E\83\93\83g
int nIdx = ::SendMessage(m_hWnd,CB_GETCURSEL,0,0);
*pVal = (short)(nIdx>=0?1:0);
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\83J\83E\83\93\83g
- if(!(m_style & LBS_MULTIPLESEL)){
- int nIdx = ::SendMessage(m_hWnd,LB_GETCURSEL,0,0);
- *pVal = (short)(nIdx>=0?1:0);
+ if (!(m_style & LBS_MULTIPLESEL)) {
+ int nIdx = ::SendMessage(m_hWnd, LB_GETCURSEL, 0, 0);
+ *pVal = (short)(nIdx >= 0 ? 1 : 0);
}
else{
// \83}\83\8b\83`\83Z\83\8c\83N\83g
- *pVal = (short)::SendMessage(m_hWnd,LB_GETSELCOUNT,0,0);
+ *pVal = (short)::SendMessage(m_hWnd, LB_GETSELCOUNT, 0, 0);
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\82Ì\83J\83E\83\93\83g
*pVal = (short)ListView_GetSelectedCount(m_hWnd);
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- return retcode;
+ return S_OK;
}
STDMETHODIMP CControl::get_TreeRoot(VARIANT *pVal)
void CControl::ListSort(int column)
{
- if(!m_hParent || !m_hWnd){
+ if (!m_hParent || !m_hWnd) {
return;
}
+
// \82¨\82È\82¶\83J\83\89\83\80\82ð\83\\81[\83g\82µ\82½\8fê\8d\87\82Í\8bt\8f\87\82Æ\82·\82é
- if(m_dLastSortColumn == column){
+ if (m_dLastSortColumn == column) {
m_bSortReverse = !m_bSortReverse;
}
- else{
+ else {
m_bSortReverse = false;
}
+
m_dLastSortColumn = column;
m_typCompare = VT_EMPTY;
// \83\\81[\83g\82ð\8cÄ\82Ñ\8fo\82·
- ListView_SortItems(m_hWnd,CompareFunc,(LPARAM)this);
+ ListView_SortItems(m_hWnd, CompareFunc, (LPARAM)this);
}
int CControl::CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
- if(!lParam1 || !lParam2){
+ if (!lParam1 || !lParam2) {
// \83C\83\8c\83M\83\85\83\89\81[\81B\83f\81[\83^\81[\82ª\82È\82¢\82Ì\82Å\94ä\8ar\95s\89Â\94\
return 0;
}
+
CControl* me = (CControl*)lParamSort;
IObjectMap* pMap1 = (IObjectMap*)lParam1;
IObjectMap* pMap2 = (IObjectMap*)lParam2;
- CHAR mes[16];
- wsprintf(mes,"SORT%d",me->m_dLastSortColumn);
+ TCHAR mes[16];
+ wsprintf(mes, _TEXT("SORT%d"), me->m_dLastSortColumn);
CComVariant key(mes);
CComVariant val1,val2;
- if(!me->m_bSortReverse){
- pMap1->get_Value(key,&val1);
- pMap2->get_Value(key,&val2);
+ if (!me->m_bSortReverse) {
+ pMap1->get_Value(key, &val1);
+ pMap2->get_Value(key, &val2);
}
else{
- pMap1->get_Value(key,&val2);
- pMap2->get_Value(key,&val1);
+ pMap1->get_Value(key, &val2);
+ pMap2->get_Value(key, &val1);
}
- if(me->m_typCompare == VT_EMPTY){
+ if (me->m_typCompare == VT_EMPTY) {
// \82Ü\82¾\94ä\8ar\82ð\8aJ\8en\82µ\82Ä\82¢\82È\82¢\82È\82ç\94ä\8ar\83^\83C\83v\82ð\8c\88\92è\82·\82é
me->m_typCompare = val1.vt;
- if(val1.vt != val2.vt){
+ if (val1.vt != val2.vt) {
me->m_typCompare = VT_BSTR;
}
}
int ret = 0;
- switch(me->m_typCompare)
+ switch (me->m_typCompare)
{
case VT_UI1:
{
{
val1.ChangeType(VT_CY);
val2.ChangeType(VT_CY);
- ret = (int)(val1.cyVal.int64 - val2.cyVal.int64); //UNDONE: \82æ\82ë\82µ\82\82È\82¢\81B\8c¸\8eZ\8c\8b\89Ê\82ª\8c\85\82 \82Ó\82ê\82µ\82½\8fê\8d\87\81A\94ä\8ar\8aÖ\90\94\82ª\94j\92]\82·\82é\81B\82È\82¨\82³\82Ë\82Î\81B
+ ret = (int)(val1.cyVal.int64 - val2.cyVal.int64); //FIXME: \82æ\82ë\82µ\82\82È\82¢\81B\8c¸\8eZ\8c\8b\89Ê\82ª\8c\85\82 \82Ó\82ê\82µ\82½\8fê\8d\87\81A\94ä\8ar\8aÖ\90\94\82ª\94j\92]\82·\82é\81B\82È\82¨\82³\82Ë\82Î\81B
break;
}
case VT_DATE:
void CControl::OnRClick()
{
- if(!m_hParent || !m_hWnd){
+ if (!m_hParent || !m_hWnd) {
return;
}
- if(!lstrcmp(m_classname,WC_TREEVIEW)){
+
+ if (!lstrcmp(m_classname, WC_TREEVIEW)) {
// \83c\83\8a\81[\83r\83\85\81[\82Å\82 \82ê\82Î\83h\83\8d\83b\83v\83n\83C\83\89\83C\83g\82ð\91I\91ð\82É\82·\82é
HTREEITEM hItem = TreeView_GetDropHilight(m_hWnd);
- if(hItem){
+ if (hItem) {
TreeView_SelectItem(m_hWnd,hItem);
}
}
STDMETHODIMP CControl::get_ItemCheckState(VARIANT idx, BOOL *pVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
- if(lstrcmp(m_classname,WC_LISTVIEW)){
+
+ if (lstrcmp(m_classname, WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
+
CComVariant varIdx;
- if(varIdx.ChangeType(VT_I2,&idx) != S_OK){
- return DISP_E_TYPEMISMATCH;
+ HRESULT hr = varIdx.ChangeType(VT_I2, &idx);
+ if (FAILED(hr)) {
+ return hr;
}
+
*pVal = VB_FALSE;
- if(m_afterstyle & LVS_EX_CHECKBOXES){
- *pVal = ListView_GetCheckState(m_hWnd,varIdx.iVal)?VB_TRUE:VB_FALSE;
+ if (m_afterstyle & LVS_EX_CHECKBOXES) {
+ *pVal = ListView_GetCheckState(m_hWnd, varIdx.iVal) ? VB_TRUE : VB_FALSE;
}
return S_OK;
}
STDMETHODIMP CControl::put_ItemCheckState(VARIANT idx, BOOL newVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
- if(lstrcmp(m_classname,WC_LISTVIEW)){
+
+ if (lstrcmp(m_classname,WC_LISTVIEW)) {
// \83\8a\83X\83g\83r\83\85\81[\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
+
CComVariant varIdx;
- if(varIdx.ChangeType(VT_I2,&idx) != S_OK){
- return DISP_E_TYPEMISMATCH;
+ HRESULT hr = varIdx.ChangeType(VT_I2, &idx);
+ if (FAILED(hr)) {
+ return hr;
}
- if(m_afterstyle & LVS_EX_CHECKBOXES){
- ListView_SetCheckState(m_hWnd,varIdx.iVal,newVal);
+
+ if (m_afterstyle & LVS_EX_CHECKBOXES) {
+ ListView_SetCheckState(m_hWnd, varIdx.iVal, newVal);
}
return S_OK;
}
STDMETHODIMP CControl::DeleteSelectedItem()
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"LISTBOX")){
+
+ if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\83{\83b\83N\83X\82Ì\91I\91ð\8dí\8f\9c
- CComVariant varRet,dmy;
- while(get_CurrentSelectedItem(&varRet) == S_OK && varRet.vt != VT_EMPTY){
+ CComVariant varRet, dmy;
+ while (get_CurrentSelectedItem(&varRet) == S_OK && varRet.vt != VT_EMPTY) {
varRet.ChangeType(VT_I4);
- if(varRet.lVal < 0){
+ if (varRet.lVal < 0) {
break;
}
- DeleteString(varRet,&dmy);
+ DeleteString(varRet, &dmy);
}
}
else if(!lstrcmp(m_classname,WC_LISTVIEW)){
// \83\8a\83X\83g\83r\83\85\81[\82Ì\8dí\8f\9c
int nIdx = -1;
- while((nIdx = ListView_GetNextItem(m_hWnd,nIdx,LVNI_SELECTED)) != -1){
- CComVariant varIdx((long)nIdx),dmy;
- DeleteString(varIdx,&dmy);
+ while ((nIdx = ListView_GetNextItem(m_hWnd, nIdx, LVNI_SELECTED)) != -1) {
+ CComVariant varIdx((long)nIdx), dmy;
+ DeleteString(varIdx, &dmy);
nIdx = -1;
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
return S_OK;
}
STDMETHODIMP CControl::get_ItemText(VARIANT idx, BSTR *pVal)
{
- _bstr_t tmp;
if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_DESTROYED);
}
+
int nIdx = -1;
CComVariant varIdx;
- if(varIdx.ChangeType(VT_I2,&idx) == S_OK){
+ if (varIdx.ChangeType(VT_I2,&idx) == S_OK) {
nIdx = varIdx.iVal;
}
+
if(nIdx < 0){
return DISP_E_TYPEMISMATCH;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,"COMBOBOX")){
+ CComBSTR ret;
+ if (!lstrcmp(m_classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83z\83{\83b\83N\83X\82©\82ç\95¶\8e\9a\97ñ\82ð\8eæ\93¾\82·\82é
- int siz = ::SendMessage(m_hWnd,CB_GETLBTEXTLEN,nIdx,0);
- if(siz > 0){
- LPTSTR p = new CHAR[siz+1];
- if(::SendMessage(m_hWnd,CB_GETLBTEXT,nIdx,(LPARAM)p) > 0){
- tmp = (LPCSTR)p;
+ int siz = ::SendMessage(m_hWnd, CB_GETLBTEXTLEN, nIdx, 0);
+ if (siz > 0) {
+ ATL::CString tmp;
+ LPTSTR p = tmp.GetBufferSetLength(siz + 1);
+ if (::SendMessage(m_hWnd, CB_GETLBTEXT, nIdx, (LPARAM)p) > 0) {
+ ret = p;
}
- delete[]p;
}
}
- else if(!lstrcmp(m_classname,"LISTBOX")){
+ else if (!lstrcmp(m_classname, _TEXT("LISTBOX"))) {
// \83\8a\83X\83g\82©\82ç\95¶\8e\9a\97ñ\82ð\8eæ\93¾\82·\82é
- int siz = ::SendMessage(m_hWnd,LB_GETTEXTLEN,nIdx,0);
- if(siz > 0){
- LPTSTR p = new CHAR[siz+1];
- if(::SendMessage(m_hWnd,LB_GETTEXT,nIdx,(LPARAM)p) > 0){
- tmp = (LPCSTR)p;
+ int siz = ::SendMessage(m_hWnd, LB_GETTEXTLEN, nIdx, 0);
+ if (siz > 0) {
+ ATL::CString tmp;
+ LPTSTR p = tmp.GetBufferSetLength(siz + 1);
+ if (::SendMessage(m_hWnd, LB_GETTEXT, nIdx, (LPARAM)p) > 0) {
+ ret = p;
}
- delete[]p;
}
}
- else if(!lstrcmp(m_classname,WC_LISTVIEW)){
- CComVariant arg,ret;
+ else if (!lstrcmp(m_classname, WC_LISTVIEW)) {
+ CComVariant arg, text;
arg = (long)0;
- if((retcode = GetColumnText(idx,arg,&ret)) == S_OK){
- if(ret.ChangeType(VT_BSTR) == S_OK){
- tmp = ret.bstrVal;
+ HRESULT hr;
+ if (SUCCEEDED(GetColumnText(idx, arg, &text))) {
+ if (SUCCEEDED(text.ChangeType(VT_BSTR))) {
+ ret = text.bstrVal;
}
}
}
else{
// \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
- *pVal = tmp.copy();
- return retcode;
+ *pVal = ret.Detach();
+ return S_OK;
}
STDMETHODIMP CControl::put_ItemText(VARIANT idx, BSTR newVal)
{
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
+
int nIdx = -1;
CComVariant varIdx;
- if(varIdx.ChangeType(VT_I2,&idx) == S_OK){
+ if (varIdx.ChangeType(VT_I2, &idx) == S_OK) {
nIdx = varIdx.iVal;
}
- if(nIdx < 0){
- return DISP_E_TYPEMISMATCH;
+
+ if (nIdx < 0) {
+ return DISP_E_BADINDEX;
}
- HRESULT retcode = S_OK;
- if(!lstrcmp(m_classname,WC_LISTVIEW)){
- CComVariant arg,text;
+ if (!lstrcmp(m_classname, WC_LISTVIEW)) {
+ CComVariant arg, text;
arg = (long)0;
text = (BSTR)newVal;
- retcode = SetColumnText(idx,arg,text);
- }
- else{
- // \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
- ErrorInfo(IDS_ERR_NOTSUPPORTCONTROL);
- retcode = DISP_E_EXCEPTION;
+ return SetColumnText(idx, arg, text);
}
- return retcode;
+
+ // \82»\82ê\88È\8aO\82Í\83T\83|\81[\83g\8aO
+ return Error(IDS_ERR_NOTSUPPORTCONTROL);
}
STDMETHODIMP CControl::SetClassEvent(BSTR name,VARIANT* pvarUnk)
STDMETHODIMP CControl::CreateChild(VARIANT text, VARIANT varItem, VARIANT* pvarUnk)
{
::VariantInit(pvarUnk);
- if(!m_hParent || !m_hWnd){
- ErrorInfo(IDS_ERR_DESTROYED);
- return DISP_E_EXCEPTION;
+ if (!m_hParent || !m_hWnd) {
+ return Error(IDS_ERR_DESTROYED);
}
+
// \83A\83C\83e\83\80\82Ì\8c\9f\8fØ
CComVariant tmp;
- if(tmp.ChangeType(VT_UNKNOWN,&varItem) == S_OK){
+ if (tmp.ChangeType(VT_UNKNOWN, &varItem) == S_OK) {
ITreeItem * pItem = NULL;
- if(tmp.punkVal->QueryInterface(IID_ITreeItem,(void**)&pItem) != S_OK){
+ if (tmp.punkVal->QueryInterface(IID_ITreeItem, (void**) &pItem) != S_OK) {
return DISP_E_UNKNOWNINTERFACE;
}
+
IUnknown* pUnk = NULL;
- if(pItem->Create(text,&pUnk) == S_OK){
+ if (pItem->Create(text,&pUnk) == S_OK) {
pvarUnk->vt = VT_UNKNOWN;
pvarUnk->punkVal = pUnk;
}
pItem->Release();
}
else{
- tmp.ChangeType(VT_VARIANT,&varItem);
- if(tmp.vt == VT_ERROR || tmp.vt == VT_NULL || tmp.vt == VT_EMPTY){
+ tmp.ChangeType(VT_VARIANT, &varItem);
+ if (tmp.vt == VT_ERROR || tmp.vt == VT_NULL || tmp.vt == VT_EMPTY) {
// \83\8b\81[\83g\8fã\82É\83A\83C\83e\83\80\82ð\8dì\90¬\82·\82é
AddString(text,pvarUnk);
}
// CControl
class ATL_NO_VTABLE CControl :
public CComObjectRootEx<CComSingleThreadModel>,
-// public CComCoClass<CControl, &CLSID_Control>,
+ public CComCoClass<CControl, &CLSID_Control>,
public ISupportErrorInfo,
public IConnectionPointContainerImpl<CControl>,
public IDispatchImpl<IControl, &IID_IControl, &LIBID_SERAPHYSCRIPTTOOLSLib>
m_nColumnCount = 0;
m_dLastSortColumn = -1; //\8dÅ\8cã\82É\83\\81[\83g\82µ\82½\83J\83\89\83\80
}
- void SetParam(DWORD afterstyle,DWORD exstyle,LPCSTR classname,LPCSTR caption,DWORD style,int x,int y,int w,int h,int nID)
+
+ void SetParam(DWORD afterstyle, DWORD exstyle, LPCTSTR classname, LPCTSTR caption, DWORD style, int x, int y, int w, int h, int nID)
{
- CHAR tmp[64];
- wsprintf(tmp,"OnCommand%d",nID);
+ TCHAR tmp[64];
+ wsprintf(tmp, _T("OnCommand%d"), nID);
m_x = x;
m_y = y;
m_h = h;
m_w = w;
- m_exstyle = exstyle;
- m_style = style;
- lstrcpy(m_classname,classname);
- lstrcpy(m_caption,caption);
- m_nID = nID;
+ m_exstyle = exstyle;
+ m_style = style;
+ lstrcpy(m_classname, classname);
+ lstrcpy(m_caption, caption);
+ m_nID = nID;
m_bstrClassEvent = tmp;
m_hWnd = NULL;
m_hParent = NULL;
m_afterstyle = afterstyle;
}
+
HWND GetHWnd()
{
return m_hWnd;
}
+
void Redraw()
{
- RedrawWindow(m_hWnd,NULL,NULL,RDW_ERASE|RDW_FRAME|RDW_INTERNALPAINT|RDW_INVALIDATE);
+ RedrawWindow(m_hWnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INTERNALPAINT | RDW_INVALIDATE);
}
+
void SetFont(HFONT hFont)
{
if(m_hWnd){
VARTYPE m_typCompare;
int m_dLastSortColumn;
int m_nColumnCount;
- LPSTR ConvertVariantToString(VARIANT text);
+ HRESULT ConvertVariantToString(VARIANT text, ATL::CString &retval);
};
#endif //__CONTROL_H_
// \88ó\8dü\83\81\83\\83b\83h\81E\83v\83\8d\83p\83e\83B
STDMETHODIMP CCanvas::PrintAs(VARIANT print,VARIANT* pRet)
{
- CComVariant varRet,varPrint;
+ CComVariant varRet, varPrint;
PRINTDLG pdlg = {0};
pdlg.lStructSize = sizeof(PRINTDLG);
pdlg.hwndOwner = m_hParent;
delete m_pPrinterDeviceMode;
}
DEVMODE *pDevMode = (DEVMODE*)GlobalLock(pdlg.hDevMode);
- m_pPrinterDeviceMode = (DEVMODE*)new BYTE[siz+1];
- CopyMemory(m_pPrinterDeviceMode,pDevMode,siz);
+ m_pPrinterDeviceMode = (DEVMODE*) new BYTE[siz + 1];
+ CopyMemory(m_pPrinterDeviceMode, pDevMode, siz);
// \83v\83\8a\83\93\83^\96¼\82ð\95Û\91¶
- lstrcpy(m_szPrinterName,(LPCSTR)pDevMode->dmDeviceName);
- varRet = (LPCSTR)(pDevMode->dmDeviceName);
+ StringCbCopy(m_szPrinterName, MAX_PATH, (LPCTSTR) pDevMode->dmDeviceName);
+ varRet = pDevMode->dmDeviceName;
GlobalUnlock(pdlg.hDevMode);
GlobalFree(pdlg.hDevMode);
}
// \83v\83\8a\83\93\83^\82Ì\83I\81[\83v\83\93
DOCINFO dinfo = {0};
dinfo.cbSize = sizeof(DOCINFO);
- dinfo.lpszDocName = "SeraphyScriptTools";
+ dinfo.lpszDocName = _TEXT("SeraphyScriptTools");
int nJob = StartDoc(dc.m_hDC,&dinfo);
StartPage(dc.m_hDC);
// \88ó\8dü\94Í\88Í\82Ì\90Ý\92è
STDMETHODIMP CCanvas::GetPrinterDefault(VARIANT name)
{
- TCHAR szPrinterName[MAX_PATH];
- DWORD namesz = MAX_PATH;
CComVariant varName;
- if(varName.ChangeType(VT_BSTR,&name) == S_OK){
- WideCharToMultiByte(GetACP(),0,varName.bstrVal,-1,szPrinterName,MAX_PATH,NULL,NULL);
+ ATL::CString szPrinterName(_TEXT(""));
+ if (varName.ChangeType(VT_BSTR,&name) == S_OK) {
+ szPrinterName = varName.bstrVal;
}
- else if(!GetDefaultPrinter(szPrinterName,&namesz)){
- // \8aù\92è\82Ì\83v\83\8a\83\93\83^\82ª\8c©\82Â\82©\82ç\82È\82©\82Á\82½\8fê\8d\87
- ErrorInfo(IDS_ERR_NODEFPRINTER);
- return DISP_E_EXCEPTION;
+ else {
+ DWORD namesz = MAX_PATH;
+ LPTSTR pName = szPrinterName.GetBufferSetLength(namesz);
+ if (!GetDefaultPrinter(pName, &namesz)){
+ // \8aù\92è\82Ì\83v\83\8a\83\93\83^\82ª\8c©\82Â\82©\82ç\82È\82©\82Á\82½\8fê\8d\87
+ return Error(IDS_ERR_NODEFPRINTER);
+ }
+ szPrinterName.ReleaseBuffer();
}
+
HANDLE hp;
- if(OpenPrinter(szPrinterName,&hp,NULL)){
- if(m_pPrinterDeviceMode){
+ if (OpenPrinter(szPrinterName.GetBuffer(), &hp, NULL)) {
+ if (m_pPrinterDeviceMode) {
// \8aù\91¶\82Ì\83o\83b\83t\83A\82ð\83N\83\8a\83A
delete m_pPrinterDeviceMode;
}
+
// \95K\97v\82È\83p\83\89\83\81\81[\83^\81[\82Ì\95Û\8e\9d
- DWORD sz = (DWORD)DocumentProperties(m_hParent,hp,szPrinterName,NULL,NULL,0);
+ DWORD sz = (DWORD)DocumentProperties(m_hParent, hp, szPrinterName.GetBuffer(), NULL, NULL, 0);
m_pPrinterDeviceMode = (DEVMODE*)new BYTE[sz+1];
- DocumentProperties(m_hParent,hp,szPrinterName,m_pPrinterDeviceMode,NULL,DM_OUT_BUFFER);
+
+ DocumentProperties(m_hParent, hp, szPrinterName.GetBuffer(), m_pPrinterDeviceMode, NULL, DM_OUT_BUFFER);
ClosePrinter(hp);
+
// \83v\83\8a\83\93\83^\96¼\82Ì\95Û\91¶
- lstrcpy(m_szPrinterName,szPrinterName);
+ lstrcpy(m_szPrinterName, szPrinterName);
}
else{
// \83v\83\8a\83\93\83^\8fî\95ñ\82Ì\8eæ\93¾\82É\8e¸\94s\82µ\82½\8fê\8d\87
- ErrorInfo(IDS_ERR_PRINTERSETTING);
- return DISP_E_EXCEPTION;
+ return Error(IDS_ERR_PRINTERSETTING);
}
return S_OK;
}
STDMETHODIMP CForm::SetControlFont(VARIANT fontname, VARIANT fontsize)
{
- CComVariant varName,varSize;
- TCHAR szFontName[MAX_PATH] = {0};
- if(varName.ChangeType(VT_BSTR,&fontname) == S_OK){
- WideCharToMultiByte(GetACP(),0,varName.bstrVal,-1,szFontName,MAX_PATH,NULL,NULL);
+ CComVariant varName;
+ ATL::CString szFontName;
+ if (varName.ChangeType(VT_BSTR,&fontname) == S_OK) {
+ szFontName = varName.bstrVal;
}
+
+ CComVariant varSize;
int siz = 20;
- if(varSize.ChangeType(VT_I2,&fontsize) == S_OK){
+ if (varSize.ChangeType(VT_I2, &fontsize) == S_OK) {
siz = varSize.iVal;
}
+
// \8am\95Û\8dÏ\82Ý\83t\83H\83\93\83g\82ð\89ð\95ú\82·\82é
- if(m_hControlFont){
+ if (m_hControlFont) {
DeleteObject(m_hControlFont);
}
+
// \90V\82µ\82¢\83t\83H\83\93\83g\82ð\8dì\90¬\82·\82é
- m_hControlFont = CreateFont(siz,0,0,0,0,false,false,false,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,szFontName);
+ m_hControlFont = CreateFont(
+ siz,
+ 0, 0, 0, 0, false, false, false,
+ SHIFTJIS_CHARSET,
+ OUT_DEFAULT_PRECIS,
+ CLIP_DEFAULT_PRECIS,
+ DEFAULT_QUALITY,
+ FF_DONTCARE,
+ szFontName);
+
m_nControlFontSize = siz;
+
// \8c»\8dÝ\82Ì\83R\83\93\83g\83\8d\81[\83\8b\82·\82×\82Ä\82É\93K\97p\82·\82é(\90¶\90¬\82³\82ê\82Ä\82¢\82ê\82Î)
list<CComObject<CControl>*>::iterator p = m_lstControl.begin();
- while(p != m_lstControl.end()){
+ while (p != m_lstControl.end()) {
(*p)->SetFont(m_hControlFont);
p++;
}
STDMETHODIMP CForm::Label(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,0,SS_NOTIFY,0,"STATIC");
+ CreateControlCore(text,width,dmy,pvarUnk,0,SS_NOTIFY,0, _TEXT("STATIC"));
return S_OK;
}
STDMETHODIMP CForm::Button(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_PUSHBUTTON,0,"BUTTON");
+ CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_PUSHBUTTON,0, _TEXT("BUTTON"));
return S_OK;
}
STDMETHODIMP CForm::CheckBox(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_AUTOCHECKBOX,0,"BUTTON");
+ CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_AUTOCHECKBOX,0, _TEXT("BUTTON"));
return S_OK;
}
STDMETHODIMP CForm::RadioButton(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,0,BS_AUTORADIOBUTTON|(m_bControlNextIsGroupHead?WS_TABSTOP:0),0,"BUTTON");
+ CreateControlCore(text,width,dmy,pvarUnk,0,BS_AUTORADIOBUTTON|(m_bControlNextIsGroupHead?WS_TABSTOP:0),0, _TEXT("BUTTON"));
return S_OK;
}
STDMETHODIMP CForm::CheckBox3state(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_AUTO3STATE,0,"BUTTON");
+ CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_AUTO3STATE,0, _TEXT("BUTTON"));
return S_OK;
}
STDMETHODIMP CForm::PushCheckButton(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_AUTOCHECKBOX|BS_PUSHLIKE,0,"BUTTON");
+ CreateControlCore(text,width,dmy,pvarUnk,0,WS_TABSTOP|BS_AUTOCHECKBOX|BS_PUSHLIKE,0, _TEXT("BUTTON"));
return S_OK;
}
STDMETHODIMP CForm::PushRadioButton(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,0,BS_AUTORADIOBUTTON|BS_PUSHLIKE|(m_bControlNextIsGroupHead?WS_TABSTOP:0),0,"BUTTON");
+ CreateControlCore(text,width,dmy,pvarUnk,0,BS_AUTORADIOBUTTON|BS_PUSHLIKE|(m_bControlNextIsGroupHead?WS_TABSTOP:0),0, _TEXT("BUTTON"));
return S_OK;
}
// \92P\88ê\8ds
style |= ES_AUTOHSCROLL;
}
- CreateControlCore(text,width,height,punkVal,m_bControlUseStaticEdge?WS_EX_STATICEDGE:WS_EX_CLIENTEDGE,style,0,"EDIT");
+ CreateControlCore(text,width,height,punkVal,m_bControlUseStaticEdge?WS_EX_STATICEDGE:WS_EX_CLIENTEDGE,style,0, _TEXT("EDIT"));
return S_OK;
}
// \92P\88ê\8ds
style |= ES_AUTOHSCROLL;
}
- CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,style,0,"EDIT");
+ CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,style,0, _TEXT("EDIT"));
return S_OK;
}
STDMETHODIMP CForm::PasswordEdit(VARIANT text, VARIANT width, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(text,width,dmy,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|ES_PASSWORD,0,"EDIT");
+ CreateControlCore(text,width,dmy,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|ES_PASSWORD,0, _TEXT("EDIT"));
return S_OK;
}
STDMETHODIMP CForm::ListBox(VARIANT width, VARIANT height,VARIANT* pvarUnk)
{
CComVariant text;
- CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|LBS_NOTIFY|LBS_USETABSTOPS|LBS_NOINTEGRALHEIGHT|LBS_DISABLENOSCROLL,0,"LISTBOX");
+ CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|LBS_NOTIFY|LBS_USETABSTOPS|LBS_NOINTEGRALHEIGHT|LBS_DISABLENOSCROLL,0, _TEXT("LISTBOX"));
return S_OK;
}
STDMETHODIMP CForm::MultiListBox(VARIANT width, VARIANT height, VARIANT *pvarUnk)
{
CComVariant text;
- CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|LBS_NOTIFY|LBS_USETABSTOPS|LBS_NOINTEGRALHEIGHT|LBS_MULTIPLESEL|/*LBS_EXTENDEDSEL|*/LBS_DISABLENOSCROLL|LBS_HASSTRINGS,0,"LISTBOX");
+ CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|LBS_NOTIFY|LBS_USETABSTOPS|LBS_NOINTEGRALHEIGHT|LBS_MULTIPLESEL|/*LBS_EXTENDEDSEL|*/LBS_DISABLENOSCROLL|LBS_HASSTRINGS,0,_TEXT("LISTBOX"));
return S_OK;
}
STDMETHODIMP CForm::DropdownList(VARIANT width, VARIANT height, VARIANT *pvarUnk)
{
CComVariant dmy;
- CreateControlCore(dmy,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|CBS_DROPDOWNLIST|CBS_SORT,0,"COMBOBOX");
+ CreateControlCore(dmy,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|CBS_DROPDOWNLIST|CBS_SORT,0,_TEXT("COMBOBOX"));
return S_OK;
}
STDMETHODIMP CForm::DropdownEdit(VARIANT text,VARIANT width, VARIANT height, VARIANT *pvarUnk)
{
- CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|CBS_DROPDOWN|CBS_AUTOHSCROLL|CBS_SORT,0,"COMBOBOX");
+ CreateControlCore(text,width,height,pvarUnk,WS_EX_CLIENTEDGE,WS_TABSTOP|CBS_DROPDOWN|CBS_AUTOHSCROLL|CBS_SORT,0,_TEXT("COMBOBOX"));
return S_OK;
}
return S_OK;
}
-CControl* CForm::CreateControlCore(VARIANT &text, VARIANT &width, VARIANT &height,VARIANT *pvarUnk, DWORD extstyle, DWORD style, DWORD afterstyle,LPCSTR classname)
+CControl* CForm::CreateControlCore(VARIANT &text, VARIANT &width, VARIANT &height,VARIANT *pvarUnk, DWORD extstyle, DWORD style, DWORD afterstyle,LPCTSTR classname)
{
CComVariant varText;
- TCHAR szCaption[MAX_PATH] = {0};
- if(varText.ChangeType(VT_BSTR,&text) == S_OK){
- WideCharToMultiByte(GetACP(),0,varText.bstrVal,-1,szCaption,MAX_PATH,NULL,NULL);
+ ATL::CString szCaption;
+ if (varText.ChangeType(VT_BSTR,&text) == S_OK) {
+ szCaption = varText.bstrVal;
}
// \94z\92u\83T\83C\83Y\82Ì\8eæ\93¾
pvarUnk->punkVal = pUnk;
// \8e\9f\82É\89ü\8ds\82µ\82½\82Æ\82«\82É\88Ú\93®\82·\82é\97Ê
- if(!lstrcmp(classname,"COMBOBOX")){
+ if (!lstrcmp(classname, _TEXT("COMBOBOX"))) {
// \83R\83\93\83{\83{\83b\83N\83X\82Í\95\\8e¦\82³\82ê\82Ä\82¢\82é\82Ì\82Í1\8ds\95ª\82¾\82¯\81B
nHeight = m_nControlFontSize;
}
STDMETHODIMP CForm::StatusLabel(VARIANT text, VARIANT width, VARIANT height, VARIANT *pvarUnk)
{
- CreateControlCore(text,width,height,pvarUnk,m_bControlUseStaticEdge?WS_EX_STATICEDGE:WS_EX_CLIENTEDGE,SS_NOTIFY,0,"STATIC");
+ CreateControlCore(text,width,height,pvarUnk,m_bControlUseStaticEdge?WS_EX_STATICEDGE:WS_EX_CLIENTEDGE,SS_NOTIFY,0,_TEXT("STATIC"));
return S_OK;
}
STDMETHOD(Button)(/*[in]*/VARIANT text,/*[in]*/VARIANT width,/*[out,retval]*/ VARIANT *pvarUnk);
STDMETHOD(Label)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT width,/*[out,retval]*/VARIANT* pvarUnk);
protected:
- CControl* CreateControlCore(VARIANT& text,VARIANT& width,VARIANT& height,VARIANT* pvarUnk,DWORD extstyle,DWORD style,DWORD afterstyle,LPCSTR classname);
- list<CComObject<CControl>*> m_lstControl;
+ CControl* CreateControlCore(VARIANT& text, VARIANT& width, VARIANT& height, VARIANT* pvarUnk,
+ DWORD extstyle, DWORD style, DWORD afterstyle, LPCTSTR classname);
+
+ std::list<CComObject<CControl>*> m_lstControl;
BOOL m_bControlUseStaticEdge;
BOOL m_bControlNextIsGroupHead;
int m_nCommandID;
fntsiz = MulDiv(fntsiz,height_mm,height_px);
ReleaseDC(hWnd,hdc);
}
- HFONT hFont = CreateFont(fntsiz,0,0,0,0,false,false,false,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,m_szFontName);
+ HFONT hFont = CreateFont(fntsiz, 0, 0, 0, 0, false, false, false,
+ SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, m_szFontName);
HFONT hOldFont = NULL;
if(hFont){
hOldFont = (HFONT)SelectObject(dc.m_hDC,hFont);
STDMETHODIMP CLayer::Text(VARIANT x,VARIANT y,VARIANT text)
{
CComVariant str;
- if(str.ChangeType(VT_BSTR,&text) != S_OK){
- return DISP_E_TYPEMISMATCH;
+ HRESULT hr = str.ChangeType(VT_BSTR, &text);
+ if(FAILED(hr)) {
+ return hr;
}
+
long lx = GetMappedValue(x);
long ly = GetMappedValue(y);
int len = SysStringByteLen(str.bstrVal);
- LPSTR pBuf = new CHAR[len+1];
- WideCharToMultiByte(GetACP(),0,str.bstrVal,len,pBuf,len,0,0);
- pBuf[len] = 0;
- AddDrawData(new textdata(lx,ly,pBuf,m_bTextMappingMode));
- delete[]pBuf;
+
+ ATL::CString buf(str.bstrVal);
+
+ AddDrawData(new textdata(lx, ly, buf, m_bTextMappingMode));
return S_OK;
}
STDMETHODIMP CLayer::TextBox(VARIANT sx, VARIANT sy, VARIANT ex, VARIANT ey, VARIANT text, VARIANT fmt)
{
- CComVariant str,cfmt;
long lsx = GetMappedValue(sx);
long lsy = GetMappedValue(sy);
long lex = GetMappedValue(ex);
long ley = GetMappedValue(ey);
+
UINT ufmt = 0;
- if(cfmt.ChangeType(VT_I4,&fmt) == S_OK){
+ CComVariant cfmt;
+ if (cfmt.ChangeType(VT_I4, &fmt) == S_OK){
ufmt = cfmt.lVal;
}
- if(str.ChangeType(VT_BSTR,&text) != S_OK){
- return DISP_E_TYPEMISMATCH;
+
+ CComVariant str;
+ HRESULT hr = str.ChangeType(VT_BSTR, &text);
+ if (FAILED(hr)) {
+ return hr;
}
- int len = SysStringByteLen(str.bstrVal);
- LPSTR pBuf = new CHAR[len+1];
- int cnt = WideCharToMultiByte(GetACP(),0,str.bstrVal,-1,pBuf,len,0,0);
- pBuf[cnt-1] = 0;
- AddDrawData(new textboxdata(lsx,lsy,lex,ley,pBuf,ufmt,m_bTextMappingMode));
- delete[]pBuf;
+
+ ATL::CString buf(str.bstrVal);
+
+ AddDrawData(new textboxdata(lsx, lsy, lex, ley, buf, ufmt, m_bTextMappingMode));
return S_OK;
}
STDMETHODIMP CLayer::get_FontName(BSTR *pVal)
{
- WCHAR wmes[MAX_PATH];
- MultiByteToWideChar(GetACP(),0,m_szFontName,-1,wmes,MAX_PATH);
- *pVal = SysAllocString(wmes);
+ CComBSTR ret(m_szFontName);
+ *pVal = ret.Detach();
return S_OK;
}
STDMETHODIMP CLayer::put_FontName(BSTR newVal)
{
- WideCharToMultiByte(GetACP(),0,newVal,-1,m_szFontName,MAX_PATH,NULL,NULL);
+ m_szFontName = newVal;
return S_OK;
}
class textdata : public drawdata
{
public:
- textdata(long x,long y,LPCSTR text,BOOL mapmode)
+ textdata(long x, long y, LPCTSTR text, BOOL mapmode)
{
pBuf = new TCHAR[lstrlen(text)+1];
lstrcpy(pBuf,text);
m_y = y;
m_bTextMappingMode = mapmode;
}
+
virtual void Destroy()
{
delete pBuf;
delete this;
}
+
virtual void Draw(CDC dc)
{
POINT pt = {m_x,m_y};
class textboxdata : public drawdata
{
public:
- textboxdata(long sx,long sy,long ex,long ey,LPCSTR text,UINT fmt,BOOL mapmode)
+ textboxdata(long sx, long sy, long ex, long ey, LPCTSTR text, UINT fmt, BOOL mapmode)
{
pBuf = new TCHAR[lstrlen(text)+1];
lstrcpy(pBuf,text);
m_nFontSize = 0;
m_dwFillColor = 0x808080;
m_dwFontColor = ::GetSysColor(COLOR_WINDOWTEXT);
- ZeroMemory(m_szFontName,MAX_PATH);
+ m_szFontName.Empty();
// \83}\83b\83s\83\93\83O\83\82\81[\83h
m_bTextMappingMode = 0;
m_bFontTextMappingMode = 0;
DWORD m_dwColor;
int m_nFontSize;
BOOL m_bVisible;
- CHAR m_szFontName[MAX_PATH];
+ ATL::CString m_szFontName;
int m_bTextMappingMode;
int m_bFontTextMappingMode;
};
}
}
}
- else if(bEnv){
+ else if (bEnv){
// \98A\91z\94z\97ñ\82É\82Í\91¶\8dÝ\82¹\82¸\81A\8aÂ\8b«\95Ï\90\94\93W\8aJ\82ª\8ew\8e¦\82³\82ê\82Ä\82¢\82é
- CHAR szName [MAX_PATH] = { 0 };
- CHAR szBuf [MAX_PATH] = { 0 };
- WCHAR wbuf[MAX_PATH] = { 0 };
- WideCharToMultiByte(GetACP(),0,name,-1,szName,MAX_PATH,NULL,NULL);
- DWORD ret = GetEnvironmentVariable(szName,szBuf,MAX_PATH);
- if(ret && ret < MAX_PATH){
+ ATL::CString szName(name);
+ TCHAR szBuf[MAX_PATH] = {0};
+ DWORD ret = GetEnvironmentVariable(szName, szBuf, MAX_PATH);
+ if (ret && ret < MAX_PATH) {
// \8aÂ\8b«\95Ï\90\94\82ª\94\8c©\82³\82ê\82½
- if(phase == 0){
+ if (phase == 0) {
// \83t\83G\81[\83Y1\82Í\83J\83E\83\93\83g\82·\82é\82¾\82¯
expandsize += ret;
}
else{
// \83t\83F\81[\83Y2\82Í\8eÀ\8dÛ\82É\8f\91\82«\8d\9e\82Þ
- MultiByteToWideChar(GetACP(),0,szBuf,ret,wbuf,MAX_PATH);
- UINT i;
- for(i=0;i<ret;i++){
+ ATL::CStringW wbuf(szBuf);
+ for (UINT i=0; i < ret; i++) {
pExpandBuffer[writeidx++] = wbuf[i];
}
}
if(windowParam.noclose){
// \95Â\82¶\82é\83{\83^\83\93\82È\82µ\83^\83C\83v
- windowParam.SetWindowClassName("SeraphyScriptToolsOverlappedWindowNC");
+ windowParam.SetWindowClassName(_TEXT("SeraphyScriptToolsOverlappedWindowNC"));
windowParam.wndstyle = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS | CS_NOCLOSE;
}
else{
- windowParam.SetWindowClassName("SeraphyScriptToolsOverlappedWindow");
+ windowParam.SetWindowClassName(_TEXT("SeraphyScriptToolsOverlappedWindow"));
windowParam.wndstyle = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
}
HWND hWnd = CreateWindowEx(
WS_EX_CONTROLPARENT,
windowParam.szClassName,
- "", // \83_\83~\81[
+ _TEXT(""), // \83_\83~\81[
windowParam.GetStyle(),
CW_USEDEFAULT,
CW_USEDEFAULT,
windowParam.height,
m_hParentWnd,
NULL, _Module.m_hInst, this);
- ::SetWindowLong(hWnd,GWL_USERDATA,(LONG)this); // \83N\83\89\83X\82Æ\8aÖ\98A\95t\82¯\82é
+ ::SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR) this); // \83N\83\89\83X\82Æ\8aÖ\98A\95t\82¯\82é
m_hPopupWnd = hWnd;
// \83E\83B\83\93\83h\83E\83X\83^\83C\83\8b\82Ì\8dÄ\90Ý\92è
::SetWindowLong(m_hPopupWnd,GWL_STYLE,windowParam.GetStyle());
minfo.fMask = MIIM_TYPE|MIIM_ID;
minfo.fType = MFT_STRING;
minfo.wID = WM_MOVENEXT_OVERLAPPED;
- minfo.dwTypeData = "\8e\9f\82Ì\83E\83B\83\93\83h\83E\82É\88Ú\93®\tF6";
+ minfo.dwTypeData = _TEXT("\8e\9f\82Ì\83E\83B\83\93\83h\83E\82É\88Ú\93®\tF6"); //FIXME: \83\8a\83\\81[\83X\82É\88Ú\93®\82·\82é
::InsertMenuItem(hMenu,cnt,true,&minfo);
// \83t\83H\81[\83\80\82Ì\83\81\83C\83\93\83E\83B\83\93\83h\83E\97p\82Æ\82µ\82Ä\83A\83^\83b\83`\82·\82é
LRESULT CALLBACK COverlappedWindow::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
- COverlappedWindow* me = (COverlappedWindow*)::GetWindowLong(hWnd,GWL_USERDATA);
+ COverlappedWindow* me = (COverlappedWindow*)::GetWindowLongPtr(hWnd, GWLP_USERDATA);
// \8bÙ\8b}\92â\8e~\82Ì\94»\92è
if(GetAsyncKeyState(VK_PAUSE) & 0x8000){
{
#ifdef _DEBUG
TCHAR mes[MAX_PATH];
- wsprintf(mes,"command=%d:%d\n",HIWORD(wParam),LOWORD(wParam));
+ wsprintf(mes, _TEXT("command=%d:%d\n"), HIWORD(wParam), LOWORD(wParam));
OutputDebugString(mes);
#endif
HWND hControl = (HWND)lParam;
{
// ListView\82Å\83J\83\89\83\80\82ª\83N\83\8a\83b\83N\82³\82ê\82½\82±\82Æ\82ð\92Ê\92m\82·\82é
LPNMLISTVIEW pnmv = (LPNMLISTVIEW) lParam;
- DWORD addr = ::GetWindowLong(pnmv->hdr.hwndFrom,GWL_USERDATA);
- if(addr){
+ LONG_PTR addr = ::GetWindowLongPtr(pnmv->hdr.hwndFrom, GWLP_USERDATA);
+ if (addr) {
// \83J\83\89\83\80\83N\83\8a\83b\83N\82É\82æ\82é\83\\81[\83e\83B\83\93\83O\82ð\8ds\82¤
CComObject<CControl>* pCtrl = (CComObject<CControl>*)addr;
pCtrl->ListSort(pnmv->iSubItem);
{
// ListView - TreeView \82Å\89E\83N\83\8a\83b\83N\82³\82ê\82½\82±\82Æ\82ð\92Ê\92m\82·\82é
LPNMHDR lpnmh = (LPNMHDR) lParam;
- DWORD addr = ::GetWindowLong(lpnmh->hwndFrom,GWL_USERDATA);
- if(addr){
+ LONG_PTR addr = ::GetWindowLong(lpnmh->hwndFrom, GWLP_USERDATA);
+ if (addr) {
CComObject<CControl>* pCtrl = (CComObject<CControl>*)addr;
pCtrl->OnRClick(); // \83R\83\93\83g\83\8d\81[\83\8b\82É\89E\83N\83\8a\83b\83N\82ð\92Ê\92m\82µ\91O\8f\88\97\9d\82ð\8ds\82í\82¹\82é
}
}
}
// \83\81\83j\83\85\81[\82Ì\8c\9f\8dõ
- if(m_hMenu && nID >= 100){
- map<int,_bstr_t>::iterator p;
- p = m_cMenuMap.find(nID);
- if(p != m_cMenuMap.end()){
+ if (m_hMenu && nID >= 100) {
+ map<int, CComBSTR>::iterator p = m_cMenuMap.find(nID);
+ if (p != m_cMenuMap.end()) {
// \94\8c©\82³\82ê\82½
ClassObjectInvoke(p->second);
}
HRESULT hRet = S_OK;
CComVariant tmp;
if(tmp.ChangeType(VT_BSTR,&fmt) == S_OK){
- UINT len = SysStringByteLen(tmp.bstrVal)+1;
- LPSTR pBuf = new CHAR[len];
- int cnt = WideCharToMultiByte(GetACP(),0,tmp.bstrVal,-1,pBuf,len,NULL,NULL);
- pBuf[cnt - 1] = 0;
+ ATL::CString buf(tmp.bstrVal);
+
// \8cÃ\82¢\83\81\83j\83\85\81[\82ð\94j\8aü\82·\82é
- if(m_hMenu){
+ if (m_hMenu) {
m_cMenuMap.clear();
::SetMenu(m_hPopupWnd,NULL);
DestroyMenu(m_hMenu);
m_hMenu = NULL;
}
- if(cnt > 1){
+
+ if (buf.GetLength() > 0) {
// \8d\80\96Ú\82ª\82 \82ê\82Î\83\81\83j\83\85\81[\96¼\82ð\83p\81[\83X\82·\82é
m_hMenu = CreateMenu();
TCHAR menuname[MAX_PATH];
TCHAR szSubmenu[MAX_PATH];
- LPSTR p = pBuf;
+ LPTSTR p = buf.GetBuffer();
HMENU hPopupMenu = NULL;
int lv1 = 0;
int lv2 = 0;
int cmd = 0;
- while(*p){
- while(*p == ' ' || *p == '\t')p++; // \83u\83\89\83\93\83N\83X\83L\83b\83v
- if(*p == '/'){
+ while (*p) {
+ while (*p == ' ' || *p == '\t') p++; // \83u\83\89\83\93\83N\83X\83L\83b\83v
+ if (*p == '/') {
p++;
// \83|\83b\83v\83A\83b\83v\83\81\83j\83\85\81[\82Ì\8dì\90¬
- if(hPopupMenu){
+ if (hPopupMenu) {
// \8aù\91¶\82Ì\83|\83b\83v\83A\83b\83v\82ð\96\84\82ß\8d\9e\82Þ
MENUITEMINFO inf = {0};
inf.cbSize = sizeof(MENUITEMINFO);
lv2 = 0;
cmd = 0;
hPopupMenu = CreatePopupMenu();
- LPSTR d = p;
- while(*p && *p != ',' && *p != '/' && *p != ':'){
+ LPTSTR d = p;
+ while (*p && *p != ',' && *p != '/' && *p != ':') {
p = CharNext(p);
}
- ZeroMemory(szSubmenu,MAX_PATH);
- CopyMemory(szSubmenu,d,p-d);
- if(*p == ',' || *p == ':'){
+ ZeroMemory(szSubmenu, MAX_PATH);
+ CopyMemory(szSubmenu, d, p-d);
+ if (*p == ',' || *p == ':') {
p++;
}
}
else{
// \83\81\83j\83\85\81[\82Ì\8dì\90¬
- if(hPopupMenu){
- LPSTR d = p;
- while(*p && *p != ',' && *p != '/' && *p != ':'){
+ if (hPopupMenu) {
+ LPTSTR d = p;
+ while (*p && *p != ',' && *p != '/' && *p != ':') {
p = CharNext(p);
}
- ZeroMemory(menuname,MAX_PATH);
- CopyMemory(menuname,d,p-d);
+ ZeroMemory(menuname, MAX_PATH);
+ CopyMemory(menuname, d, p-d);
// \83R\83}\83\93\83h\83Z\83p\83\8c\81[\83^\81[\82ð\8c\9f\8d¸\82·\82é
- _bstr_t eventname;
- LPSTR findcmd = strchr(menuname,'@');
+ CComBSTR eventname;
+ LPTSTR findcmd = _tcschr(menuname, _TEXT('@'));
if(findcmd){
*findcmd = 0;
eventname = (LPCSTR)(findcmd + 1);
}
else{
- CHAR tmp[64];
- wsprintf(tmp,"OnMenu%d",lv1*100+cmd);
+ TCHAR tmp[64];
+ wsprintf(tmp, _TEXT("OnMenu%d"), lv1 * 100 + cmd);
eventname = tmp;
}
- m_cMenuMap.insert(pair<int,_bstr_t>(lv1*100+cmd,eventname));
+ m_cMenuMap.insert(std::pair<int, CComBSTR>(lv1 * 100 + cmd, eventname));
// \83\81\83j\83\85\81[\82Ì\8dì\90¬
MENUITEMINFO inf = {0};
inf.cbSize = sizeof(MENUITEMINFO);
}
::SetMenu(m_hPopupWnd,m_hMenu);
}
- delete[]pBuf;
}
return hRet;
}
STDMETHODIMP COverlappedWindow::TrackPopupMenu(VARIANT text, VARIANT cmd,VARIANT* pRet)
{
SafeCreateWnd();
- CComVariant varCmd;
- CComVariant varText;
+
CComVariant varRet;
varRet = 0;
int nCommand = 0;
- if(varCmd.ChangeType(VT_I2,&cmd) == S_OK){
+ CComVariant varCmd;
+ if (varCmd.ChangeType(VT_I2, &cmd) == S_OK){
nCommand = varCmd.iVal;
}
- if(varText.ChangeType(VT_BSTR,&text) == S_OK){
+
+ CComVariant varText;
+ if (varText.ChangeType(VT_BSTR, &text) == S_OK) {
TCHAR menuname[MAX_PATH];
- UINT len = SysStringByteLen(varText.bstrVal)+1;
- LPSTR pBuf = new CHAR[len];
- int cnt = WideCharToMultiByte(GetACP(),0,varText.bstrVal,-1,pBuf,len,NULL,NULL);
- pBuf[cnt - 1] = 0;
- LPSTR p = pBuf;
+
+ ATL::CString buf(varText.bstrVal);
+ UINT len = buf.GetLength() + 1;
+ LPTSTR p = buf.GetBuffer();
+
int lv = 0;
int cmd = 0;
HMENU hPopupMenu = CreatePopupMenu();
- while(*p){
- LPSTR d = p;
- while(*p == ' ' || *p == '\t'){
+ while (*p) {
+ LPTSTR d = p;
+ while (*p == ' ' || *p == '\t') {
p++;
}
- while(*p && *p != ',' && *p != '/' && *p != ':'){
+ while (*p && *p != ',' && *p != '/' && *p != ':') {
p = CharNext(p);
}
- ZeroMemory(menuname,MAX_PATH);
- CopyMemory(menuname,d,p-d);
+ ZeroMemory(menuname, MAX_PATH);
+ CopyMemory(menuname, d, p-d);
MENUITEMINFO inf = {0};
inf.cbSize = sizeof(MENUITEMINFO);
inf.fMask = MIIM_TYPE|MIIM_ID;
inf.fType = MFT_STRING;
- if(nCommand != 0){
- inf.wID = nCommand + cmd;
+ if (nCommand != 0) {
+ inf.wID = nCommand + cmd;
}
- else{
+ else {
// \83R\83}\83\93\83h\83x\81[\83X\82ª0\82È\82ç\82Î\83R\83}\83\93\83h\83C\83x\83\93\83g\82Í\94\90¶\82³\82¹\82È\82¢\81B
// TrackPopupMenu\82Í\83R\83}\83\93\83h\82ð\91I\91ð\82µ\82È\82©\82Á\82½\8fê\8d\87\82Í0\82ð\95Ô\82·\82½\82ß\81A0\82æ\82è\82à\91å\82«\82È\92l\82É\82·\82é\95K\97v\82ª\82 \82é\81B
inf.wID = nCommand + cmd + 1;
}
inf.dwTypeData = menuname;
- InsertMenuItem(hPopupMenu,lv,true,&inf);
+ InsertMenuItem(hPopupMenu, lv, true, &inf);
lv++;
cmd++;
- if(*p == ',' || *p == '/'){
+ if (*p == ',' || *p == '/') {
p++;
}
- else if(*p == ':'){
+ else if (*p == ':') {
inf.fMask = MIIM_TYPE;
inf.fType = MFT_SEPARATOR;
- InsertMenuItem(hPopupMenu,lv,true,&inf);
+ InsertMenuItem(hPopupMenu, lv, true, &inf);
p++;
lv++;
}
}
- delete[]pBuf;
+
// TrackPopupMene
DWORD pos = GetMessagePos();
::SetFocus(m_hPopupWnd);
- varRet = (SHORT)::TrackPopupMenuEx(hPopupMenu
- ,TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON |
- (nCommand==0?(TPM_NONOTIFY|TPM_RETURNCMD):0) // \83R\83}\83\93\83h\83x\81[\83X\82ª0\82Å\82 \82ê\82Î\81A\83R\83}\83\93\83h\83C\83x\83\93\83g\82ð\92Ê\92m\82³\82¹\82È\82¢\81B
- ,LOWORD(pos),HIWORD(pos),m_hPopupWnd,NULL);
+ varRet = (SHORT) ::TrackPopupMenuEx(hPopupMenu,
+ TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON |
+ (nCommand == 0 ? (TPM_NONOTIFY | TPM_RETURNCMD) : 0), // \83R\83}\83\93\83h\83x\81[\83X\82ª0\82Å\82 \82ê\82Î\81A\83R\83}\83\93\83h\83C\83x\83\93\83g\82ð\92Ê\92m\82³\82¹\82È\82¢\81B
+ LOWORD(pos),
+ HIWORD(pos),
+ m_hPopupWnd,
+ NULL);
DestroyMenu(hPopupMenu);
}
varRet.Detach(pRet);
STDMETHODIMP COverlappedWindow::put_Exstyle(long newVal)
{
windowParam.exstyle = (DWORD)newVal;
- if(m_hPopupWnd){
- ::SetWindowLong(m_hPopupWnd,GWL_STYLE,windowParam.exstyle);
+ if (m_hPopupWnd) {
+ ::SetWindowLong(m_hPopupWnd, GWL_STYLE, windowParam.exstyle);
}
return S_OK;
}
STDMETHODIMP COverlappedWindow::get_WindowClassName(BSTR *pVal)
{
- WCHAR wmes[MAX_PATH];
- MultiByteToWideChar(GetACP(),0,windowParam.szClassName,-1,wmes,MAX_PATH);
- *pVal = SysAllocString(wmes);
+ CComBSTR tmp(windowParam.szClassName);
+ *pVal = tmp.Detach();
return S_OK;
}
STDMETHODIMP COverlappedWindow::Refresh()
{
- if(m_hPopupWnd){
- ::SetWindowPos(m_hPopupWnd,NULL,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER|SWP_DRAWFRAME|SWP_FRAMECHANGED|SWP_NOCOPYBITS);
+ if (m_hPopupWnd) {
+ ::SetWindowPos(
+ m_hPopupWnd,
+ NULL,
+ 0, 0, 0, 0,
+ SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME | SWP_FRAMECHANGED | SWP_NOCOPYBITS);
}
return S_OK;
}
void COverlappedWindow::SetTitle()
{
- if(!m_hPopupWnd){
+ if (!m_hPopupWnd) {
return;
}
- TCHAR szTitle[MAX_PATH] = {0};
- WideCharToMultiByte(GetACP(),0,m_bstrCaption,-1,szTitle,MAX_PATH,NULL,NULL);
- ::SetWindowText(m_hPopupWnd,szTitle);
+ ATL::CString tmp(m_bstrCaption);
+ ::SetWindowText(m_hPopupWnd, tmp);
}
STDMETHODIMP COverlappedWindow::SetPlacement(VARIANT x, VARIANT y, VARIANT w, VARIANT h, VARIANT *pvarUnk)
HWND* hWnds = NULL;
if(m_hParentWnd && bSearchRoot){
// \8dª\8c³\82Å\82È\82¯\82ê\82Î\81A\82³\82ç\82É\96â\82¢\8d\87\82í\82¹\82é
- COverlappedWindow* pParent = (COverlappedWindow*)::GetWindowLong(m_hParentWnd,GWL_USERDATA);
- if(pParent){
+ COverlappedWindow* pParent = (COverlappedWindow*)::GetWindowLongPtr(m_hParentWnd, GWLP_USERDATA);
+ if (pParent) {
pParent->CreateWindowList(lstWnd,true);
}
}
STDMETHODIMP COverlappedWindow::LoadIcon(VARIANT text)
{
- CHAR szPath[MAX_PATH];
CComVariant varText;
- if(varText.ChangeType(VT_BSTR,&text) != S_OK){
+ if (varText.ChangeType(VT_BSTR, &text) != S_OK) {
return DISP_E_TYPEMISMATCH;
}
- WideCharToMultiByte(GetACP(),0,varText.bstrVal,-1,szPath,MAX_PATH,NULL,NULL);
- if(m_hIcon){
+ ATL::CString szPath(varText.bstrVal);
+
+ if (m_hIcon) {
DestroyIcon(m_hIcon);
m_hIcon = NULL;
}
- m_hIcon = (HICON)LoadImage(NULL,szPath,IMAGE_ICON
- ,GetSystemMetrics(SM_CXSMICON)
- ,GetSystemMetrics(SM_CYSMICON),LR_LOADFROMFILE);
- if(m_hIcon && m_hPopupWnd){
+ m_hIcon = (HICON)LoadImage(NULL, szPath, IMAGE_ICON,
+ GetSystemMetrics(SM_CXSMICON),
+ GetSystemMetrics(SM_CYSMICON),
+ LR_LOADFROMFILE);
+
+ if (m_hIcon && m_hPopupWnd) {
::SendMessage(m_hPopupWnd, WM_SETICON, false, (LPARAM)m_hIcon);
}
return S_OK;
}
void Clear()
{
- list<LPSTR>::iterator p = m_lstPath.begin();
+ list<LPTSTR>::iterator p = m_lstPath.begin();
while(p != m_lstPath.end()){
- delete (*p);
+ delete[] *p;
p = m_lstPath.erase(p);
}
}
int i;
for(i=0;i<count;i++){
DWORD sz = ::DragQueryFile(hDrop,i,NULL,0);
- LPSTR pBuf = new CHAR[sz+1];
+ LPTSTR pBuf = new TCHAR[sz+1];
::DragQueryFile(hDrop,i,pBuf,MAX_PATH);
m_lstPath.push_back(pBuf);
}
VARIANT* pvars;
if(SafeArrayAccessData(pArray,(void**)&pvars) == S_OK){
int i = 0;
- list<LPSTR>::iterator p = m_lstPath.begin();
+ list<LPTSTR>::iterator p = m_lstPath.begin();
while(p != m_lstPath.end()){
- WCHAR wbuf[MAX_PATH];
- MultiByteToWideChar(GetACP(),0,*p,-1,wbuf,MAX_PATH);
- VariantInit(&pvars[i]);
- pvars[i].vt = VT_BSTR;
- pvars[i].bstrVal = SysAllocString(wbuf);
+ CComVariant wbuf(*p);
+ wbuf.Detach(&pvars[i]);
p++;
i++;
}
pvarPathName->parray = pArray;
}
protected:
- list<LPSTR> m_lstPath;
+ list<LPTSTR> m_lstPath;
};
/////////////////////////////////////////////////////////////////////////////
width = w;
height = h;
}
- inline void SetWindowClassName(LPCSTR name)
+ inline void SetWindowClassName(LPCTSTR name)
{
lstrcpy(szClassName,name);
}
- CHAR szClassName[MAX_PATH];
+ TCHAR szClassName[MAX_PATH];
DWORD wndstyle;
DWORD style;
DWORD exstyle;
HWND m_hPopupWnd;
HWND m_hParentWnd;
HICON m_hIcon;
- map<int,_bstr_t> m_cMenuMap;
+ map<int, CComBSTR> m_cMenuMap;
};
#endif //__OverlappedWindow_H_
STDMETHODIMP CPrivateProfile::get_ProfilePath(BSTR *pVal)
{
- *pVal = m_bstr_profilepath.copy();
- return S_OK;
+ return m_bstr_profilepath.CopyTo(pVal);
}
STDMETHODIMP CPrivateProfile::put_ProfilePath(BSTR newVal)
if(varText.ChangeType(VT_BSTR,&text) != S_OK){
return DISP_E_TYPEMISMATCH;
}
- if(m_bstr_profilepath.length() <= 0){
+ if (m_bstr_profilepath.Length() <= 0) {
ErrorInfo(IDS_ERR_PROFILEPATH);
return DISP_E_EXCEPTION;
}
CComObject<CProfileSection>* pSection = NULL;
pSection->CreateInstance(&pSection);
ATLASSERT(pSection);
- WideCharToMultiByte(GetACP(),0,m_bstr_profilepath,-1,pSection->m_szProfilePath,MAX_PATH,NULL,NULL);
- WideCharToMultiByte(GetACP(),0,varText.bstrVal ,-1,pSection->m_szSectionName,MAX_PATH,NULL,NULL);
+
+ pSection->m_szProfilePath = m_bstr_profilepath;
+ pSection->m_szSectionName = varText.bstrVal;
+
IUnknown* pUnk = NULL;
pSection->QueryInterface(IID_IUnknown,(void**)&pUnk);
ATLASSERT(pUnk);
STDMETHOD(get_ProfilePath)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_ProfilePath)(/*[in]*/ BSTR newVal);
protected:
- _bstr_t m_bstr_profilepath;
+ CComBSTR m_bstr_profilepath;
};
#endif //__PRIVATEPROFILE_H_
STDMETHODIMP CProfileSection::get_Value(VARIANT idx, VARIANT *pVal)
{
::VariantInit(pVal);
+
+ ATL::CString szKeyname;
CComVariant varIdx;
- CHAR szKeyname[MAX_PATH] = { 0 };
- const int siz = 1024 * 8; // 8KBytes
- LPSTR szReturn = new CHAR[siz];
- if(varIdx.ChangeType(VT_BSTR,&idx) == S_OK){
- WideCharToMultiByte(GetACP(),0,varIdx.bstrVal,-1,szKeyname,MAX_PATH,NULL,NULL);
+ if (varIdx.ChangeType(VT_BSTR, &idx) == S_OK){
+ szKeyname = varIdx.bstrVal;
}
- if(GetPrivateProfileString(m_szSectionName,szKeyname,"",szReturn,siz,m_szProfilePath)){
- CComVariant ret((LPCSTR)szReturn);
+
+ const int siz = 1024 * 8; // 8KBytes
+ ATL::CString buf;
+ LPTSTR szReturn = buf.GetBufferSetLength(siz);
+ if (GetPrivateProfileString(m_szSectionName, szKeyname, _TEXT(""), szReturn, siz, m_szProfilePath)) {
+ CComVariant ret(szReturn);
ret.Detach(pVal);
}
- delete[]szReturn;
return S_OK;
}
STDMETHODIMP CProfileSection::put_Value(VARIANT idx, VARIANT newVal)
{
// \83f\83B\83t\83H\83\8b\83g\82Ì\92l\82Â\82«\8eæ\93¾
- CComVariant varIdx,varNew;
- CHAR szKeyname[MAX_PATH] = { 0 };
- const int siz = 1024 * 8; // 8KBytes
- LPSTR szWrite = new CHAR[siz+1];
- if(varIdx.ChangeType(VT_BSTR,&idx) == S_OK){
- WideCharToMultiByte(GetACP(),0,varIdx.bstrVal,-1,szKeyname,MAX_PATH,NULL,NULL);
+
+ ATL::CString szKeyname;
+ CComVariant varIdx;
+ if (varIdx.ChangeType(VT_BSTR, &idx) == S_OK) {
+ szKeyname = varIdx.bstrVal;
}
- if(varNew.ChangeType(VT_BSTR,&newVal) == S_OK){
- int cnt = WideCharToMultiByte(GetACP(),0,varNew.bstrVal,-1,szWrite,siz,NULL,NULL);
- szWrite[cnt] = 0;
+
+ ATL::CString szWrite;
+ CComVariant varNew;
+ if (varNew.ChangeType(VT_BSTR, &newVal) == S_OK){
+ szWrite = varNew.bstrVal;
}
- WritePrivateProfileString(m_szSectionName,szKeyname,szWrite,m_szProfilePath);
- delete[]szWrite;
+
+ WritePrivateProfileString(m_szSectionName, szKeyname, szWrite, m_szProfilePath);
return S_OK;
}
{
// \83f\83B\83t\83H\83\8b\83g\82Ì\92l\82Â\82«\8eæ\93¾
::VariantInit(pVal);
- CComVariant varIdx,varDef;
- CHAR szKeyname[MAX_PATH] = { 0 };
- CHAR szDefault[MAX_PATH] = { 0 };
- const int siz = 1024 * 8; // 8KBytes
- LPSTR szReturn = new CHAR[siz];
- if(varIdx.ChangeType(VT_BSTR,&idx) == S_OK){
- WideCharToMultiByte(GetACP(),0,varIdx.bstrVal,-1,szKeyname,MAX_PATH,NULL,NULL);
+
+ ATL::CString szKeyname;
+ CComVariant varIdx;
+ if (varIdx.ChangeType(VT_BSTR, &idx) == S_OK) {
+ szKeyname = varIdx.bstrVal;
}
- if(varDef.ChangeType(VT_BSTR,&def) == S_OK){
- WideCharToMultiByte(GetACP(),0,varDef.bstrVal,-1,szDefault,MAX_PATH,NULL,NULL);
+
+ ATL::CString szDefault;
+ CComVariant varDef;
+ if (varDef.ChangeType(VT_BSTR, &def) == S_OK) {
+ szDefault = varDef.bstrVal;
}
- if(GetPrivateProfileString(m_szSectionName,szKeyname,szDefault,szReturn,siz,m_szProfilePath)){
- CComVariant ret((LPCSTR)szReturn);
+
+ const int siz = 1024 * 8; // 8KBytes
+ ATL::CString buf;
+ LPTSTR szReturn = buf.GetBufferSetLength(siz);
+ if (GetPrivateProfileString(m_szSectionName, szKeyname, szDefault, szReturn, siz, m_szProfilePath)) {
+ CComVariant ret(szReturn);
ret.Detach(pVal);
}
- delete[]szReturn;
return S_OK;
}
DWORD siz = 4096;
DWORD oldsiz = 0;
DWORD retsiz = 0;
- LPSTR pBuf = new CHAR[siz];
- while( (retsiz = GetPrivateProfileSection(m_szSectionName,pBuf,siz,m_szProfilePath)) &&
- (retsiz == (siz - 2)) && ( oldsiz != retsiz ) ){
+ LPTSTR pBuf = new TCHAR[siz];
+ while ((retsiz = GetPrivateProfileSection(m_szSectionName, pBuf, siz, m_szProfilePath)) &&
+ (retsiz == (siz - 2)) && (oldsiz != retsiz)) {
oldsiz = siz;
siz *= 2;
delete []pBuf;
- pBuf = new CHAR[siz];
+ pBuf = new TCHAR[siz];
}
// \83J\83E\83\93\83g\82·\82é
- LPSTR p = pBuf;
+ LPTSTR p = pBuf;
long count = 0;
- while(*p){
+ while (*p) {
count++;
- while(*p++);
+ while (*p++);
}
// \88ê\8e\9f\94z\97ñ\82Ì\90¶\90¬
- SAFEARRAY* pArray = SafeArrayCreateVector(VT_VARIANT,0,count);
+ SAFEARRAY* pArray = SafeArrayCreateVector(VT_VARIANT, 0, count);
long idx = 0;
p = pBuf;
- while(*p){
+ while (*p) {
CComVariant tmp;
- LPCSTR pb = p;
- while(*p){
- if(*p == '='){
+ LPCTSTR pb = p;
+ while (*p) {
+ if (*p == '=') {
*p = 0;
}
p++;
STDMETHOD(GetValue)(/*[in]*/VARIANT idx,/*[in,optional]*/VARIANT def,/*[out,retval]*/VARIANT* pVal);
STDMETHOD(get_Value)(/*[in]*/VARIANT idx, /*[out, retval]*/ VARIANT *pVal);
STDMETHOD(put_Value)(/*[in]*/VARIANT idx, /*[in]*/ VARIANT newVal);
- CHAR m_szProfilePath[MAX_PATH];
- CHAR m_szSectionName[MAX_PATH];
+ ATL::CString m_szProfilePath;
+ ATL::CString m_szSectionName;
};
#endif //__PROFILESECTION_H_
#include "profilesection.h"
#include "privateprofile.h"
+// Common Controls\97plib\82Ì\83\8d\81[\83h
+#pragma comment(lib, "comctl32.lib")
+
CComModule _Module;
BEGIN_OBJECT_MAP(ObjectMap)
/* File created by MIDL compiler version 8.00.0603 */
-/* at Sun Jul 19 17:53:12 2015
+/* at Sat Jul 25 10:10:02 2015
*/
/* Compiler settings for SeraphyScriptTools.idl:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0603
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release MinDependency|Win32 = Release MinDependency|Win32
- Release MinSize|Win32 = Release MinSize|Win32
+ MBCS Debug|Win32 = MBCS Debug|Win32
+ MBCS Debug|x64 = MBCS Debug|x64
+ MBCS Release|Win32 = MBCS Release|Win32
+ MBCS Release|x64 = MBCS Release|x64
Unicode Debug|Win32 = Unicode Debug|Win32
- Unicode Release MinDependency|Win32 = Unicode Release MinDependency|Win32
- Unicode Release MinSize|Win32 = Unicode Release MinSize|Win32
+ Unicode Debug|x64 = Unicode Debug|x64
+ Unicode Release|Win32 = Unicode Release|Win32
+ Unicode Release|x64 = Unicode Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Debug|Win32.ActiveCfg = Debug|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Debug|Win32.Build.0 = Debug|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Release MinDependency|Win32.ActiveCfg = Release MinDependency|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Release MinDependency|Win32.Build.0 = Release MinDependency|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Release MinSize|Win32.ActiveCfg = Release MinSize|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Release MinSize|Win32.Build.0 = Release MinSize|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release MinDependency|Win32.ActiveCfg = Unicode Release MinDependency|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release MinDependency|Win32.Build.0 = Unicode Release MinDependency|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release MinSize|Win32.ActiveCfg = Unicode Release MinSize|Win32
- {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release MinSize|Win32.Build.0 = Unicode Release MinSize|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Debug|Win32.ActiveCfg = MBCS Debug|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Debug|Win32.Build.0 = MBCS Debug|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Debug|x64.ActiveCfg = MBCS Debug|x64
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Debug|x64.Build.0 = MBCS Debug|x64
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Release|Win32.ActiveCfg = MBCS Release|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Release|Win32.Build.0 = MBCS Release|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Release|x64.ActiveCfg = MBCS Release|x64
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.MBCS Release|x64.Build.0 = MBCS Release|x64
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Debug|Win32.ActiveCfg = Unicode Release|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Debug|Win32.Build.0 = Unicode Release|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
+ {06035D5C-5F95-47F2-88B4-D614B0E06D2F}.Unicode Release|x64.Build.0 = Unicode Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
+++ /dev/null
-<?xml version="1.0" encoding = "shift_jis"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.00"
- Name="SeraphyScriptTools"
- SccProjectName=""
- SccLocalPath=""
- Keyword="AtlProj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release MinDependency|Win32"
- OutputDirectory=".\ReleaseMinDependency"
- IntermediateDirectory=".\ReleaseMinDependency"
- ConfigurationType="2"
- UseOfMFC="0"
- UseOfATL="1"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="3"
- PrecompiledHeaderThrough="stdafx.h"
- PrecompiledHeaderFile=".\ReleaseMinDependency/SeraphyScriptTools.pch"
- AssemblerListingLocation=".\ReleaseMinDependency/"
- ObjectFile=".\ReleaseMinDependency/"
- ProgramDataBaseFileName=".\ReleaseMinDependency/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="\93o\98^\82ð\8ds\82Á\82Ä\82¢\82Ü\82·"
- CommandLine="regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
-"
- Outputs="$(OutDir)\regsvr32.trg"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="comctl32.lib odbc32.lib odbccp32.lib version.lib"
- OutputFile=".\ReleaseMinDependency/SeraphyScriptTools.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- ModuleDefinitionFile=".\SeraphyScriptTools.def"
- ProgramDatabaseFile=".\ReleaseMinDependency/SeraphyScriptTools.pdb"
- SubSystem="2"
- ImportLibrary=".\ReleaseMinDependency/SeraphyScriptTools.lib"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\ReleaseMinDependency/SeraphyScriptTools.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1041"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- <Configuration
- Name="Unicode Release MinDependency|Win32"
- OutputDirectory=".\ReleaseUMinDependency"
- IntermediateDirectory=".\ReleaseUMinDependency"
- ConfigurationType="2"
- UseOfMFC="0"
- UseOfATL="1"
- ATLMinimizesCRunTimeLibraryUsage="TRUE"
- CharacterSet="1">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="3"
- PrecompiledHeaderThrough="stdafx.h"
- PrecompiledHeaderFile=".\ReleaseUMinDependency/SeraphyScriptTools.pch"
- AssemblerListingLocation=".\ReleaseUMinDependency/"
- ObjectFile=".\ReleaseUMinDependency/"
- ProgramDataBaseFileName=".\ReleaseUMinDependency/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="\93o\98^\82ð\8ds\82Á\82Ä\82¢\82Ü\82·"
- CommandLine="if "%OS%"=="" goto NOTNT
-if not "%OS%"=="Windows_NT" goto NOTNT
-regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
-goto end
-:NOTNT
-echo \8cx\8d\90 : Windows 95 \82É Unicode DLL \82ð\93o\98^\82·\82é\82±\82Æ\82Í\82Å\82«\82Ü\82¹\82ñ
-:end
-"
- Outputs="$(OutDir)\regsvr32.trg"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="comctl32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\ReleaseUMinDependency/SeraphyScriptTools.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- ModuleDefinitionFile=".\SeraphyScriptTools.def"
- ProgramDatabaseFile=".\ReleaseUMinDependency/SeraphyScriptTools.pdb"
- SubSystem="2"
- ImportLibrary=".\ReleaseUMinDependency/SeraphyScriptTools.lib"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\ReleaseUMinDependency/SeraphyScriptTools.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1041"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="3"
- PrecompiledHeaderThrough="stdafx.h"
- PrecompiledHeaderFile=".\Debug/SeraphyScriptTools.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="\93o\98^\82ð\8ds\82Á\82Ä\82¢\82Ü\82·"
- CommandLine="regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
-"
- Outputs="$(OutDir)\regsvr32.trg"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="comctl32.lib odbc32.lib odbccp32.lib version.lib"
- OutputFile=".\Debug/SeraphyScriptTools.dll"
- LinkIncremental="2"
- SuppressStartupBanner="TRUE"
- ModuleDefinitionFile=".\SeraphyScriptTools.def"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\Debug/SeraphyScriptTools.pdb"
- SubSystem="2"
- ImportLibrary=".\Debug/SeraphyScriptTools.lib"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\Debug/SeraphyScriptTools.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1041"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- <Configuration
- Name="Unicode Release MinSize|Win32"
- OutputDirectory=".\ReleaseUMinSize"
- IntermediateDirectory=".\ReleaseUMinSize"
- ConfigurationType="2"
- UseOfMFC="0"
- UseOfATL="2"
- ATLMinimizesCRunTimeLibraryUsage="TRUE"
- CharacterSet="1">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="3"
- PrecompiledHeaderThrough="stdafx.h"
- PrecompiledHeaderFile=".\ReleaseUMinSize/SeraphyScriptTools.pch"
- AssemblerListingLocation=".\ReleaseUMinSize/"
- ObjectFile=".\ReleaseUMinSize/"
- ProgramDataBaseFileName=".\ReleaseUMinSize/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="\93o\98^\82ð\8ds\82Á\82Ä\82¢\82Ü\82·"
- CommandLine="if "%OS%"=="" goto NOTNT
-if not "%OS%"=="Windows_NT" goto NOTNT
-regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
-goto end
-:NOTNT
-echo \8cx\8d\90 : Windows 95 \82É Unicode DLL \82ð\93o\98^\82·\82é\82±\82Æ\82Í\82Å\82«\82Ü\82¹\82ñ
-:end
-"
- Outputs="$(OutDir)\regsvr32.trg"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="comctl32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\ReleaseUMinSize/SeraphyScriptTools.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- ModuleDefinitionFile=".\SeraphyScriptTools.def"
- ProgramDatabaseFile=".\ReleaseUMinSize/SeraphyScriptTools.pdb"
- SubSystem="2"
- ImportLibrary=".\ReleaseUMinSize/SeraphyScriptTools.lib"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\ReleaseUMinSize/SeraphyScriptTools.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1041"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- <Configuration
- Name="Release MinSize|Win32"
- OutputDirectory=".\ReleaseMinSize"
- IntermediateDirectory=".\ReleaseMinSize"
- ConfigurationType="2"
- UseOfMFC="0"
- UseOfATL="2"
- ATLMinimizesCRunTimeLibraryUsage="TRUE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="3"
- PrecompiledHeaderThrough="stdafx.h"
- PrecompiledHeaderFile=".\ReleaseMinSize/SeraphyScriptTools.pch"
- AssemblerListingLocation=".\ReleaseMinSize/"
- ObjectFile=".\ReleaseMinSize/"
- ProgramDataBaseFileName=".\ReleaseMinSize/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="\93o\98^\82ð\8ds\82Á\82Ä\82¢\82Ü\82·"
- CommandLine="regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
-"
- Outputs="$(OutDir)\regsvr32.trg"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="comctl32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\ReleaseMinSize/SeraphyScriptTools.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- ModuleDefinitionFile=".\SeraphyScriptTools.def"
- ProgramDatabaseFile=".\ReleaseMinSize/SeraphyScriptTools.pdb"
- SubSystem="2"
- ImportLibrary=".\ReleaseMinSize/SeraphyScriptTools.lib"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\ReleaseMinSize/SeraphyScriptTools.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1041"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- <Configuration
- Name="Unicode Debug|Win32"
- OutputDirectory=".\DebugU"
- IntermediateDirectory=".\DebugU"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="1">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="3"
- PrecompiledHeaderThrough="stdafx.h"
- PrecompiledHeaderFile=".\DebugU/SeraphyScriptTools.pch"
- AssemblerListingLocation=".\DebugU/"
- ObjectFile=".\DebugU/"
- ProgramDataBaseFileName=".\DebugU/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"
- Description="\93o\98^\82ð\8ds\82Á\82Ä\82¢\82Ü\82·"
- CommandLine="if "%OS%"=="" goto NOTNT
-if not "%OS%"=="Windows_NT" goto NOTNT
-regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
-goto end
-:NOTNT
-echo \8cx\8d\90 : Windows 95 \82É Unicode DLL \82ð\93o\98^\82·\82é\82±\82Æ\82Í\82Å\82«\82Ü\82¹\82ñ
-:end
-"
- Outputs="$(OutDir)\regsvr32.trg"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/MACHINE:I386"
- AdditionalDependencies="comctl32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\DebugU/SeraphyScriptTools.dll"
- LinkIncremental="2"
- SuppressStartupBanner="TRUE"
- ModuleDefinitionFile=".\SeraphyScriptTools.def"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\DebugU/SeraphyScriptTools.pdb"
- SubSystem="2"
- ImportLibrary=".\DebugU/SeraphyScriptTools.lib"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\DebugU/SeraphyScriptTools.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1041"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- </Configuration>
- </Configurations>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath=".\CommDialog.cpp">
- </File>
- <File
- RelativePath=".\Control.cpp">
- </File>
- <File
- RelativePath=".\Draw.cpp">
- </File>
- <File
- RelativePath=".\Event.cpp">
- </File>
- <File
- RelativePath=".\Form.cpp">
- </File>
- <File
- RelativePath=".\Instance.cpp">
- </File>
- <File
- RelativePath=".\Layer.cpp">
- </File>
- <File
- RelativePath=".\ObjectMap.cpp">
- </File>
- <File
- RelativePath=".\ObjectVector.cpp">
- </File>
- <File
- RelativePath=".\OverlappedWindow.cpp">
- </File>
- <File
- RelativePath=".\PrivateProfile.cpp">
- </File>
- <File
- RelativePath=".\ProfileSection.cpp">
- </File>
- <File
- RelativePath=".\SeraphyScriptTools.cpp">
- </File>
- <File
- RelativePath=".\SeraphyScriptTools.def">
- </File>
- <File
- RelativePath=".\SeraphyScriptTools.idl">
- <FileConfiguration
- Name="Release MinDependency|Win32">
- <Tool
- Name="VCMIDLTool"
- GenerateStublessProxies="TRUE"
- TypeLibraryName=".\SeraphyScriptTools.tlb"
- HeaderFileName="SeraphyScriptTools.h"
- InterfaceIdentifierFileName="SeraphyScriptTools_i.c"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Release MinDependency|Win32">
- <Tool
- Name="VCMIDLTool"
- GenerateStublessProxies="TRUE"
- TypeLibraryName=".\SeraphyScriptTools.tlb"
- HeaderFileName="SeraphyScriptTools.h"
- InterfaceIdentifierFileName="SeraphyScriptTools_i.c"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCMIDLTool"
- GenerateStublessProxies="TRUE"
- TypeLibraryName=".\SeraphyScriptTools.tlb"
- HeaderFileName="SeraphyScriptTools.h"
- InterfaceIdentifierFileName="SeraphyScriptTools_i.c"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Release MinSize|Win32">
- <Tool
- Name="VCMIDLTool"
- GenerateStublessProxies="TRUE"
- TypeLibraryName=".\SeraphyScriptTools.tlb"
- HeaderFileName="SeraphyScriptTools.h"
- InterfaceIdentifierFileName="SeraphyScriptTools_i.c"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release MinSize|Win32">
- <Tool
- Name="VCMIDLTool"
- GenerateStublessProxies="TRUE"
- TypeLibraryName=".\SeraphyScriptTools.tlb"
- HeaderFileName="SeraphyScriptTools.h"
- InterfaceIdentifierFileName="SeraphyScriptTools_i.c"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Debug|Win32">
- <Tool
- Name="VCMIDLTool"
- GenerateStublessProxies="TRUE"
- TypeLibraryName=".\SeraphyScriptTools.tlb"
- HeaderFileName="SeraphyScriptTools.h"
- InterfaceIdentifierFileName="SeraphyScriptTools_i.c"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\SeraphyScriptTools.rc">
- <FileConfiguration
- Name="Release MinDependency|Win32">
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(OUTDIR);$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Release MinDependency|Win32">
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(OUTDIR);$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(OUTDIR);$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Release MinSize|Win32">
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(OUTDIR);$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release MinSize|Win32">
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(OUTDIR);$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Debug|Win32">
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(OUTDIR);$(NoInherit)"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Shell.cpp">
- </File>
- <File
- RelativePath=".\StdAfx.cpp">
- <FileConfiguration
- Name="Release MinDependency|Win32">
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Release MinDependency|Win32">
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Release MinSize|Win32">
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release MinSize|Win32">
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Unicode Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\TreeItem.cpp">
- </File>
- <File
- RelativePath=".\generic.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <File
- RelativePath=".\CommDialog.h">
- </File>
- <File
- RelativePath=".\Control.h">
- </File>
- <File
- RelativePath=".\Draw.h">
- </File>
- <File
- RelativePath=".\Event.h">
- </File>
- <File
- RelativePath=".\Form.h">
- </File>
- <File
- RelativePath=".\Instance.h">
- </File>
- <File
- RelativePath=".\Layer.h">
- </File>
- <File
- RelativePath=".\ObjectMap.h">
- </File>
- <File
- RelativePath=".\ObjectVector.h">
- </File>
- <File
- RelativePath=".\OverlappedWindow.h">
- </File>
- <File
- RelativePath=".\PrivateProfile.h">
- </File>
- <File
- RelativePath=".\ProfileSection.h">
- </File>
- <File
- RelativePath=".\Resource.h">
- </File>
- <File
- RelativePath=".\SeraphyScriptToolsCP.h">
- </File>
- <File
- RelativePath=".\Shell.h">
- </File>
- <File
- RelativePath=".\StdAfx.h">
- </File>
- <File
- RelativePath=".\TreeItem.h">
- </File>
- <File
- RelativePath=".\generic.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
- <File
- RelativePath=".\CommDialog.rgs">
- </File>
- <File
- RelativePath=".\Control.rgs">
- </File>
- <File
- RelativePath=".\Draw.rgs">
- </File>
- <File
- RelativePath=".\EnumSelect.rgs">
- </File>
- <File
- RelativePath=".\Event.rgs">
- </File>
- <File
- RelativePath=".\Form.rgs">
- </File>
- <File
- RelativePath=".\Instance.rgs">
- </File>
- <File
- RelativePath=".\Layer.rgs">
- </File>
- <File
- RelativePath=".\ObjectMap.rgs">
- </File>
- <File
- RelativePath=".\ObjectVector.rgs">
- </File>
- <File
- RelativePath=".\OverlappedWindow.rgs">
- </File>
- <File
- RelativePath=".\ParseName.rgs">
- </File>
- <File
- RelativePath=".\PrivateProfile.rgs">
- </File>
- <File
- RelativePath=".\ProfileSection.rgs">
- </File>
- <File
- RelativePath=".\Shell.rgs">
- </File>
- <File
- RelativePath=".\ShellExecObj.rgs">
- </File>
- <File
- RelativePath=".\TreeItem.rgs">
- </File>
- </Filter>
- <File
- RelativePath=".\old.txt">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
+ <ProjectConfiguration Include="MBCS Debug|Win32">
+ <Configuration>MBCS Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
- <ProjectConfiguration Include="Release MinDependency|Win32">
- <Configuration>Release MinDependency</Configuration>
- <Platform>Win32</Platform>
+ <ProjectConfiguration Include="MBCS Debug|x64">
+ <Configuration>MBCS Debug</Configuration>
+ <Platform>x64</Platform>
</ProjectConfiguration>
- <ProjectConfiguration Include="Release MinSize|Win32">
- <Configuration>Release MinSize</Configuration>
+ <ProjectConfiguration Include="MBCS Release|Win32">
+ <Configuration>MBCS Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="MBCS Release|x64">
+ <Configuration>MBCS Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Unicode Debug|Win32">
<Configuration>Unicode Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
- <ProjectConfiguration Include="Unicode Release MinDependency|Win32">
- <Configuration>Unicode Release MinDependency</Configuration>
- <Platform>Win32</Platform>
+ <ProjectConfiguration Include="Unicode Debug|x64">
+ <Configuration>Unicode Debug</Configuration>
+ <Platform>x64</Platform>
</ProjectConfiguration>
- <ProjectConfiguration Include="Unicode Release MinSize|Win32">
- <Configuration>Unicode Release MinSize</Configuration>
+ <ProjectConfiguration Include="Unicode Release|Win32">
+ <Configuration>Unicode Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Unicode Release|x64">
+ <Configuration>Unicode Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<SccProjectName />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'" Label="Configuration">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
- <UseOfAtl>Dynamic</UseOfAtl>
<CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'" Label="Configuration">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
- <UseOfAtl>Dynamic</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'" Label="Configuration">
+ <UseOfAtl>Static</UseOfAtl>
+ <CharacterSet>Unicode</CharacterSet>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
- <UseOfMfc>false</UseOfMfc>
- <CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'" Label="Configuration">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'" Label="Configuration">
+ <UseOfAtl>Static</UseOfAtl>
+ <CharacterSet>MultiByte</CharacterSet>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
- <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'" Label="Configuration">
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
- <UseOfMfc>false</UseOfMfc>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'" Label="Configuration">
<UseOfAtl>Static</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'" Label="PropertySheets">
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'" Label="PropertySheets">
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'" Label="PropertySheets">
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'" Label="PropertySheets">
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">
- <OutDir>.\ReleaseMinDependency\</OutDir>
- <IntDir>.\ReleaseMinDependency\</IntDir>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">
- <OutDir>.\ReleaseUMinDependency\</OutDir>
- <IntDir>.\ReleaseUMinDependency\</IntDir>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>.\Debug\</OutDir>
- <IntDir>.\Debug\</IntDir>
- <LinkIncremental>true</LinkIncremental>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">
- <OutDir>.\ReleaseUMinSize\</OutDir>
- <IntDir>.\ReleaseUMinSize\</IntDir>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">
- <OutDir>.\ReleaseMinSize\</OutDir>
- <IntDir>.\ReleaseMinSize\</IntDir>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">
- <OutDir>.\DebugU\</OutDir>
- <IntDir>.\DebugU\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">
+ <ClCompile>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>Create</PrecompiledHeader>
+ <Optimization>MinSpace</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <CustomBuildStep />
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>
+ </Link>
+ <Midl>
+ <TypeLibraryName>.\ReleaseUMinDependency/SeraphyScriptTools.tlb</TypeLibraryName>
+ </Midl>
+ <ResourceCompile />
+ <ResourceCompile>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">
<ClCompile>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>Create</PrecompiledHeader>
<Optimization>MinSpace</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <CustomBuildStep />
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ <Midl>
+ <TypeLibraryName>.\ReleaseUMinDependency/SeraphyScriptTools.tlb</TypeLibraryName>
+ </Midl>
+ <ResourceCompile />
+ <ResourceCompile>
+ <Culture>0x0411</Culture>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">
+ <ClCompile>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>.\ReleaseMinDependency/SeraphyScriptTools.pch</PrecompiledHeaderOutputFile>
- <AssemblerListingLocation>.\ReleaseMinDependency/</AssemblerListingLocation>
- <ObjectFileName>.\ReleaseMinDependency/</ObjectFileName>
- <ProgramDataBaseFileName>.\ReleaseMinDependency/</ProgramDataBaseFileName>
- <WarningLevel>Level3</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
+ <PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
- <CustomBuildStep>
- <Message>登録を行っています</Message>
- <Command>regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)regsvr32.trg"
-</Command>
- <Outputs>$(OutDir)regsvr32.trg;%(Outputs)</Outputs>
- </CustomBuildStep>
+ <CustomBuildStep />
<Link>
- <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>comctl32.lib;odbc32.lib;odbccp32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>.\ReleaseMinDependency/SeraphyScriptTools.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <ModuleDefinitionFile>.\SeraphyScriptTools.def</ModuleDefinitionFile>
- <ProgramDatabaseFile>.\ReleaseMinDependency/SeraphyScriptTools.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>.\ReleaseMinDependency/SeraphyScriptTools.lib</ImportLibrary>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
<Midl>
- <TypeLibraryName>.\ReleaseMinDependency/SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName>.\ReleaseUMinDependency/SeraphyScriptTools.tlb</TypeLibraryName>
</Midl>
+ <ResourceCompile />
<ResourceCompile>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0411</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">
<ClCompile>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>.\ReleaseUMinDependency/SeraphyScriptTools.pch</PrecompiledHeaderOutputFile>
- <AssemblerListingLocation>.\ReleaseUMinDependency/</AssemblerListingLocation>
- <ObjectFileName>.\ReleaseUMinDependency/</ObjectFileName>
- <ProgramDataBaseFileName>.\ReleaseUMinDependency/</ProgramDataBaseFileName>
- <WarningLevel>Level3</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
+ <PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
- <CustomBuildStep>
- <Message>登録を行っています</Message>
- <Command>if "%25OS%25"=="" goto NOTNT
-if not "%25OS%25"=="Windows_NT" goto NOTNT
-regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)regsvr32.trg"
-goto end
-:NOTNT
-echo 警告 : Windows 95 に Unicode DLL を登録することはできません
-:end
-</Command>
- <Outputs>$(OutDir)regsvr32.trg;%(Outputs)</Outputs>
- </CustomBuildStep>
+ <CustomBuildStep />
<Link>
- <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>comctl32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>.\ReleaseUMinDependency/SeraphyScriptTools.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <ModuleDefinitionFile>.\SeraphyScriptTools.def</ModuleDefinitionFile>
- <ProgramDatabaseFile>.\ReleaseUMinDependency/SeraphyScriptTools.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>.\ReleaseUMinDependency/SeraphyScriptTools.lib</ImportLibrary>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
<Midl>
<TypeLibraryName>.\ReleaseUMinDependency/SeraphyScriptTools.tlb</TypeLibraryName>
</Midl>
+ <ResourceCompile />
<ResourceCompile>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0411</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>.\Debug/SeraphyScriptTools.pch</PrecompiledHeaderOutputFile>
- <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
- <ObjectFileName>.\Debug/</ObjectFileName>
- <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
- <WarningLevel>Level3</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
+ <PrecompiledHeader>Create</PrecompiledHeader>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
- <CustomBuildStep>
- <Message>登録を行っています</Message>
- <Command>regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)regsvr32.trg"
-</Command>
- <Outputs>$(OutDir)regsvr32.trg;%(Outputs)</Outputs>
- </CustomBuildStep>
+ <CustomBuildStep />
<Link>
- <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>comctl32.lib;odbc32.lib;odbccp32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>.\Debug/SeraphyScriptTools.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <ModuleDefinitionFile>.\SeraphyScriptTools.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>.\Debug/SeraphyScriptTools.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>.\Debug/SeraphyScriptTools.lib</ImportLibrary>
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Midl>
- <TypeLibraryName>.\Debug/SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName>.\DebugU/SeraphyScriptTools.tlb</TypeLibraryName>
</Midl>
+ <ResourceCompile />
<ResourceCompile>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0411</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">
<ClCompile>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <StringPooling>true</StringPooling>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>.\ReleaseUMinSize/SeraphyScriptTools.pch</PrecompiledHeaderOutputFile>
- <AssemblerListingLocation>.\ReleaseUMinSize/</AssemblerListingLocation>
- <ObjectFileName>.\ReleaseUMinSize/</ObjectFileName>
- <ProgramDataBaseFileName>.\ReleaseUMinSize/</ProgramDataBaseFileName>
- <WarningLevel>Level3</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
+ <Optimization>Disabled</Optimization>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>Create</PrecompiledHeader>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
- <CustomBuildStep>
- <Message>登録を行っています</Message>
- <Command>if "%25OS%25"=="" goto NOTNT
-if not "%25OS%25"=="Windows_NT" goto NOTNT
-regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)regsvr32.trg"
-goto end
-:NOTNT
-echo 警告 : Windows 95 に Unicode DLL を登録することはできません
-:end
-</Command>
- <Outputs>$(OutDir)regsvr32.trg;%(Outputs)</Outputs>
- </CustomBuildStep>
+ <CustomBuildStep />
<Link>
- <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>comctl32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>.\ReleaseUMinSize/SeraphyScriptTools.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <ModuleDefinitionFile>.\SeraphyScriptTools.def</ModuleDefinitionFile>
- <ProgramDatabaseFile>.\ReleaseUMinSize/SeraphyScriptTools.pdb</ProgramDatabaseFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>.\ReleaseUMinSize/SeraphyScriptTools.lib</ImportLibrary>
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Midl>
- <TypeLibraryName>.\ReleaseUMinSize/SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName>.\DebugU/SeraphyScriptTools.tlb</TypeLibraryName>
</Midl>
+ <ResourceCompile />
<ResourceCompile>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0411</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">
<ClCompile>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <StringPooling>true</StringPooling>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>.\ReleaseMinSize/SeraphyScriptTools.pch</PrecompiledHeaderOutputFile>
- <AssemblerListingLocation>.\ReleaseMinSize/</AssemblerListingLocation>
- <ObjectFileName>.\ReleaseMinSize/</ObjectFileName>
- <ProgramDataBaseFileName>.\ReleaseMinSize/</ProgramDataBaseFileName>
- <WarningLevel>Level3</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
+ <Optimization>Disabled</Optimization>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
- <CustomBuildStep>
- <Message>登録を行っています</Message>
- <Command>regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)regsvr32.trg"
-</Command>
- <Outputs>$(OutDir)regsvr32.trg;%(Outputs)</Outputs>
- </CustomBuildStep>
+ <CustomBuildStep />
<Link>
- <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>comctl32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>.\ReleaseMinSize/SeraphyScriptTools.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <ModuleDefinitionFile>.\SeraphyScriptTools.def</ModuleDefinitionFile>
- <ProgramDatabaseFile>.\ReleaseMinSize/SeraphyScriptTools.pdb</ProgramDatabaseFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>.\ReleaseMinSize/SeraphyScriptTools.lib</ImportLibrary>
</Link>
<Midl>
- <TypeLibraryName>.\ReleaseMinSize/SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName>.\DebugU/SeraphyScriptTools.tlb</TypeLibraryName>
</Midl>
+ <ResourceCompile />
<ResourceCompile>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0411</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>.\DebugU/SeraphyScriptTools.pch</PrecompiledHeaderOutputFile>
- <AssemblerListingLocation>.\DebugU/</AssemblerListingLocation>
- <ObjectFileName>.\DebugU/</ObjectFileName>
- <ProgramDataBaseFileName>.\DebugU/</ProgramDataBaseFileName>
- <WarningLevel>Level3</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
- <CustomBuildStep>
- <Message>登録を行っています</Message>
- <Command>if "%25OS%25"=="" goto NOTNT
-if not "%25OS%25"=="Windows_NT" goto NOTNT
-regsvr32 /s /c "$(TargetPath)"
-echo regsvr32 exec. time > "$(OutDir)regsvr32.trg"
-goto end
-:NOTNT
-echo 警告 : Windows 95 に Unicode DLL を登録することはできません
-:end
-</Command>
- <Outputs>$(OutDir)regsvr32.trg;%(Outputs)</Outputs>
- </CustomBuildStep>
+ <CustomBuildStep />
<Link>
- <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>comctl32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>.\DebugU/SeraphyScriptTools.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <ModuleDefinitionFile>.\SeraphyScriptTools.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>.\DebugU/SeraphyScriptTools.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
- <ImportLibrary>.\DebugU/SeraphyScriptTools.lib</ImportLibrary>
</Link>
<Midl>
<TypeLibraryName>.\DebugU/SeraphyScriptTools.tlb</TypeLibraryName>
</Midl>
+ <ResourceCompile />
<ResourceCompile>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0411</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ClCompile Include="SeraphyScriptTools.cpp" />
<ClCompile Include="Shell.cpp" />
<ClCompile Include="StdAfx.cpp">
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="TreeItem.cpp" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<Midl Include="SeraphyScriptTools.idl">
- <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateStublessProxies>
- <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
- <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">SeraphyScriptTools.h</HeaderFileName>
- <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
- <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">true</GenerateStublessProxies>
- <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
- <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">SeraphyScriptTools.h</HeaderFileName>
- <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
- <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">true</GenerateStublessProxies>
- <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
- <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">SeraphyScriptTools.h</HeaderFileName>
- <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
<GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">true</GenerateStublessProxies>
+ <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">true</GenerateStublessProxies>
+ <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">true</GenerateStublessProxies>
+ <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">true</GenerateStublessProxies>
<TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">.\SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">.\SeraphyScriptTools.tlb</TypeLibraryName>
<HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">SeraphyScriptTools.h</HeaderFileName>
+ <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">SeraphyScriptTools.h</HeaderFileName>
+ <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">SeraphyScriptTools.h</HeaderFileName>
+ <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">SeraphyScriptTools.h</HeaderFileName>
<InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
- <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">true</GenerateStublessProxies>
- <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
- <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">SeraphyScriptTools.h</HeaderFileName>
- <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
- <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">true</GenerateStublessProxies>
- <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
- <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">SeraphyScriptTools.h</HeaderFileName>
- <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
+ <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
+ <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
+ <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
+ <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">true</GenerateStublessProxies>
+ <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">true</GenerateStublessProxies>
+ <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">true</GenerateStublessProxies>
+ <GenerateStublessProxies Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">true</GenerateStublessProxies>
+ <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">.\SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">.\SeraphyScriptTools.tlb</TypeLibraryName>
+ <TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">.\SeraphyScriptTools.tlb</TypeLibraryName>
+ <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">SeraphyScriptTools.h</HeaderFileName>
+ <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">SeraphyScriptTools.h</HeaderFileName>
+ <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">SeraphyScriptTools.h</HeaderFileName>
+ <HeaderFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">SeraphyScriptTools.h</HeaderFileName>
+ <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
+ <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
+ <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
+ <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">SeraphyScriptTools_i.c</InterfaceIdentifierFileName>
</Midl>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="SeraphyScriptTools.rc">
- <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release MinDependency|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release MinSize|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinDependency|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Unicode Release MinSize|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|x64'">$(OUTDIR)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='MBCS Debug|x64'">$(OUTDIR)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='MBCS Release|Win32'">$(OUTDIR)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Unicode Release|x64'">$(OUTDIR)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='MBCS Release|x64'">$(OUTDIR)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
#include "Shell.h"
#include "generic.h"
#include <list>
+#include <vector>
using namespace std;
+#pragma comment(lib, "Version.lib")
+
/////////////////////////////////////////////////////////////////////////////
// CShell
STDMETHODIMP CShell::ShellExecute(VARIANT path, VARIANT param, VARIANT initdir, VARIANT show, VARIANT *punkVal)
{
- CComVariant varPath,varParam,varInitDir,varMode;
- CHAR szPath[MAX_PATH] = { 0 };
- CHAR szInitDir[MAX_PATH] = { 0 };
- int nShow = SW_SHOWNORMAL;
- LPSTR pBuf = NULL;
- if(varPath.ChangeType(VT_BSTR,&path) == S_OK){
- WideCharToMultiByte(GetACP(),0,varPath.bstrVal,-1,szPath,MAX_PATH,NULL,NULL);
+ ATL::CString szPath;
+ CComVariant varPath;
+ if (varPath.ChangeType(VT_BSTR, &path) == S_OK) {
+ szPath = varPath.bstrVal;
}
- if(varParam.ChangeType(VT_BSTR,¶m) == S_OK){
- int needsize = WideCharToMultiByte(GetACP(),0,varParam.bstrVal,-1,NULL,0,NULL,NULL);
- pBuf = new CHAR[needsize+1];
- WideCharToMultiByte(GetACP(),0,varParam.bstrVal,-1,pBuf,needsize,NULL,NULL);
+
+ ATL::CString szParam;
+ CComVariant varParam;
+ if (varParam.ChangeType(VT_BSTR, ¶m) == S_OK) {
+ szParam = varParam.bstrVal;
}
- if(varInitDir.ChangeType(VT_BSTR,&initdir) == S_OK){
- WideCharToMultiByte(GetACP(),0,varInitDir.bstrVal,-1,szInitDir,MAX_PATH,NULL,NULL);
+
+ ATL::CString szInitDir;
+ CComVariant varInitDir;
+ if (varInitDir.ChangeType(VT_BSTR, &initdir) == S_OK) {
+ szInitDir = varInitDir.bstrVal;
}
- if(varMode.ChangeType(VT_I2,&show) == S_OK){
- switch(varMode.iVal)
+
+ int nShow = SW_SHOWNORMAL;
+ CComVariant varMode;
+ if (varMode.ChangeType(VT_I2, &show) == S_OK) {
+ switch (varMode.iVal)
{
case 0:
nShow = SW_HIDE;
break;
+
case 1:
default:
nShow = SW_SHOWNORMAL;
break;
+
case 2:
nShow = SW_SHOWMAXIMIZED;
break;
+
case 3:
nShow = SW_SHOWMINIMIZED;
break;
+
case 4:
nShow = SW_SHOWMINNOACTIVE;
break;
}
}
+
//
SHELLEXECUTEINFO info = {0};
info.cbSize = sizeof(SHELLEXECUTEINFO);
info.fMask = SEE_MASK_DOENVSUBST | SEE_MASK_NOCLOSEPROCESS;
info.hwnd = GetMainWindow();
- info.lpVerb = "OPEN";
+ info.lpVerb = _TEXT("OPEN");
info.lpFile = szPath;
- info.lpParameters = pBuf;
+ info.lpParameters = szParam;
info.lpDirectory = szInitDir;
info.nShow = nShow;
- if(ShellExecuteEx(&info)){
+ if (ShellExecuteEx(&info)) {
// ShellExecObj\82Ì\90¶\90¬
CComObject<CShellExecObj>* pExec = NULL;
- if(pExec->CreateInstance(&pExec) == S_OK){
+ if (pExec->CreateInstance(&pExec) == S_OK) {
pExec->m_hProcess = info.hProcess;
IUnknown* pUnk = NULL;
- pExec->QueryInterface(IID_IUnknown,(void**)&pUnk);
+ pExec->QueryInterface(IID_IUnknown, (void**)&pUnk);
punkVal->vt = VT_UNKNOWN;
punkVal->punkVal = pUnk;
}
}
- if(pBuf){
- delete[]pBuf;
- }
return S_OK;
}
{
::VariantInit(pVal);
BOOL bExit = true;
- if(m_hProcess){
+ if (m_hProcess) {
CComVariant varTim;
DWORD dwWaitTime = 0;
- if(varTim.ChangeType(VT_I4,&tim) == S_OK){
- if(varTim.lVal < 0){
+ if (varTim.ChangeType(VT_I4, &tim) == S_OK) {
+ if (varTim.lVal < 0) {
// \96³\8cÀ\82Ü\82¿
dwWaitTime = INFINITE;
}
- else{
+ else {
dwWaitTime = (DWORD)varTim.lVal;
}
}
- DWORD ret = WaitForSingleObject(m_hProcess,dwWaitTime);
- if(ret == WAIT_TIMEOUT){
+ DWORD ret = WaitForSingleObject(m_hProcess, dwWaitTime);
+ if (ret == WAIT_TIMEOUT) {
// \83v\83\8d\83Z\83X\82Í\8fI\97¹\82µ\82Ä\82¢\82È\82¢
bExit = false;
}
}
pVal->vt = VT_BOOL;
- pVal->boolVal = bExit?VB_TRUE:VB_FALSE;
+ pVal->boolVal = bExit ? VB_TRUE : VB_FALSE;
return S_OK;
}
STDMETHODIMP CShellExecObj::get_ExitCode(long *pVal)
{
- if(m_hProcess){
- GetExitCodeProcess(m_hProcess,(DWORD*)pVal);
+ if (m_hProcess) {
+ GetExitCodeProcess(m_hProcess, (DWORD*)pVal);
}
return S_OK;
}
class SPECIALFOLDERPAIR
{
public:
- SPECIALFOLDERPAIR(LPCSTR arg_name,int arg_id){
+ SPECIALFOLDERPAIR(LPCTSTR arg_name, int arg_id) {
name = arg_name;
id = arg_id;
}
- LPCSTR name;
+ LPCTSTR name;
int id;
};
STDMETHODIMP CShell::GetSpecialFolderLocations(IUnknown *punkVal)
{
- if(!punkVal){
+ if (!punkVal) {
return E_FAIL;
}
+
IObjectMap* pMap = NULL;
- if(punkVal->QueryInterface(IID_IObjectMap,(void**)&pMap) != S_OK){
+ if (punkVal->QueryInterface(IID_IObjectMap, (void**)&pMap) != S_OK) {
return DISP_E_TYPEMISMATCH;
}
+
// \83V\83X\83e\83\80\83o\81[\83W\83\87\83\93\83`\83F\83b\83N
BOOL bWinNT;
get_IsWindowNT(&bWinNT);
// NT\8cn\82Ì\8fê\8d\87\82Æ9x\8cn\82Ì\8fê\8d\87\82Æ\82Í\8eæ\93¾\82Å\82«\82é\83t\83H\83\8b\83_\82Ì\8eí\97Þ\82ª\82¿\82ª\82¤\82Ì\82Å\95ª\82¯\82Ä\82¨\82
- list<SPECIALFOLDERPAIR> lst;
- if(bWinNT){
+ std::list<SPECIALFOLDERPAIR> lst;
+ if (bWinNT) {
// WINNT
- lst.push_back(SPECIALFOLDERPAIR("ADMINTOOLS",CSIDL_ADMINTOOLS));
- lst.push_back(SPECIALFOLDERPAIR("ALTSTARTUP",CSIDL_ALTSTARTUP));
- lst.push_back(SPECIALFOLDERPAIR("APPDATA",CSIDL_APPDATA));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_ADMINTOOLS",CSIDL_COMMON_ADMINTOOLS));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_ALTSTARTUP",CSIDL_COMMON_ALTSTARTUP));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_APPDATA",CSIDL_COMMON_APPDATA));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_DESKTOPDIRECTORY",CSIDL_COMMON_DESKTOPDIRECTORY));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_DOCUMENTS",CSIDL_COMMON_DOCUMENTS));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_FAVORITES",CSIDL_COMMON_FAVORITES));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_PROGRAMS",CSIDL_COMMON_PROGRAMS));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_STARTMENU",CSIDL_COMMON_STARTMENU));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_STARTUP",CSIDL_COMMON_STARTUP));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_TEMPLATES",CSIDL_COMMON_TEMPLATES));
- lst.push_back(SPECIALFOLDERPAIR("COOKIES",CSIDL_COOKIES));
- lst.push_back(SPECIALFOLDERPAIR("DESKTOPDIRECTORY",CSIDL_DESKTOPDIRECTORY));
- lst.push_back(SPECIALFOLDERPAIR("FAVORITES",CSIDL_FAVORITES));
- lst.push_back(SPECIALFOLDERPAIR("FONTS",CSIDL_FONTS ));
- lst.push_back(SPECIALFOLDERPAIR("HISTORY",CSIDL_HISTORY));
- lst.push_back(SPECIALFOLDERPAIR("INTERNET_CACHE ",CSIDL_INTERNET_CACHE ));
- lst.push_back(SPECIALFOLDERPAIR("LOCAL_APPDATA ",CSIDL_LOCAL_APPDATA ));
- lst.push_back(SPECIALFOLDERPAIR("MYPICTURES",CSIDL_MYPICTURES));
- lst.push_back(SPECIALFOLDERPAIR("NETHOOD",CSIDL_NETHOOD));
- lst.push_back(SPECIALFOLDERPAIR("PERSONAL",CSIDL_PERSONAL));
- lst.push_back(SPECIALFOLDERPAIR("PRINTHOOD",CSIDL_PRINTHOOD));
- lst.push_back(SPECIALFOLDERPAIR("PROFILE ",CSIDL_PROFILE ));
- lst.push_back(SPECIALFOLDERPAIR("PROGRAM_FILES",CSIDL_PROGRAM_FILES));
- lst.push_back(SPECIALFOLDERPAIR("PROGRAM_FILES_COMMON",CSIDL_PROGRAM_FILES_COMMON));
- lst.push_back(SPECIALFOLDERPAIR("PROGRAMS",CSIDL_PROGRAMS));
- lst.push_back(SPECIALFOLDERPAIR("RECENT",CSIDL_RECENT ));
- lst.push_back(SPECIALFOLDERPAIR("SENDTO",CSIDL_SENDTO ));
- lst.push_back(SPECIALFOLDERPAIR("STARTMENU",CSIDL_STARTMENU));
- lst.push_back(SPECIALFOLDERPAIR("STARTUP",CSIDL_STARTUP));
- lst.push_back(SPECIALFOLDERPAIR("SYSTEM",CSIDL_SYSTEM));
- lst.push_back(SPECIALFOLDERPAIR("TEMPLATES",CSIDL_TEMPLATES));
- lst.push_back(SPECIALFOLDERPAIR("WINDOWS",CSIDL_WINDOWS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("ADMINTOOLS"), CSIDL_ADMINTOOLS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("ALTSTARTUP"), CSIDL_ALTSTARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("APPDATA"), CSIDL_APPDATA));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_ADMINTOOLS"), CSIDL_COMMON_ADMINTOOLS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_ALTSTARTUP"), CSIDL_COMMON_ALTSTARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_APPDATA"), CSIDL_COMMON_APPDATA));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_DESKTOPDIRECTORY"), CSIDL_COMMON_DESKTOPDIRECTORY));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_DOCUMENTS"), CSIDL_COMMON_DOCUMENTS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_FAVORITES"), CSIDL_COMMON_FAVORITES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_PROGRAMS"), CSIDL_COMMON_PROGRAMS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_STARTMENU"), CSIDL_COMMON_STARTMENU));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_STARTUP"), CSIDL_COMMON_STARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_TEMPLATES"), CSIDL_COMMON_TEMPLATES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COOKIES"), CSIDL_COOKIES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("DESKTOPDIRECTORY"), CSIDL_DESKTOPDIRECTORY));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("FAVORITES"), CSIDL_FAVORITES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("FONTS"), CSIDL_FONTS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("HISTORY"), CSIDL_HISTORY));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("INTERNET_CACHE"), CSIDL_INTERNET_CACHE));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("LOCAL_APPDATA"), CSIDL_LOCAL_APPDATA));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("MYPICTURES"), CSIDL_MYPICTURES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("NETHOOD"), CSIDL_NETHOOD));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PERSONAL"), CSIDL_PERSONAL));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PRINTHOOD"), CSIDL_PRINTHOOD));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROFILE"), CSIDL_PROFILE));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROGRAM_FILES"), CSIDL_PROGRAM_FILES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROGRAM_FILES_COMMON"), CSIDL_PROGRAM_FILES_COMMON));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROGRAMS"), CSIDL_PROGRAMS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("RECENT"), CSIDL_RECENT));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("SENDTO"), CSIDL_SENDTO));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("STARTMENU"), CSIDL_STARTMENU));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("STARTUP"), CSIDL_STARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("SYSTEM"), CSIDL_SYSTEM));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("TEMPLATES"), CSIDL_TEMPLATES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("WINDOWS"), CSIDL_WINDOWS));
}
else{
// Win9x
- lst.push_back(SPECIALFOLDERPAIR("ADMINTOOLS",CSIDL_ADMINTOOLS));
- lst.push_back(SPECIALFOLDERPAIR("ALTSTARTUP",CSIDL_ALTSTARTUP));
- lst.push_back(SPECIALFOLDERPAIR("APPDATA",CSIDL_APPDATA));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_ADMINTOOLS",CSIDL_ADMINTOOLS));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_ALTSTARTUP",CSIDL_ALTSTARTUP));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_APPDATA",CSIDL_APPDATA));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_DESKTOPDIRECTORY",CSIDL_DESKTOPDIRECTORY));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_DOCUMENTS",CSIDL_COMMON_DOCUMENTS));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_FAVORITES",CSIDL_FAVORITES));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_PROGRAMS",CSIDL_PROGRAMS));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_STARTMENU",CSIDL_STARTMENU));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_STARTUP",CSIDL_STARTUP));
- lst.push_back(SPECIALFOLDERPAIR("COMMON_TEMPLATES",CSIDL_TEMPLATES));
- lst.push_back(SPECIALFOLDERPAIR("COOKIES",CSIDL_COOKIES));
- lst.push_back(SPECIALFOLDERPAIR("DESKTOPDIRECTORY",CSIDL_DESKTOPDIRECTORY));
- lst.push_back(SPECIALFOLDERPAIR("FAVORITES",CSIDL_FAVORITES));
- lst.push_back(SPECIALFOLDERPAIR("FONTS",CSIDL_FONTS ));
- lst.push_back(SPECIALFOLDERPAIR("HISTORY",CSIDL_HISTORY));
- lst.push_back(SPECIALFOLDERPAIR("INTERNET_CACHE ",CSIDL_INTERNET_CACHE ));
- lst.push_back(SPECIALFOLDERPAIR("LOCAL_APPDATA ",CSIDL_LOCAL_APPDATA ));
- lst.push_back(SPECIALFOLDERPAIR("MYPICTURES",CSIDL_MYPICTURES));
- lst.push_back(SPECIALFOLDERPAIR("NETHOOD",CSIDL_NETHOOD));
- lst.push_back(SPECIALFOLDERPAIR("PERSONAL",CSIDL_PERSONAL));
- lst.push_back(SPECIALFOLDERPAIR("PRINTHOOD",CSIDL_PRINTHOOD));
- lst.push_back(SPECIALFOLDERPAIR("PROFILE ",CSIDL_PROFILE ));
- lst.push_back(SPECIALFOLDERPAIR("PROGRAM_FILES",CSIDL_PROGRAM_FILES));
- lst.push_back(SPECIALFOLDERPAIR("PROGRAM_FILES_COMMON",CSIDL_PROGRAM_FILES));
- lst.push_back(SPECIALFOLDERPAIR("PROGRAMS",CSIDL_PROGRAMS));
- lst.push_back(SPECIALFOLDERPAIR("RECENT",CSIDL_RECENT ));
- lst.push_back(SPECIALFOLDERPAIR("SENDTO",CSIDL_SENDTO ));
- lst.push_back(SPECIALFOLDERPAIR("STARTMENU",CSIDL_STARTMENU));
- lst.push_back(SPECIALFOLDERPAIR("STARTUP",CSIDL_STARTUP));
- lst.push_back(SPECIALFOLDERPAIR("SYSTEM",CSIDL_SYSTEM));
- lst.push_back(SPECIALFOLDERPAIR("TEMPLATES",CSIDL_TEMPLATES));
- lst.push_back(SPECIALFOLDERPAIR("WINDOWS",CSIDL_WINDOWS));
- }
- list<SPECIALFOLDERPAIR>::iterator p = lst.begin();
- while(p != lst.end()){
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("ADMINTOOLS"), CSIDL_ADMINTOOLS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("ALTSTARTUP"), CSIDL_ALTSTARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("APPDATA"), CSIDL_APPDATA));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_ADMINTOOLS"), CSIDL_ADMINTOOLS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_ALTSTARTUP"), CSIDL_ALTSTARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_APPDATA"), CSIDL_APPDATA));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_DESKTOPDIRECTORY"), CSIDL_DESKTOPDIRECTORY));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_DOCUMENTS"), CSIDL_COMMON_DOCUMENTS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_FAVORITES"), CSIDL_FAVORITES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_PROGRAMS"), CSIDL_PROGRAMS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_STARTMENU"), CSIDL_STARTMENU));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_STARTUP"), CSIDL_STARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COMMON_TEMPLATES"), CSIDL_TEMPLATES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("COOKIES"), CSIDL_COOKIES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("DESKTOPDIRECTORY"), CSIDL_DESKTOPDIRECTORY));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("FAVORITES"), CSIDL_FAVORITES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("FONTS"), CSIDL_FONTS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("HISTORY"), CSIDL_HISTORY));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("INTERNET_CACHE"), CSIDL_INTERNET_CACHE));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("LOCAL_APPDATA"), CSIDL_LOCAL_APPDATA));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("MYPICTURES"), CSIDL_MYPICTURES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("NETHOOD"), CSIDL_NETHOOD));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PERSONAL"), CSIDL_PERSONAL));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PRINTHOOD"), CSIDL_PRINTHOOD));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROFILE"), CSIDL_PROFILE));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROGRAM_FILES"), CSIDL_PROGRAM_FILES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROGRAM_FILES_COMMON"), CSIDL_PROGRAM_FILES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("PROGRAMS"), CSIDL_PROGRAMS));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("RECENT"), CSIDL_RECENT));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("SENDTO"), CSIDL_SENDTO));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("STARTMENU"), CSIDL_STARTMENU));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("STARTUP"), CSIDL_STARTUP));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("SYSTEM"), CSIDL_SYSTEM));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("TEMPLATES"), CSIDL_TEMPLATES));
+ lst.push_back(SPECIALFOLDERPAIR(_TEXT("WINDOWS"), CSIDL_WINDOWS));
+ }
+
+ std::list<SPECIALFOLDERPAIR>::iterator p = lst.begin();
+ while (p != lst.end()) {
LPITEMIDLIST pid = NULL;
- if(SHGetSpecialFolderLocation(NULL,(*p).id,&pid) == NOERROR){
- CHAR buf[MAX_PATH] = {0};
- if(SHGetPathFromIDList(pid,buf)){
- CComVariant key((LPCSTR)(*p).name);
- CComVariant value((LPCSTR)buf);
- pMap->put_Value(key,value);
+ if (SHGetSpecialFolderLocation(NULL, (*p).id, &pid) == NOERROR) {
+ TCHAR buf[MAX_PATH] = {0};
+ if (SHGetPathFromIDList(pid, buf)) {
+ CComVariant key((*p).name);
+ CComVariant value(buf);
+ pMap->put_Value(key, value);
}
m_pMalloc->Free(pid);
}
OSVERSIONINFO vinfo = {0};
vinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&vinfo);
- if(vinfo.dwPlatformId == VER_PLATFORM_WIN32_NT){
+ if (vinfo.dwPlatformId == VER_PLATFORM_WIN32_NT) {
*pVal = (long)vinfo.dwMajorVersion;
}
return S_OK;
STDMETHODIMP CShell::GetDLLVersion(VARIANT text,VARIANT min, VARIANT *pVal)
{
- CComVariant varText,varMin;
- CHAR lpszDllName[MAX_PATH] = { 0 };
- if(varText.ChangeType(VT_BSTR,&text) == S_OK){
- WideCharToMultiByte(GetACP(),0,varText.bstrVal,-1,lpszDllName,MAX_PATH,NULL,NULL);
+ ATL::CString lpszDllName;
+ CComVariant varText;
+ if (varText.ChangeType(VT_BSTR,&text) == S_OK) {
+ lpszDllName = varText.bstrVal;
}
+
BOOL bMin = false;
+ CComVariant varMin;
if(varMin.ChangeType(VT_I2,&min) == S_OK){
bMin = varMin.iVal;
}
+
CComVariant ret;
DWORD siz = GetFileVersionInfoSize(lpszDllName,0);
- if(siz){
- LPBYTE pBuf = new BYTE[siz+1];
- if(GetFileVersionInfo(lpszDllName,0,siz,pBuf)){
+ if (siz) {
+ std::vector<BYTE> buf(siz + 1);
+ LPBYTE pBuf = &buf[0];
+ if (GetFileVersionInfo(lpszDllName, 0, siz,pBuf)) {
// \83o\81[\83W\83\87\83\93\8fî\95ñ\82ð\8eæ\93¾\82·\82é
VS_FIXEDFILEINFO* pverInfo;
UINT sz = 0;
- if(VerQueryValue(pBuf,"\\",(void**)&pverInfo,&sz)){
+ if (VerQueryValue(pBuf,_TEXT("\\"), (void**) &pverInfo, &sz)) {
// \83o\81[\83W\83\87\83\93\82ð\8am\94F\89Â\94\\82Å\82 \82é
- CHAR mes[256];
- if(bMin){
+ TCHAR mes[256];
+ if (bMin) {
// \8fÚ\8d×
- wsprintf(mes,"%d.%d.%d.%d"
- ,HIWORD(pverInfo->dwFileVersionMS),LOWORD(pverInfo->dwFileVersionMS)
- ,HIWORD(pverInfo->dwFileVersionLS),LOWORD(pverInfo->dwFileVersionLS));
+ wsprintf(mes, _TEXT("%d.%d.%d.%d"),
+ HIWORD(pverInfo->dwFileVersionMS),
+ LOWORD(pverInfo->dwFileVersionMS),
+ HIWORD(pverInfo->dwFileVersionLS),
+ LOWORD(pverInfo->dwFileVersionLS)
+ );
}
- else{
+ else {
// \92Ê\8fí
- wsprintf(mes,"%d.%d"
- ,HIWORD(pverInfo->dwFileVersionMS),LOWORD(pverInfo->dwFileVersionMS));
+ wsprintf(mes, _TEXT("%d.%d"),
+ HIWORD(pverInfo->dwFileVersionMS),
+ LOWORD(pverInfo->dwFileVersionMS)
+ );
}
- ret = (LPCSTR)mes;
+ ret = mes;
}
}
- delete[]pBuf;
}
ret.Detach(pVal);
return S_OK;
STDMETHODIMP CShell::ParseName(VARIANT text, VARIANT *pVal)
{
::VariantInit(pVal);
+
CComVariant varText;
- if(varText.ChangeType(VT_BSTR,&text) == S_OK){
+ if (varText.ChangeType(VT_BSTR,&text) == S_OK) {
CComObject<CParseName>* pParse = NULL;
- if(pParse->CreateInstance(&pParse) == S_OK){
+ if (pParse->CreateInstance(&pParse) == S_OK) {
pParse->m_bstr_path = (LPCWSTR)varText.bstrVal;
IUnknown* pUnk = NULL;
- if(pParse->QueryInterface(IID_IUnknown,(void**)&pUnk) == S_OK){
+ if (pParse->QueryInterface(IID_IUnknown,(void**)&pUnk) == S_OK) {
pVal->vt = VT_UNKNOWN;
pVal->punkVal = pUnk;
}
STDMETHODIMP CParseName::InterfaceSupportsErrorInfo(REFIID riid)
{
- static const IID* arr[] =
- {
+ static const IID* arr[] = {
&IID_ISeraphyScriptTool_ParseName
};
- for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++)
- {
- if (IsEqualGUID(*arr[i],riid))
+
+ for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++) {
+ if (IsEqualGUID(*arr[i], riid)) {
return S_OK;
+ }
}
return S_FALSE;
}
STDMETHODIMP CParseName::get_PathName(BSTR *pVal)
{
- *pVal = m_bstr_path.copy();
- return S_OK;
+ return m_bstr_path.CopyTo(pVal);
}
STDMETHODIMP CParseName::put_PathName(BSTR newVal)
STDMETHODIMP CParseName::get_FileName(BSTR *pVal)
{
- LPWSTR p = m_bstr_path;
- while(*p)p++;
- while(p > (LPCWSTR)m_bstr_path){
- if(*p == '\\' || *p == '/'){
+ LPWSTR st = m_bstr_path;
+ LPWSTR p = st;
+ while (*p) p++;
+ while (p > st) {
+ if (*p == '\\' || *p == '/') {
// \96\96\94ö\82©\82ç\8dÅ\8f\89\82É\94\8c©\82³\82ê\82½\83t\83H\83\8b\83_\83v\83\8c\81[\83X\82Å\8e~\82Ü\82é
p++;
break;
STDMETHODIMP CParseName::put_FileName(BSTR newVal)
{
WCHAR buf[MAX_PATH];
- lstrcpyW(buf,m_bstr_path);
+ lstrcpyW(buf, m_bstr_path);
LPWSTR p = buf;
while(*p)p++;
while(p > buf){
}
p--;
}
- lstrcpyW(p,newVal);
+ lstrcpyW(p, newVal);
m_bstr_path = buf;
return S_OK;
}
BOOL bFind = false;
LPWSTR p = m_bstr_path;
while(*p)p++;
- while(p > (LPCWSTR)m_bstr_path){
- if(*p == '.'){
+ while (p > (LPCWSTR)m_bstr_path) {
+ if (*p == '.') {
bFind = true;
p++;
break;
}
- if(*p == '\\' || *p == '/'){
+ if (*p == '\\' || *p == '/') {
// \83t\83H\83\8b\83_\83v\83\8c\81[\83X\82Å\92\86\8e~\82·\82é
break;
}
p--;
}
- if(!bFind){
- while(*p)p++;
+ if (!bFind) {
+ while (*p) p++;
}
*pVal = SysAllocString(p);
return S_OK;
lstrcpyW(buf,m_bstr_path);
BOOL bFind = false;
LPWSTR p = buf;
- while(*p)p++;
- while(p > buf){
- if(*p == '.'){
+ while (*p) p++;
+ while (p > buf) {
+ if (*p == '.') {
bFind = true;
p++;
break;
}
- if(*p == '\\' || *p == '/'){
+ if (*p == '\\' || *p == '/') {
// \83t\83H\83\8b\83_\83v\83\8c\81[\83X\82Å\92\86\8e~\82·\82é
break;
}
p--;
}
- if(!bFind){
+ if (!bFind) {
// \89½\82à\82È\82¯\82ê\82Î\96\96\94ö\82É\92Ç\89Á\82·\82é
- while(*p)p++;
- lstrcpyW(p,L".");
+ while (*p) p++;
+ lstrcpyW(p, L".");
}
- lstrcpyW(p,newVal);
+ lstrcpyW(p, newVal);
m_bstr_path = buf;
return S_OK;
}
{
::VariantInit(pResult);
CComVariant result;
- CHAR szDest[MAX_PATH+2] = { 0 }; // double null
- if(to){
+
+ ATL::CString szTo;
+ if (to) {
CComVariant varTo;
if(to->vt != VT_NULL && to->vt != VT_ERROR || to->vt == VT_EMPTY
- || varTo.ChangeType(VT_BSTR,to) != S_OK){
+ || varTo.ChangeType(VT_BSTR, to) != S_OK) {
return DISP_E_TYPEMISMATCH;
}
- WideCharToMultiByte(GetACP(),0,varTo.bstrVal,-1,szDest,MAX_PATH,NULL,NULL);
+ szTo = varTo.bstrVal;
}
- LPSTR pFrom = CreateDNStringFromVariant(*from);
- if(!pFrom){
+ int len = szTo.GetLength();
+ LPTSTR pTo = szTo.GetBufferSetLength(len + 2); // \83_\83u\83\8b\83k\83\8b\8fI\92[
+ pTo[len] = 0;
+ pTo[len + 1] = 0;
+
+ std::vector<TCHAR> buf;
+ if (!CreateDNStringFromVariant(*from, buf)) {
return DISP_E_TYPEMISMATCH;
}
+
SHFILEOPSTRUCT info = {0};
info.fFlags = flag | FOF_ALLOWUNDO | (m_bSilent?FOF_SILENT:0) | (m_bConfirm?0:(FOF_NOCONFIRMMKDIR|FOF_NOCONFIRMATION));
info.hwnd = GetMainWindow();
- info.pFrom = pFrom;
- info.pTo = szDest;
+ info.pFrom = &buf[0];
+ info.pTo = pTo;
info.wFunc = wFunc;
int ret = SHFileOperation(&info);
- delete[]pFrom;
+
result = (bool)(!ret && !info.fAnyOperationsAborted);
result.Detach(pResult);
return S_OK;
}
-LPSTR CShell::CreateDNStringFromVariant(VARIANT &from)
+bool CShell::CreateDNStringFromVariant(VARIANT &from, std::vector<TCHAR> &buf)
{
- LPSTR pBuf = NULL;
CComVariant varFrom;
- if(varFrom.ChangeType(VT_BSTR,&from) == S_OK){
- // BSTR\82É\95Ï\8a·\89Â\94\\82©?
- int needsize = WideCharToMultiByte(GetACP(),0,varFrom.bstrVal,-1,NULL,0,NULL,NULL);
- pBuf = new CHAR[needsize+2];
- WideCharToMultiByte(GetACP(),0,varFrom.bstrVal,-1,pBuf,needsize,NULL,NULL);
- pBuf[needsize ] = 0;
- pBuf[needsize+1] = 0; // double null
- return pBuf;
- }
- else if(varFrom.ChangeType(VT_UNKNOWN,&from) == S_OK){
- // Unknown\82É\95Ï\8a·\89Â\94\\82©?
+
+ // \95¶\8e\9a\97ñ\82É\95Ï\8a·\89Â\94\\82©\81H
+ if (varFrom.ChangeType(VT_BSTR, &from) == S_OK) {
+ ATL::CString tmp(varFrom.bstrVal);
+ int bufsiz = tmp.GetLength() + 2; // \83_\83u\83\8b\83k\83\8b\8fI\92[\95ª
+ buf.resize(bufsiz, 0);
+ LPTSTR pBuf = &buf[0];
+ StringCbCopy(pBuf, bufsiz, tmp);
+ return true;
+ }
+
+ // Unknown -> IObjectVector \82É\95Ï\8a·\89Â\94\\82©?
+ if (varFrom.ChangeType(VT_UNKNOWN, &from) == S_OK) {
IObjectVector* pVector = NULL;
- if(varFrom.punkVal->QueryInterface(IID_IObjectVector,(void**)&pVector) != S_OK){
+ if (varFrom.punkVal->QueryInterface(IID_IObjectVector,(void**)&pVector) != S_OK) {
// IObjectVector\82Å\82Í\82È\82¢\82È\82ç\83G\83\89\81[
- return NULL;
+ return false;
}
+
// \94z\97ñ\82ð\8eæ\93¾\82·\82é
long mx = 0;
pVector->get_Count(&mx);
pVector->get_Value(idx,&tmp);
if(tmp.ChangeType(VT_BSTR) != S_OK){
// \95¶\8e\9a\97ñ\82É\95Ï\8a·\95s\89Â\94\
- return NULL;
+ return false;
}
- needsize += WideCharToMultiByte(GetACP(),0,tmp.bstrVal,-1,NULL,0,NULL,NULL) + 1;
+ ATL::CString czTmp(tmp.bstrVal);
+ needsize += czTmp.GetLength() + 1; // +1\82Í\83k\83\8b\8fI\92[\95ª
}
- needsize += 1; // dobulenull
+ needsize += 1; // \83_\83u\83\8b\83k\83\8b\8fI\92[\95ª
+
// \94z\97ñ\82ð\83_\83u\83\8b\83k\83\8b\82É\93W\8aJ\82·\82é
- pBuf = new CHAR[needsize];
- LPSTR p = pBuf;
- for(cnt = 0 ; cnt < mx ; cnt++){
+ buf.resize(needsize, 0);
+ LPTSTR pBuf = &buf[0];
+ LPTSTR p = pBuf;
+ for (cnt = 0 ; cnt < mx ; cnt++) {
CComVariant tmp;
CComVariant idx((long)cnt);
- pVector->get_Value(idx,&tmp);
- if(tmp.ChangeType(VT_BSTR) == S_OK){
- int sz = WideCharToMultiByte(GetACP(),0,tmp.bstrVal,-1,p,MAX_PATH,NULL,NULL);
- *(p + sz) = 0;
- p += sz;
+ if (SUCCEEDED(pVector->get_Value(idx, &tmp))) {
+ if (tmp.ChangeType(VT_BSTR) == S_OK) {
+ ATL::CString szTmp(tmp.bstrVal);
+ StringCbCopy(p, needsize, szTmp);
+ int len = szTmp.GetLength() + 1;
+ p += len;
+ needsize -= len;
+ }
}
}
*p = 0; // dobule null
pVector->Release();
- return pBuf;
- }
- else{
- // SafeArray\82©?
- VARTYPE vt = VT_EMPTY;
- SAFEARRAY* pArray = GetArrayFromVariant(from,&vt);
- if(!pArray || vt != VT_VARIANT){
- // SafeArray\82Å\82È\82¢\82©\81A\8c^\82ª\82¿\82ª\82¤
+ return true;
+ }
+
+ // SafeArray\82©?
+ VARTYPE vt = VT_EMPTY;
+ SAFEARRAY* pArray = GetArrayFromVariant(from, &vt);
+ if (!pArray || vt != VT_VARIANT) {
+ // SafeArray\82Å\82È\82¢\82©\81A\8c^\82ª\82¿\82ª\82¤
+ return false;
+ }
+
+ long lb = 0;
+ long ub = 0;
+ int dm = SafeArrayGetDim(pArray);
+ SafeArrayGetLBound(pArray, 1, &lb); // \8d¶\91¤\82Ì\93Y\82¦\8e\9a
+ SafeArrayGetUBound(pArray, 1, &ub);
+ if (dm != 1 || lb != 0) {
+ // 1\8e\9f\8c³\94z\97ñ\82Å\82È\82¢\82©\81A0\83x\81[\83X\82Å\82È\82¢
+ return false;
+ }
+
+ DWORD needsize = 0;
+ long dim[1];
+ // \83o\83b\83t\83@\82É\95K\97v\82È\83T\83C\83Y\82ð\8b\81\82ß\82é
+ for (long cnt = 0 ; cnt <= ub ; cnt++) {
+ CComVariant tmp;
+ dim[0] = cnt;
+ SafeArrayGetElement(pArray, dim, &tmp);
+ if (tmp.ChangeType(VT_BSTR) != S_OK) {
+ // \95¶\8e\9a\97ñ\82É\95Ï\8a·\95s\89Â\94\
return NULL;
}
- long lb = 0;
- long ub = 0;
- int dm = SafeArrayGetDim(pArray);
- SafeArrayGetLBound(pArray,1,&lb); // \8d¶\91¤\82Ì\93Y\82¦\8e\9a
- SafeArrayGetUBound(pArray,1,&ub);
- if(dm != 1 || lb != 0){
- // 1\8e\9f\8c³\94z\97ñ\82Å\82È\82¢\82©\81A0\83x\81[\83X\82Å\82È\82¢
+ ATL::CString szTmp(tmp.bstrVal);
+ needsize += szTmp.GetLength() + 1;
+ }
+ needsize += 1; // \83_\83u\83\8b\83k\83\8b\8fI\92[\95ª
+
+ // \83o\83b\83t\83@\82ð\8am\95Û\82µ\93W\8aJ\82·\82é
+ buf.resize(needsize);
+ LPTSTR pBuf = &buf[0];
+ LPTSTR p = pBuf;
+ for (long cnt = 0 ; cnt <= ub ; cnt++) {
+ CComVariant tmp;
+ dim[0] = cnt;
+ SafeArrayGetElement(pArray, dim, &tmp);
+ if (tmp.ChangeType(VT_BSTR) != S_OK) {
+ // \95¶\8e\9a\97ñ\82É\95Ï\8a·\95s\89Â\94\
return NULL;
}
- DWORD needsize = 0;
- long dim[1];
- long cnt;
- // \83o\83b\83t\83@\82É\95K\97v\82È\83T\83C\83Y\82ð\8b\81\82ß\82é
- for(cnt = 0 ; cnt <= ub ; cnt++){
- CComVariant tmp;
- dim[0] = cnt;
- SafeArrayGetElement(pArray,dim,&tmp);
- if(tmp.ChangeType(VT_BSTR) != S_OK){
- // \95¶\8e\9a\97ñ\82É\95Ï\8a·\95s\89Â\94\
- return NULL;
- }
- needsize += WideCharToMultiByte(GetACP(),0,tmp.bstrVal,-1,NULL,0,NULL,NULL) + 1;
- }
- // \83o\83b\83t\83@\82ð\8am\95Û\82µ\93W\8aJ\82·\82é
- pBuf = new CHAR[needsize];
- LPSTR p = pBuf;
- for(cnt = 0 ; cnt <= ub ; cnt++){
- CComVariant tmp;
- dim[0] = cnt;
- SafeArrayGetElement(pArray,dim,&tmp);
- if(tmp.ChangeType(VT_BSTR) != S_OK){
- // \95¶\8e\9a\97ñ\82É\95Ï\8a·\95s\89Â\94\
- return NULL;
- }
- int sz = WideCharToMultiByte(GetACP(),0,tmp.bstrVal,-1,p,MAX_PATH,NULL,NULL);
- *(p + sz) = 0;
- p += sz;
- }
- *p = 0;
- return pBuf;
+
+ ATL::CString szTmp(tmp.bstrVal);
+ StringCbCopy(p, needsize, szTmp);
+ int len = szTmp.GetLength() + 1;
+ p += len;
+ needsize -= len;
}
- return NULL;
+ *p = 0; // \83_\83u\83\8b\83k\83\8b\8fI\92[
+ return true;
}
STDMETHODIMP CShell::EmptyRecycleBin(VARIANT dir)
{
- CComVariant varDir;
- LPCSTR pTarget = NULL;
- CHAR szPath[MAX_PATH];
- if(dir.vt == VT_NULL || dir.vt == VT_ERROR || dir.vt == VT_EMPTY){
+ LPCTSTR pTarget = NULL;
+
+ if (dir.vt == VT_NULL || dir.vt == VT_ERROR || dir.vt == VT_EMPTY) {
// \82·\82×\82Ä\91Î\8fÛ\82Æ\82·\82é
pTarget = NULL;
}
- if(varDir.ChangeType(VT_BSTR,&dir) == S_OK){
- // \93Á\92è\82Ì\83h\83\89\83C\83u\82ð\83^\81[\83Q\83b\83g\82·\82é
- WideCharToMultiByte(GetACP(),0,varDir.bstrVal,-1,szPath,MAX_PATH,NULL,NULL);
- pTarget = szPath;
- }
- else{
- // \95Ï\8a·\95s\89Â
- return DISP_E_TYPEMISMATCH;
+ else {
+ ATL::CString szPath;
+ CComVariant varDir;
+ if (varDir.ChangeType(VT_BSTR, &dir) == S_OK) {
+ // \93Á\92è\82Ì\83h\83\89\83C\83u\82ð\83^\81[\83Q\83b\83g\82·\82é
+ szPath = varDir.bstrVal;
+ if (!szPath.IsEmpty()) {
+ // \8bó\95¶\8e\9a\82Å\82È\82¯\82ê\82Î
+ pTarget = szPath;
+ }
+ }
+ else {
+ // \95Ï\8a·\95s\89Â
+ return DISP_E_TYPEMISMATCH;
+ }
}
- SHEmptyRecycleBin(NULL,pTarget,(m_bConfirm?0:SHERB_NOCONFIRMATION) | (m_bSilent?(SHERB_NOPROGRESSUI|SHERB_NOSOUND ):0));
+
+ SHEmptyRecycleBin(NULL, pTarget, (m_bConfirm?0:SHERB_NOCONFIRMATION) | (m_bSilent?(SHERB_NOPROGRESSUI|SHERB_NOSOUND) : 0));
return S_OK;
}
STDMETHODIMP CShell::RecentDocs(VARIANT text)
{
- CComVariant varText;
- LPCSTR pTarget = NULL;
- CHAR szPath[MAX_PATH];
+ LPCTSTR pTarget = NULL;
+
if(text.vt == VT_NULL || text.vt == VT_ERROR || text.vt == VT_EMPTY){
// \97\9a\97ð\82ð\83N\83\8a\83A\82·\82é
pTarget = NULL;
}
- if(varText.ChangeType(VT_BSTR,&text) == S_OK){
- // \93Á\92è\82Ì\83t\83@\83C\83\8b\82ð\92Ç\89Á\82·\82é
- WideCharToMultiByte(GetACP(),0,varText.bstrVal,-1,szPath,MAX_PATH,NULL,NULL);
- pTarget = szPath;
- }
- else{
- // \95Ï\8a·\95s\89Â
- return DISP_E_TYPEMISMATCH;
+ else {
+ ATL::CString szPath;
+ CComVariant varText;
+ if (varText.ChangeType(VT_BSTR, &text) == S_OK){
+ // \93Á\92è\82Ì\83t\83@\83C\83\8b\82ð\92Ç\89Á\82·\82é
+ szPath = text.bstrVal;
+ if (!szPath.IsEmpty()) {
+ // \8bó\95¶\8e\9a\82Å\82È\82¯\82ê\82Î
+ pTarget = szPath;
+ }
+ }
+ else{
+ // \95Ï\8a·\95s\89Â
+ return DISP_E_TYPEMISMATCH;
+ }
}
- SHAddToRecentDocs(SHARD_PATH,pTarget);
+ SHAddToRecentDocs(SHARD_PATH, pTarget);
return S_OK;
}
}
// \83C\83\93\83^\81[\83t\83F\83C\83X\82Ì\8eæ\93¾
CComVariant tmp;
- if(tmp.ChangeType(VT_UNKNOWN,&varUnk) == S_OK){
- if(tmp.punkVal->QueryInterface(IID_IOverlappedWindow,(void**)&m_pMainWindow) == S_OK){
+ if (tmp.ChangeType(VT_UNKNOWN, &varUnk) == S_OK) {
+ if (tmp.punkVal->QueryInterface(IID_IOverlappedWindow, (void**)&m_pMainWindow) == S_OK) {
return S_OK;
}
}
STDMETHODIMP CShell::IsExist(VARIANT name, VARIANT *pVal)
{
- CComVariant varName,varRet;
- if(varName.ChangeType(VT_BSTR,&name) != S_OK){
+ CComVariant varRet;
+
+ CComVariant varName;
+ if (varName.ChangeType(VT_BSTR, &name) != S_OK){
return DISP_E_TYPEMISMATCH;
}
- CHAR szPath[MAX_PATH];
- WideCharToMultiByte(GetACP(),0,varName.bstrVal,-1,szPath,MAX_PATH,NULL,NULL);
+
+ ATL::CString szPath(varName.bstrVal);
+
DWORD attr = GetFileAttributes(szPath);
- if(attr != (DWORD)-1){
- if(attr & FILE_ATTRIBUTE_DIRECTORY)
+ if (attr != (DWORD) -1) {
+ if (attr & FILE_ATTRIBUTE_DIRECTORY) {
varRet = 2;
- else
+ }
+ else {
varRet = 1;
+ }
}
varRet.Detach(pVal);
return S_OK;
#include "resource.h" // \83\81\83C\83\93 \83V\83\93\83{\83\8b
+#include <vector>
+
/////////////////////////////////////////////////////////////////////////////
// CShell
class ATL_NO_VTABLE CShell :
BOOL m_bSilent;
BOOL m_bConfirm;
HRESULT FileOperationCore(UINT wFunc,FILEOP_FLAGS flag,VARIANT* from,VARIANT* to,VARIANT* pResult);
- LPSTR CreateDNStringFromVariant(VARIANT& from);
+ bool CreateDNStringFromVariant(VARIANT& from, std::vector<TCHAR> &buf);
STDMETHOD(get_Silent)(/*[out, retval]*/ BOOL *pVal);
STDMETHOD(put_Silent)(/*[in]*/ BOOL newVal);
STDMETHOD(get_Confirm)(/*[out, retval]*/ BOOL *pVal);
STDMETHOD(put_FileName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_PathName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_PathName)(/*[in]*/ BSTR newVal);
- _bstr_t m_bstr_path;
+ CComBSTR m_bstr_path;
};
#endif //__SHELL_H_
extern CComModule _Module;
#include <atlcom.h>
#include <atlctl.h>
+#include <atlstr.h>
#include <comdef.h>
#include <shlobj.h>
#include <winspool.h>
-#define WM_MOVENEXT_OVERLAPPED (WM_USER+100)
-#define WM_KEYDOWN_EX (WM_USER+101)
+#include <Strsafe.h>
+
+#define WM_MOVENEXT_OVERLAPPED (WM_USER + 100)
+#define WM_KEYDOWN_EX (WM_USER + 101)
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ \82Í\91O\8ds\82Ì\92¼\91O\82É\92Ç\89Á\82Ì\90é\8c¾\82ð\91}\93ü\82µ\82Ü\82·\81B
return true;
}
-void CTreeItem::CreateTreeItem(HWND hWnd, HTREEITEM hParent, LPCSTR text, IUnknown **punkVal)
+void CTreeItem::CreateTreeItem(HWND hWnd, HTREEITEM hParent, LPCTSTR text, IUnknown **punkVal)
{
// \83A\83C\83e\83\80\82ª\95Û\97L\82·\82é\98A\91z\94z\97ñ\82ð\90¶\90¬\82·\82é
IUnknown* pUnk = NULL;
CComObject<CObjectMap>* pMap = NULL;
- if(pMap->CreateInstance(&pMap) == S_OK){
- pMap->QueryInterface(IID_IUnknown,(void**)&pUnk);
+ if (pMap->CreateInstance(&pMap) == S_OK) {
+ pMap->QueryInterface(IID_IUnknown, (void**)&pUnk);
}
// \91}\93ü\82·\82é\83A\83C\83e\83\80\82Ì\92è\8b`
+ ATL::CString tmp(text);
TVINSERTSTRUCT is = { 0 };
is.hParent = hParent;
is.hInsertAfter = TVI_LAST;
is.item.mask = TVIF_TEXT | TVIF_PARAM;
- is.item.pszText = (LPSTR)text;
- is.item.cchTextMax = lstrlen(text);
+ is.item.pszText = tmp.GetBuffer();
+ is.item.cchTextMax = tmp.GetLength();
is.item.lParam = (LPARAM)pUnk;
- HTREEITEM hNewItem = TreeView_InsertItem(hWnd,&is);
- if(hNewItem){
+ HTREEITEM hNewItem = TreeView_InsertItem(hWnd, &is);
+ if (hNewItem) {
// \83A\83C\83e\83\80\82Ö\82Ì\83I\83u\83W\83F\83N\83g\82ð\8dì\90¬\82·\82é
CComObject<CTreeItem>* pItem = NULL;
- if(pItem->CreateInstance(&pItem) == S_OK){
- pItem->SetParam(hWnd,hNewItem);
- pItem->QueryInterface(IID_IUnknown,(void**)punkVal);
+ if (pItem->CreateInstance(&pItem) == S_OK) {
+ pItem->SetParam(hWnd, hNewItem);
+ pItem->QueryInterface(IID_IUnknown, (void**)punkVal);
}
}
}
STDMETHODIMP CTreeItem::IsValid(BOOL *pResult)
{
- *pResult = (m_hItem != NULL)?VB_TRUE:VB_FALSE;
+ *pResult = (m_hItem != NULL) ? VB_TRUE : VB_FALSE;
return S_OK;
}
// ITreeItem
public:
STDMETHOD(IsValid)(/*[out,retval]*/BOOL* pResult);
- static void CreateTreeItem(HWND hWnd,HTREEITEM hParent,LPCSTR text,IUnknown** punkVal);
+ static void CreateTreeItem(HWND hWnd,HTREEITEM hParent, LPCTSTR text, IUnknown** punkVal);
STDMETHOD(Sort)()
{
HRESULT ret = InitialCheck();
// \83A\83C\83e\83\80\82Ì\8dì\90¬
*punkVal = NULL;
HRESULT ret = InitialCheck();
- if(ret == S_OK){
- if(m_hItem){
- CHAR mes[MAX_PATH];
- CComVariant str;
- if(str.ChangeType(VT_BSTR,&text) == S_OK){
- int cnt = WideCharToMultiByte(GetACP(),0,str.bstrVal,-1,mes,MAX_PATH,NULL,NULL);
- CreateTreeItem(m_hWnd,m_hItem,mes,punkVal);
- }
- }
- else{
- // \95s\90³\82È\83A\83C\83e\83\80\82ð\8eQ\8fÆ\82µ\82Ä\82¢\82é
- ret = DISP_E_EXCEPTION;
+ if (FAILED(ret)) {
+ return ret;
+ }
+
+ if (m_hItem) {
+ CComVariant str;
+ ATL::CString mes(_TEXT(""));
+ if (str.ChangeType(VT_BSTR, &text) == S_OK) {
+ mes = str.bstrVal;
}
+ CreateTreeItem(m_hWnd, m_hItem, mes, punkVal);
+ return S_OK;
}
- return ret;
+ // \95s\90³\82È\83A\83C\83e\83\80\82ð\8eQ\8fÆ\82µ\82Ä\82¢\82é
+ return DISP_E_EXCEPTION;
}
+
STDMETHOD(get_Object)(/*[in,optional]*/VARIANT idx, /*[out, retval]*/ VARIANT *pVal)
{
// \83A\83C\83e\83\80\82É\8aÖ\98A\95t\82¯\82ç\82ê\82½\98A\91z\94z\97ñ\83I\83u\83W\83F\83N\83g\82ð\8eæ\93¾\82·\82é
ErrorInfo(IDS_ERR_TREEERROR);
return DISP_E_EXCEPTION;
}
+
STDMETHOD(get_Text)(/*[out, retval]*/ BSTR *pVal)
{
// \83e\83L\83X\83g\82Ì\8eæ\93¾
HRESULT ret = InitialCheck();
- if(!m_hItem){
+ if (!m_hItem) {
// \95s\90³\82È\83A\83C\83e\83\80\82ð\8eQ\8fÆ\82µ\82Ä\82¢\82é
ret = DISP_E_EXCEPTION;
}
- if(ret == S_OK){
- CHAR text[MAX_PATH];
+
+ if (ret == S_OK) {
+ TCHAR text[MAX_PATH] = { 0 };
TVITEM itm = {0};
itm.mask = TVIF_TEXT;
itm.hItem = m_hItem;
itm.pszText = text;
itm.cchTextMax = MAX_PATH;
- if(TreeView_GetItem(m_hWnd,&itm)){
- WCHAR wMes[MAX_PATH] = {0};
- MultiByteToWideChar(GetACP(),0,text,-1,wMes,MAX_PATH);
- *pVal = SysAllocString(wMes);
+ if (TreeView_GetItem(m_hWnd,&itm)) {
+ CComBSTR ret(text);
+ *pVal = ret.Detach();
}
}
return ret;
}
+
STDMETHOD(put_Text)(/*[in]*/ BSTR newVal)
{
// \83e\83L\83X\83g\82Ì\8f\91\82«\8a·\82¦
HRESULT ret = InitialCheck();
- if(!m_hItem){
+ if (!m_hItem) {
// \95s\90³\82È\83A\83C\83e\83\80\82ð\8eQ\8fÆ\82µ\82Ä\82¢\82é
ret = DISP_E_EXCEPTION;
}
- if(ret == S_OK){
- CHAR text[MAX_PATH] = {0};
+ if (ret == S_OK) {
+ ATL::CString tmp(newVal);
TVITEM itm = {0};
itm.mask = TVIF_TEXT;
itm.hItem = m_hItem;
- itm.pszText = text;
- itm.cchTextMax = MAX_PATH;
- WideCharToMultiByte(GetACP(),0,newVal,-1,text,MAX_PATH,NULL,NULL);
- TreeView_SetItem(m_hWnd,&itm);
+ itm.pszText = tmp.GetBuffer();
+ itm.cchTextMax = tmp.GetLength(); // Set\82Ì\8fê\8d\87\82Í\96³\8e\8b\82³\82ê\82é
+ TreeView_SetItem(m_hWnd, &itm);
}
return ret;
}
+
STDMETHOD(get_PrevItem)(/*[out, retval]*/ IUnknown* *pVal)
{
// \91O\82Ì\83A\83C\83e\83\80
{
ICreateErrorInfo *pCErrInfo;
if(CreateErrorInfo(&pCErrInfo) == S_OK){
- WCHAR wmes[MAX_PATH];
- CHAR mes[MAX_PATH];
- if(LoadString(_Module.m_hInst,nMessageID,mes,MAX_PATH)){
- MultiByteToWideChar(GetACP(),0,mes,-1,wmes,MAX_PATH);
- pCErrInfo->SetDescription(wmes);
+ TCHAR mes[MAX_PATH];
+ if (LoadString(_Module.m_hInst, nMessageID, mes, MAX_PATH)) {
+ CComBSTR tmp(mes);
+ pCErrInfo->SetDescription((LPOLESTR) tmp);
pCErrInfo->SetGUID(IID_IOverlappedWindow);
pCErrInfo->SetSource(L"SeraphyScriptTools");
IErrorInfo* perrinfo;