#pragma once namespace ActiveBasic{ namespace IDE{ /* struct ImageReferenceType { enum EnumType { File = 0, Resource, }; }; struct IMAGECTRLINFO { ImageReferenceType::EnumType type; std::string path; }; */ }} //イメージタイプ #define IMGTYPE_FILE 0 #define IMGTYPE_RES 1 struct IMAGECTRLINFO{ int type; char *path; }; class CHILDINFO { public: char *IdName; POINT pos; SIZE size; char *caption; DWORD style; DWORD ExStyle; int Control; IMAGECTRLINFO ImageCtrlInfo; }; class WindowInfo { public: WindowInfo() : name( NULL ) , HandleName( NULL ) , caption( NULL ) , MenuID( NULL ) , IconResName( NULL ) , ClassName( NULL ) , CallBackName( NULL ) { } //ウィンドウデータ char *name; char *HandleName; POINT pos; SIZE size; char *caption; DWORD style; DWORD ExStyle; char *MenuID; int id; int bgColor; LOGFONT LogFont; char *IconResName; char *ClassName; char *CallBackName; long type; char *filepath; //子ウィンドウ管理 std::vector childWindowInfos; //ツリー項目 HTREEITEM hTreeItem; }; class WindowInfos : public std::vector { public: WindowInfos() { } ~WindowInfos() { } void Clear() { WindowInfos &windowInfos = *this; BOOST_FOREACH( WindowInfo *pWindowInfo, windowInfos ) { delete pWindowInfo; } this->clear(); } void Erase( int index ) { WindowInfos::iterator it = this->begin(); for( int i=0; i!=index ;i++, it++ ) { delete *it; } this->erase( it ); } };