void SaveDumpText( LPTSTR lpFilename ){ CTxtFile file(lpFilename); if( file.IsOpen() ) { TCHAR buf[256]; TString str; int item = 0; int cnt = m_wndList.GetItemCount(); for( ; item<cnt; item++ ) { m_wndList.GetItemText(item, 0, buf, _countof(buf)); str.assign(buf); str.Append(_T("\t")); for( int i=0; i<16; i++ ){ m_wndList.GetItemText(item, i+1, buf, _countof(buf)); str.AppendFormat(_T("%s "), buf); } str.Append(_T("\t")); m_wndList.GetItemText(item, 17, buf, _countof(buf)); str.AppendFormat(_T("%s\n\0"), buf); file.WriteString(str); } file.Close(); } }
void AppState::OpenMostRecentResourceAt(ResourceType type, uint16_t number, int index) { OpenMostRecentResource(type, number); // Now it should be open... // MDI view implementation file CMDIChildWnd * pChild = ((CMDIFrameWnd*)(AfxGetApp()->m_pMainWnd))->MDIGetActive(); if (pChild) { CView * pView = pChild->GetActiveView(); if (pView) { if (pView->IsKindOf(RUNTIME_CLASS(CVocabView))) { ((CVocabView*)pView)->SelectGroup((Vocab000::WordGroup)index); } else if (pView->IsKindOf(RUNTIME_CLASS(CListView))) { CListView *pTextView = (CListView *)pView; pTextView->GetListCtrl().SetItemState(index, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); pTextView->GetListCtrl().EnsureVisible(index, FALSE); } } } }
CListView* CListView::create(const CCSize& contentSize) { CListView* pRet = new CListView(); if( pRet && pRet->initWithSize(contentSize) ) { pRet->autorelease(); return pRet; } CC_SAFE_DELETE(pRet); return NULL; }
void VerifyOnExit() { if(MessageBox(hMainWnd, "Exit?", "Exit", MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL)==IDYES){ SetParent(vClone.GetHolderWnd(), NULL); SetParent(vSceneList.GetHolderWnd(), NULL); SetParent(vObjectList.GetHolderWnd(), NULL); SetParent(vSceneObjectList.GetHolderWnd(), NULL); PostQuitMessage(0); } }
CListCtrl *GetListCtrl(PyObject *self, bool bNeedValidHwnd = true) { extern CListView *GetListViewPtr(PyObject *self); CListCtrl *rc; if (ui_base_class::is_uiobject(self, &PyCListView::type)) { CListView *pView = GetListViewPtr(self); if (pView) rc = &(pView->GetListCtrl()); else rc = NULL; } else rc = (CListCtrl *)PyCWnd::GetPythonGenericWnd(self, &PyCListCtrl::type); if (rc && bNeedValidHwnd && !::IsWindow(rc->m_hWnd)) RETURN_ERR((char *)szErrListRequiresWindow); return rc; }
NS_STORE_BEGIN void Storeui::onLoadScene() { setAutoRemoveUnusedTexture(true); TuiManager::getInstance()->parseScene(this,"panel_store",PATH_STORE); CListView *pListGoods = (CListView*)this->getControl(PANEL_STORE, LIST_GOODS); Vector<Node*> vet = pListGoods->getContainer()->getChildren(); for (Node *pNode : vet){ CButton *pBtnPay = dynamic_cast<CButton*>(pNode->getChildByTag(BTN_PAY)); pBtnPay->setOnClickListener(this, ccw_click_selector(Storeui::event_btn_pay)); } ArmatureBtn *pBtn = (ArmatureBtn*)this->getControl(PANEL_STORE,ARMBTN_TEST2); pBtn->setOnClickListener(this,ccw_click_selector(Storeui::event_btn_test)); }
CListView *TuiManager::createListView(float tag,const char* img,float x,float y,float w,float h,float rotation){ CListView *pList = CListView::create(Size(w,h)); m_isUseSpriteFrame ? pList->setBackgroundSpriteFrameName(img) : pList->setBackgroundImage(img); pList->setDirection(eScrollViewDirectionVertical); pList->setPosition(Point(x,-y)); pList->setRotation(rotation); pList->setTag(tag); return pList; }
BOOL OnCreate( LPCREATESTRUCT lpCreateStruct ){ InitMenu(); if( m_wndList.Create(this,0,0,0,0,IDC_LIST_VIEW) ){ m_wndList.SetExtendedLitViewStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT ); int item = 0; m_wndList.InsertColumn(item,_T("address")); for( int i=0; i<16; i++ ){ item++; m_wndList.InsertColumn(item,_T(""),30); } item++; m_wndList.InsertColumn(item,_T("text")); } cmd.Initialize(this); cmd.Register(ID_FILE_OPEN, &CMainForm::OnFileOpen); cmd.Register(ID_FILE_SAVE, &CMainForm::OnFileSave); cmd.Register(ID_FILE_EXIT, &CMainForm::OnFileExit); cmd.Register(ID_HELP_ABOUT, &CMainForm::OnHelpAbout); return TRUE; }
CListView *TuiManager::createListView(float tag, Color4B color, float x, float y, float w, float h, float rotation){ CListView *pView = CListView::create(Size(w, h)); if (color.a != 0) pView->setBackgroundColor(color); pView->setDirection(eScrollViewDirectionVertical); pView->setPosition(Vec2(x, -y)); pView->setRotation(rotation); pView->setTag(tag); return pView; }
inline CDDELink* CAppDlg::GetLink(size_t nItem) { ASSERT(nItem != LB_ERR); return static_cast<CDDELink*>(m_lvLinks.ItemPtr(nItem)); }
void TuiManager::parseControl(Node* container,xml_node<char> *item) { int tag = atof(item->first_attribute("tag")->value()); int x = atof(item->first_attribute("x")->value()); int y = atof(item->first_attribute("y")->value()); int w = atoi(item->first_attribute("width")->value()); int h = atoi(item->first_attribute("height")->value()); int rotation = atof(item->first_attribute("rotation")->value()); if(strcmp(item->first_attribute("type")->value(), kTuiContainerPanel) == 0){//panel CWidgetWindow* pPanel = createPanel(tag,x,y,w,h,rotation); container->addChild(pPanel); //recursive for( xml_node<char> *iitem = item->first_node( kTuiNodeControl );iitem != NULL; iitem = iitem->next_sibling()){ parseControl(pPanel,iitem); } }else if (strcmp(item->first_attribute("type")->value(), kTuiControlCell) == 0){//cell //recursive for (xml_node<char> *iitem = item->first_node(kTuiNodeControl); iitem != NULL; iitem = iitem->next_sibling()){ parseControl(container, iitem); } }else if(strcmp(item->first_attribute("type")->value(),kTuiControlImage) == 0){//image const char* file = item->first_attribute("image")->value(); float scaleX = atof(item->first_attribute("scaleX")->value()); float scaleY = atof(item->first_attribute("scaleY")->value()); CImageView *pImg = createImage(tag, file, scaleX, scaleY, x, y, rotation); container->addChild(pImg); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlImage9) == 0){//image9 const char* file = item->first_attribute("image")->value(); float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); float up = atof(item->first_attribute("up")->value()); float down = atof(item->first_attribute("down")->value()); float left = atof(item->first_attribute("left")->value()); float right = atof(item->first_attribute("right")->value()); CImageViewScale9 *pImg = createImage9(tag,file,x,y,w,h,up,down,left,right,rotation); container->addChild(pImg); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlButton) == 0){//button const char* normal = item->first_attribute("normal")->value(); const char* select = item->first_attribute("select")->value(); const char* disable = item->first_attribute("disable")->value(); float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); CButton *pBtn = createBtn(tag,normal,select,disable,x,y,w,h,rotation); container->addChild(pBtn); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlToggleView) == 0){//toggleView const char* normal = item->first_attribute("normal")->value(); const char* select = item->first_attribute("select")->value(); const char* disable = item->first_attribute("disable")->value(); float exclusion = atof(item->first_attribute("exclusion")->value()); CToggleView* toggle = createToggleView(tag,exclusion,normal,select,disable,x,y,rotation); container->addChild(toggle); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlSlider) == 0){//slider const char* bg = item->first_attribute("bg")->value(); const char* progress = item->first_attribute("progress")->value(); const char* thumb = item->first_attribute("thumb")->value(); CSlider *pSlider = createSlider(tag,bg,progress,thumb,x,y,rotation); container->addChild(pSlider); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlProgress) == 0){//progress const char* bg = item->first_attribute("bg")->value(); const char* progress = item->first_attribute("progress")->value(); CProgressBar *pProgress = createProgress(tag,bg,progress,x,y,rotation); container->addChild(pProgress); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlLabel) == 0){//label float size = atof(item->first_attribute("textSize")->value()); int alignment = atoi(item->first_attribute("alignment")->value()); const char* text = item->first_attribute("text")->value(); const char* font = item->first_attribute("textFont")->value(); float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); int r = atoi(item->first_attribute("red")->value()); int g = atoi(item->first_attribute("green")->value()); int b = atoi(item->first_attribute("blue")->value()); int r2 = atoi(item->first_attribute("strokeRed")->value()); int g2 = atoi(item->first_attribute("strokeGreen")->value()); int b2 = atoi(item->first_attribute("strokeBlue")->value()); int strokeSize = atoi(item->first_attribute("strokeSize")->value()); int shadowDistance = atoi(item->first_attribute("shadowDistance")->value()); int shadowBlur = atoi(item->first_attribute("shadowBlur")->value()); CLabel *pLabel = createLabel(tag, text, font, alignment, size, r, g, b, x, y, w, h, r2,g2,b2,strokeSize,shadowDistance,shadowBlur,rotation); container->addChild(pLabel); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlLabelAtlas) == 0){//labelAtlas const char* imgPath = item->first_attribute("image")->value(); float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); CLabelAtlas *pLabAtlas = createLabelAtlas(tag,imgPath,x,y,w,h,rotation); container->addChild(pLabAtlas); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlArmature) == 0){//armature const char* xml = item->first_attribute("xml")->value(); const char* png = item->first_attribute("png")->value(); const char* plist = item->first_attribute("plist")->value(); const char* name = item->first_attribute("name")->value(); Armature *pArmature = createArmature(tag,name,png,plist,xml,x,y,rotation); container->addChild(pArmature); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlAnim) == 0){//animation const char* png = item->first_attribute("png")->value(); const char* plist = item->first_attribute("plist")->value(); const char* name = item->first_attribute("name")->value(); Sprite *pSprite = createAnim(tag,name,png,plist,x,y,rotation); container->addChild(pSprite); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlControl) == 0){//controlView const char* baseboard = item->first_attribute("baseboard")->value(); const char* joystick = item->first_attribute("joystick")->value(); CControlView *pControl = createControl(tag,baseboard,joystick,x,y,rotation); container->addChild(pControl); }else if (strcmp(item->first_attribute("type")->value(), kTuiContainerScroll) == 0){//scrollView float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); int direction = atof(item->first_attribute("direction")->value()); int innerWidth = atoi(item->first_attribute("innerWidth")->value()); int innerHeight = atoi(item->first_attribute("innerHeight")->value()); CScrollView *pView = createScrollView(tag, direction, innerWidth, innerHeight, x, y, w, h, rotation); container->addChild(pView); //recursive for (xml_node<char> *iitem = item->first_node(kTuiNodeControl); iitem != NULL; iitem = iitem->next_sibling()){ parseControl(pView->getContainer(), iitem); } }else if (strcmp(item->first_attribute("type")->value(), kTuiContainerLayout) == 0){//layout float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); CLayout *pLayout = createLayout(tag, x, y, w, h, rotation); container->addChild(pLayout); //recursive for (xml_node<char> *iitem = item->first_node(kTuiNodeControl); iitem != NULL; iitem = iitem->next_sibling()){ parseControl(pLayout, iitem); } Vector<Node*> vet = pLayout->getChildren(); for (Node *pChild : vet){//Offset coordinates Because CLayout zero point in the lower left corner pChild->setPosition(pChild->getPosition() + Point(w / 2, h / 2)); } }else if(strcmp(item->first_attribute("type")->value(),kTuiControlListView) == 0){//listView float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); const char* img = item->first_attribute("image")->value(); float num = atof(item->first_attribute("num")->value()); CListView* pList = createListView(tag,img,x,y,w,h,rotation); container->addChild(pList); for(int i=0; i<num;i++){//add item xml_node<char> *iitem = item->first_node( kTuiNodeControl ); w = atof(iitem->first_attribute("width")->value()); h = atof(iitem->first_attribute("height")->value()); CLayout *pLayout = createLayout(i,0,0,w,h,rotation); for( xml_node<char> *iiitem = iitem->first_node( kTuiNodeControl );iiitem!=NULL; iiitem = iiitem->next_sibling()){ parseControl(pLayout,iiitem); } Vector<Node*> vet = pLayout->getChildren(); for(Node *pChild : vet){//Offset coordinates Because CLayout zero point in the lower left corner if(pChild->getTag() > 0) pChild->setPosition(pChild->getPosition()+Point(w/2,h/2)); } pList->insertNodeAtLast(pLayout); } pList->reloadData(); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlPageView) == 0){//pageView float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); float num = atoi(item->first_attribute("num")->value()); int dir = atoi(item->first_attribute("direction")->value()); const char* img = item->first_attribute("image")->value(); CPageView *pPageView = createPageView(tag, img, dir, num, x, y, w, h, rotation); container->addChild(pPageView); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlCheckBox) == 0){//checkBox const char* normal1 = item->first_attribute("normal1")->value(); const char* normal2 = item->first_attribute("normal2")->value(); const char* select1 = item->first_attribute("select1")->value(); const char* select2 = item->first_attribute("select2")->value(); const char* disable1 = item->first_attribute("disable1")->value(); const char* disable2 = item->first_attribute("disable2")->value(); CCheckBox *pCheckBox = createCheckBox(tag,normal1,normal2,select1,select2,disable1,disable2,x,y,rotation); container->addChild(pCheckBox); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlArmatureBtn) == 0){//ArmatureBtn const char* png = item->first_attribute("png")->value(); const char* plist = item->first_attribute("plist")->value(); const char* name = item->first_attribute("name")->value(); const char* xml = item->first_attribute("xml")->value(); ArmatureBtn *pArmBtn = createArmatureBtn(tag,name,png,plist,xml,x,y,rotation); container->addChild(pArmBtn); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlNumbericStepper) == 0){//NumbericStepper const char* lnormal = item->first_attribute("lnormal")->value(); const char* rnormal = item->first_attribute("rnormal")->value(); const char* lselect = item->first_attribute("lselect")->value(); const char* rselect = item->first_attribute("rselect")->value(); const char* ldisable = item->first_attribute("ldisable")->value(); const char* rdisable = item->first_attribute("rdisable")->value(); const char* stepBg = item->first_attribute("stepBg")->value(); NumericStepper *pNumStep = createNumStep(tag,lnormal,lselect,ldisable,rnormal,rselect,rdisable,stepBg,x,y,rotation); container->addChild(pNumStep); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlPaticle) == 0){//Paticle const char* plist = item->first_attribute("plist")->value(); ParticleSystem *pPartical = createParticle(tag,plist,x,y); container->addChild(pPartical); }else if (strcmp(item->first_attribute("type")->value(), kTuiControlTable) == 0){//TableView float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); float num = atoi(item->first_attribute("num")->value()); int dir = atoi(item->first_attribute("direction")->value()); int cellWidth = atoi(item->first_attribute("cellWidth")->value()); int cellHeight = atoi(item->first_attribute("cellHeight")->value()); const char* img = item->first_attribute("image")->value(); CTableView *pView = createTableView(tag, img, dir, num, cellWidth, cellHeight, x, y, w, h, rotation); container->addChild(pView); }else if (strcmp(item->first_attribute("type")->value(), kTuiControlGridView) == 0){//GridView float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); int cellWidth = atoi(item->first_attribute("cellWidth")->value()); int cellHeight = atoi(item->first_attribute("cellHeight")->value()); int column = atoi(item->first_attribute("column")->value()); int num = atoi(item->first_attribute("num")->value()); const char* img = item->first_attribute("image")->value(); CGridView *pView = createGridView(tag, img, column, num, cellWidth, cellHeight, x, y, w, h, rotation); container->addChild(pView); }else if (strcmp(item->first_attribute("type")->value(), kTuiControlGridPageView) == 0){//GridPageView float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); int cellWidth = atoi(item->first_attribute("cellWidth")->value()); int cellHeight = atoi(item->first_attribute("cellHeight")->value()); int column = atoi(item->first_attribute("column")->value()); int row = atoi(item->first_attribute("row")->value()); int num = atoi(item->first_attribute("num")->value()); int dir = atoi(item->first_attribute("direction")->value()); const char* img = item->first_attribute("image")->value(); CGridPageView *pView = createGridPageView(tag, img, dir, column, row, num, cellWidth, cellHeight, x, y, w, h, rotation); container->addChild(pView); }else if(strcmp(item->first_attribute("type")->value(),kTuiControlEditBox) == 0){//EditBox float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); const char* img = item->first_attribute("image")->value(); int inputMode = atoi(item->first_attribute("inputMode")->value()); int inputFlag = atoi(item->first_attribute("inputFlag")->value()); EditBox *pEdit = createEditBox(tag, img, inputMode, inputFlag, x, y, w, h, rotation); container->addChild(pEdit); }else if (strcmp(item->first_attribute("type")->value(), kTuiControlMovieView) == 0){//MovieView const char* png = item->first_attribute("png")->value(); const char* plist = item->first_attribute("plist")->value(); const char* json = item->first_attribute("json")->value(); MovieView *pMovieView = createMovieView(tag, json, plist, png, x, y, rotation); container->addChild(pMovieView); }else if (strcmp(item->first_attribute("type")->value(), kTuiContainerCircleMenu) == 0){//CircleMenu float w = atof(item->first_attribute("width")->value()); float h = atof(item->first_attribute("height")->value()); CircleMenu *pMenu = createCircleMenu(tag, x, y, w, h, rotation); container->addChild(pMenu); //recursive for (xml_node<char> *iitem = item->first_node(kTuiNodeControl); iitem != NULL; iitem = iitem->next_sibling()){ parseControl(pMenu, iitem); } pMenu->reloadData(); } }
inline CSockConfig* CSockOptsDlg::ItemConfig(size_t nItem) { ASSERT(nItem < m_lvSocks.ItemCount()); return static_cast<CSockConfig*>(m_lvSocks.ItemPtr(nItem)); }
LRESULT CALLBACK HWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { //case WM_ACTIVE: //break; case WM_KEYDOWN: case WM_KEYUP: CallWindowProc((WNDPROC)GetWindowLong(hGLWnd, GWL_WNDPROC), hGLWnd, msg, wParam, lParam); return TRUE;//オリジナルのメッセージ処理を行わないとLayouterWindow.cppが機能しない case WM_COMMAND: { switch(LOWORD(wParam)) { case ID_FILE_NEW_LAYOUT: { //long nUndoBuffer = GetUndoBufferNum(); //if(dwLastSaveTime){ // if(MBQ("This document has been modified. Save?")){ // CallWindowProc((WNDPROC)GetWindowLong(hWnd, GWL_WNDPROC), hWnd, WM_COMMAND, ID_FILE_SAVE_OW, 0); // } //} FreeAll(); RefreshAllView(); break; } case ID_FILE_OPEN_LAYOUT: { char* szFile = (char*)GlobalAlloc(GPTR, sizeof(char) * 1024); if(GetOpenFileNameSingle(hGLWnd, "kdf", szFile, FALSE)) { lstrcpy(g_szFileName, szFile); FreeAll(); demo.Load(szFile); RefreshAllView(); } GlobalFree(szFile); break; } case ID_FILE_SAVE_OW: { if(g_szFileName[0] == '\0') { char* szFile = (char*)GlobalAlloc(GPTR, sizeof(char) * 1024); if(GetSaveFileNameSingle(hGLWnd, "kdf", szFile, FALSE)) { lstrcpy(g_szFileName, szFile); }else return TRUE; GlobalFree(szFile); } demo.Save(g_szFileName); RefreshAllView(); break; } case ID_FILE_SAVE_AS: { char* szFile = (char*)GlobalAlloc(GPTR, sizeof(char) * 1024); if(GetSaveFileNameSingle(hGLWnd, "kdf", szFile, FALSE)) { lstrcpy(g_szFileName, szFile); demo.Save(szFile); RefreshAllView(); } GlobalFree(szFile); break; } case ID_FILE_EXPORT: { char* szFile = (char*)GlobalAlloc(GPTR, sizeof(char) * 1024); if(GetSaveFileNameSingle(hGLWnd, "kdb", szFile, FALSE)) { //lstrcpy(g_szFileName, szFile); demo.BinarySave(szFile); MessageBox(hWnd, "Export done", "", MB_ICONINFORMATION|MB_OK|MB_TOPMOST); RefreshAllView(); } GlobalFree(szFile); break; } case ID_FILE_EXIT: { VerifyOnExit(); break; } case ID_EDIT_UNDO: { Undo(); break; } case ID_EDIT_REDO: { Redo(); break; } case ID_MODE_LAYOUTER: { StopPlaying(); nCurrentMode = LAYOUTER; HMENU hMenu = GetMenu(hWnd); HMENU hSub = GetSubMenu(hMenu, 2); CheckMenuItem(hSub, 1, MF_BYPOSITION|MF_UNCHECKED); CheckMenuItem(hSub, 0, MF_BYPOSITION|MF_CHECKED); //vSound.Hide(); //vSynth.Hide(); ShowWindow(vSound.GetHolderWnd(), FALSE); //ShowWindow(vTime.GetHolderWnd(), FALSE); ShowWindow(vSynth.GetHolderWnd(), FALSE); //ShowWindow(vScene.GetHolderWnd(), TRUE); ShowWindow(vClone.GetHolderWnd(), TRUE); ShowWindow(vObjectList.GetHolderWnd(), TRUE); ShowWindow(vSceneObjectList.GetHolderWnd(), TRUE); RefreshWindows(); break; } case ID_MODE_TIMELINER: { StopPlaying(); nCurrentMode = TIMELINER; HMENU hMenu = GetMenu(hWnd); HMENU hSub = GetSubMenu(hMenu, 2); CheckMenuItem(hSub, 0, MF_BYPOSITION|MF_UNCHECKED); CheckMenuItem(hSub, 1, MF_BYPOSITION|MF_CHECKED); //ShowWindow(vScene.GetHolderWnd(), FALSE; ShowWindow(vClone.GetHolderWnd(), FALSE); //ShowWindow(vSceneObjectList.GetHolderWnd(), FALSE); ShowWindow(vObjectList.GetHolderWnd(), FALSE); //vSound.Show(); //vSynth.Show(); ShowWindow(vSound.GetHolderWnd(), TRUE); //ShowWindow(vTime.GetHolderWnd(), TRUE); ShowWindow(vSynth.GetHolderWnd(), TRUE); RefreshWindows(); break; } case ID_FRAME_000: case ID_FRAME_025: case ID_FRAME_050: case ID_FRAME_075: case ID_FRAME_100: { float mul = (LOWORD(wParam) - ID_FRAME_000) * 0.25f; UpdateFrameTransparency(mul); break; } } return FALSE; } case WM_DESTROY: case WM_CLOSE: { VerifyOnExit(); return FALSE; } case WM_SIZE: { RefreshWindows(); return FALSE; } } return TRUE; }
void Initialize(int width, int height) { RECT rect; rect.right = width; rect.bottom = height; /* for Layouter*/ float ratio[6][2] = { {0.2f, 0.5f}, {0.6f, 0.4f}, {0.2f, 0.5f}, {0.2f, 0.5f}, {0.6f, 0.6f}, {0.2f, 0.5f}}; vSceneList.CreateListView(0, 0, rect.right*ratio[0][0], rect.bottom*ratio[0][1], "SceneList", hMainWnd); DWORD dwStyle = LVS_EX_GRIDLINES; ListView_SetExtendedListViewStyle(vSceneList.GetListWnd(), dwStyle); vSceneList.SetCallbackFunctions(SceneListNameEdit, SceneListPopup, SceneListCommand, SceneListKey, SceneListMouse, SceneListSelectedItemNotify); vSceneList.SetHookProcedure(SceneListHookProc); vSceneList.AddColumn("Scene", LVSCW_AUTOSIZE, 0); wingl.CCreateWindow(rect.right*ratio[0][0], 0, rect.right*ratio[1][0], rect.bottom*ratio[1][1], "OpenGL"); wingl.CSetCallbackFunctions(LayouterKeyEvent, LayouterMouseEvent, OnDraw);//, OnIdle); SetParent(wingl.CGethWnd(), hMainWnd); vSceneObjectList.CreateListView(rect.right*ratio[0][0] + rect.right*ratio[1][0], 0, rect.right*ratio[2][0], rect.bottom*ratio[2][1], "SceneObjectList", hMainWnd); dwStyle = LVS_EX_GRIDLINES; //dwStyle = LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES; ListView_SetExtendedListViewStyle(vSceneObjectList.GetListWnd(), dwStyle); vSceneObjectList.SetCallbackFunctions(SceneObjectListNameEdit, SceneObjectListPopup, SceneObjectListCommand, SceneObjectListKey, SceneObjectListMouse, SceneObjectListSelectedItemNotify); vSceneObjectList.SetHookProcedure(SceneObjectListHookProc); vSceneObjectList.AddColumn("camera_trans", LVSCW_AUTOSIZE, 2); vSceneObjectList.AddColumn("interpolate", LVSCW_AUTOSIZE, 1); vSceneObjectList.AddColumn("Scene Object", LVSCW_AUTOSIZE, 0); vObjectList.CreateListView(0, rect.bottom*ratio[3][1], rect.right*ratio[3][0], rect.bottom*ratio[3][1], "ObjectList", hMainWnd); dwStyle = LVS_EX_GRIDLINES; ListView_SetExtendedListViewStyle(vObjectList.GetListWnd(), dwStyle); vObjectList.SetCallbackFunctions(ObjectListNameEdit, ObjectListPopup, ObjectListCommand, ObjectListKey, ObjectListMouse, ObjectListSelectedItemNotify); vObjectList.SetHookProcedure(ObjectListHookProc); vObjectList.AddColumn("Object", LVSCW_AUTOSIZE, 0); vTimeline.Create(hMainWnd, rect.right*ratio[3][0], rect.bottom*ratio[4][1], rect.right*ratio[4][0], rect.bottom*ratio[4][1], "Timeline"); vTimeline.SetWndProcCallback(TimelineProc); vClone.CreateTreeView(rect.right*ratio[3][0]+rect.right*ratio[4][0], rect.bottom*ratio[5][1], rect.right*ratio[5][0], rect.bottom*ratio[5][1], "Clone", hMainWnd); vClone.SetCallbackFunctions(CloneNameEdit, NULL, NULL, CloneKey, CloneMouse, CloneSelectedItemNotify); vClone.SetHookProcedure(CloneHookProc); LONG oldStyle = GetWindowLong(vClone.GetTreeWnd(), GWL_STYLE); oldStyle |= TVS_CHECKBOXES; SetWindowLong(vClone.GetTreeWnd(), GWL_STYLE, oldStyle); SceneObjectListOldWndProc = (WNDPROC)SetWindowLong(vSceneObjectList.GetListWnd(), GWL_WNDPROC, (LONG)SceneObjectListWndHookProc); ObjectListOldWndProc = (WNDPROC)SetWindowLong(vObjectList.GetListWnd(), GWL_WNDPROC, (LONG)ObjectListWndHookProc); SceneListOldWndProc = (WNDPROC)SetWindowLong(vSceneList.GetListWnd(), GWL_WNDPROC, (LONG)SceneListWndHookProc); CloneOldWndProc = (WNDPROC)SetWindowLong(vClone.GetTreeWnd(), GWL_WNDPROC, (LONG)CloneWndHookProc); /* for Timeliner*/ vSound.CreateSoundWindow(rect.right*ratio[3][0]+rect.right*ratio[4][0], rect.bottom*ratio[5][1], rect.right*ratio[5][0], rect.bottom*ratio[5][1], "Sound", hMainWnd); SetParent(vSound.GetHolderWnd(), hMainWnd); vSynth.CreateSynthWindow(rect.right*ratio[0][0] + rect.right*ratio[1][0], 0, rect.right*ratio[2][0], rect.bottom*ratio[2][1], "Synth", hMainWnd); SetParent(vSynth.GetHolderWnd(), hMainWnd); //ksd.SetNotifyCallback(vSynth.KSynthLoadNotify); RefreshWindows(); //const float lratio [2] = { 19.0f, 50.0f }; //const float rratio[2] = { 19.0f, 50.0f }; //const float cratio = { 100.0f - lratio[0] - rratio[0] }; //float w[3], h[3]; ////左 //w[0] = width /100.0*lratio[0]; //h[0] = height/100.0*lratio[1]; //vSceneList.CreateListView(0, 0, w[0], h[0], "SceneList", hMainWnd); //DWORD dwStyle = LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES; //ListView_SetExtendedListViewStyle(vSceneList.GetListWnd(), dwStyle); //vSceneList.SetCallbackFunctions(SceneListNameEdit, NULL, SceneListCommand, SceneListKey, SceneListMouse, SceneListSelectedItemNotify); //vSceneList.SetHookProcedure(SceneListHookProc); //vSceneList.AddColumn("Scene", w[0], 0); //ChangeWindowStyle(vSceneList.GetHolderWnd(), WS_POPUP|WS_VISIBLE); //vObjectList.CreateListView(0, h[0], w[0], h[0], "ObjectList", hMainWnd); //dwStyle = LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES; //ListView_SetExtendedListViewStyle(vObjectList.GetListWnd(), dwStyle); //vObjectList.SetCallbackFunctions(ObjectListNameEdit, ObjectListPopup, ObjectListCommand, ObjectListKey, ObjectListMouse, ObjectListSelectedItemNotify); //vObjectList.SetHookProcedure(ObjectListHookProc); //vObjectList.AddColumn("Object", w[0], 0); //ChangeWindowStyle(vObjectList.GetHolderWnd(), WS_POPUP|WS_VISIBLE); ////真ん中 //w[1] = width /100.0 * 60.0; //h[1] = height/100.0 * 60.0; //wingl.CCreateWindow(w[0]+(width/100.0*1.0f), 0, w[1], h[1], "OpenGL"); //wingl.CSetCallbackFunctions(LayouterKeyEvent, LayouterMouseEvent, OnDraw); //SetParent(wingl.CGethWnd(), hMainWnd); //ChangeWindowStyle(wingl.CGethWnd(), WS_POPUP|WS_VISIBLE); //vTimeline.Create(hMainWnd, w[0]+(width/100.0*1.0f), h[1]+(height/100.0f*5.0f), w[1], height/100.0*35.0f-50, "Timeline"); //vTimeline.SetWndProcCallback(TimelineProc); ////右 //w[2] = width/100.0*rratio[0]; //h[2] = height/100.0*rratio[1]; //vSceneObjectList.CreateListView(w[0]+(width/100.0*cratio), 0, w[2], h[2], "SceneObjectList", hMainWnd); //dwStyle = LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES; //ListView_SetExtendedListViewStyle(vSceneObjectList.GetListWnd(), dwStyle); //vSceneObjectList.SetCallbackFunctions(SceneObjectListNameEdit, NULL, SceneObjectListCommand, SceneObjectListKey, SceneObjectListMouse, SceneObjectListSelectedItemNotify); //vSceneObjectList.SetHookProcedure(SceneObjectListHookProc); //vSceneObjectList.AddColumn("Scene Object", w[2], 0); //ChangeWindowStyle(vSceneObjectList.GetHolderWnd(), WS_POPUP|WS_VISIBLE); //vClone.CreateTreeView(w[0]+(width/100.0*cratio), h[2], w[2], h[2], "Clone", hMainWnd); //vClone.SetCallbackFunctions(CloneNameEdit, NULL, NULL, CloneKey, CloneMouse, CloneSelectedItemNotify); //vClone.SetHookProcedure(CloneHookProc); //LONG oldStyle = GetWindowLong(vClone.GetTreeWnd(), GWL_STYLE); //oldStyle |= TVS_CHECKBOXES; //SetWindowLong(vClone.GetTreeWnd(), GWL_STYLE, oldStyle); //ChangeWindowStyle(vClone.GetHolderWnd(), WS_POPUP|WS_VISIBLE); //HMENU hMenu = GetMenu(hMainWnd); //HMENU hSub = GetSubMenu(hMenu, 1); //EnableMenuItem(hSub, 0, MF_BYPOSITION|MF_GRAYED); //EnableMenuItem(hSub, 1, MF_BYPOSITION|MF_GRAYED); }
void RefreshWindows() { if(nCurrentMode==LAYOUTER){ HWND hWndList[6] = { vSceneList.GetHolderWnd(), wingl.CGethWnd(), vSceneObjectList.GetHolderWnd(), vObjectList.GetHolderWnd() , vTimeline.GetHWnd(), vClone.GetHolderWnd()}; //float real_ratio[6][4] = { {0.0f, 0.0f, 0.1f, 0.5f}, {0.1f, 0.0f, 0.7f, 0.7125f}, {0.8f, 0.0f, 0.2f, 0.5f}, // {0.0f, 0.5f, 0.1f, 0.5f}, {0.2f, 0.8f, 0.5f, 0.15f}, {0.8f, 0.5f, 0.2f, 0.5f}}; float real_ratio[6][4] = { {0.0f, 0.8f, 0.15f, 1-0.8f}, {0.0f, 0.0f, 0.78125f, 0.8f}, {0.78125f, 0.2f, 1.0f-0.78125f, 0.3f}, {0.78125f,0.0f, 1.0f-0.78125f, 0.2f}, {0.15f, 0.8f, 0.78125f-0.15f, 0.2f}, {0.78125f, 0.5f, 1.0f-0.78125f, 0.5f} }; RECT rect; GetClientRect(hMainWnd, &rect); //上段 //SetWindowPos(hWndList[0], 0, 0, 0, rect.right*ratio[0][0], rect.bottom*ratio[0][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[0], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[0], 0, rect.right*real_ratio[0][0], rect.bottom*real_ratio[0][1], rect.right*real_ratio[0][2], rect.bottom*real_ratio[0][3], SWP_NOZORDER); //SetWindowPos(hWndList[1], 0, rect.right*ratio[0][0], 0, rect.right*ratio[1][0], rect.right*ratio[1][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[1], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[1], 0, rect.right*real_ratio[1][0], rect.bottom*real_ratio[1][1], rect.right*real_ratio[1][2], rect.bottom*real_ratio[1][3], SWP_NOZORDER); //SetWindowPos(hWndList[2], 0, rect.right*ratio[0][0]+rect.right*ratio[1][0], 0, rect.right*ratio[2][0], rect.right*ratio[2][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[2], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[2], 0, rect.right*real_ratio[2][0], rect.bottom*real_ratio[2][1], rect.right*real_ratio[2][2], rect.bottom*real_ratio[2][3], SWP_NOZORDER); //RECT t; //GetClientRect(hWndList[2], &t); //SetWindowPos(vObjectList.GetListWnd() , 0, 0, 0, t.right, t.bottom, SWP_NOZORDER|SWP_NOMOVE); //下段 //SetWindowPos(hWndList[3], 0, 0, rect.bottom*ratio[3][1], rect.right*ratio[3][0], rect.bottom*ratio[3][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[3], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[3], 0, rect.right*real_ratio[3][0], rect.bottom*real_ratio[3][1], rect.right*real_ratio[3][2], rect.bottom*real_ratio[3][3], SWP_NOZORDER); //SetWindowPos(hWndList[4], 0, rect.right*ratio[3][0], rect.bottom*ratio[4][1], rect.right*ratio[4][0], rect.bottom*ratio[4][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[4], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[4], 0, rect.right*real_ratio[4][0], rect.bottom*real_ratio[4][1], rect.right*real_ratio[4][2], rect.bottom*real_ratio[4][3], SWP_NOZORDER); //SetWindowPos(hWndList[5], 0, rect.right*ratio[3][0]+rect.right*ratio[4][0], rect.bottom*ratio[5][1], rect.right*ratio[5][0], rect.bottom*ratio[5][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[5], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[5], 0, rect.right*real_ratio[5][0], rect.bottom*real_ratio[5][1], rect.right*real_ratio[5][2], rect.bottom*real_ratio[5][3], SWP_NOZORDER); }else{ HWND hWndList[6] = { vSceneList.GetHolderWnd(), wingl.CGethWnd(), vSceneObjectList.GetHolderWnd(), vSynth.GetHolderWnd() , vTimeline.GetHWnd(), vSound.GetHolderWnd()}; //x,y, width, height float real_ratio[6][4] = { {0.0f, 0.8f, 0.15f, 1-0.8f}, {0.0f, 0.0f, 0.78125f, 0.8f}, {0.78125f, 0.40f, 1.0f-0.78125f, 0.30f},//SceneObjectList //{0.78125f, 0.40f, 1.0f-0.78125f, 0.40f},//Time {0.78125f, 0.0f, 1.0f-0.78125f, 0.40f},//Synth {0.15f, 0.8f, 0.78125f-0.15f, 0.2f}, {0.78125f, real_ratio[2][3] + real_ratio[3][3], 1.0f-0.78125f, 1.00f - real_ratio[5][1]}//Sound }; RECT rect; GetClientRect(hMainWnd, &rect); //上段 //SetWindowPos(hWndList[0], 0, 0, 0, rect.right*ratio[0][0], rect.bottom*ratio[0][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[0], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[0], 0, rect.right*real_ratio[0][0], rect.bottom*real_ratio[0][1], rect.right*real_ratio[0][2], rect.bottom*real_ratio[0][3], SWP_NOZORDER); //SetWindowPos(hWndList[1], 0, rect.right*ratio[0][0], 0, rect.right*ratio[1][0], rect.right*ratio[1][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[1], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[1], 0, rect.right*real_ratio[1][0], rect.bottom*real_ratio[1][1], rect.right*real_ratio[1][2], rect.bottom*real_ratio[1][3], SWP_NOZORDER); //SetWindowPos(hWndList[2], 0, rect.right*ratio[0][0]+rect.right*ratio[1][0], 0, rect.right*ratio[2][0], rect.right*ratio[2][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[2], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[2], 0, rect.right*real_ratio[2][0], rect.bottom*real_ratio[2][1], rect.right*real_ratio[2][2], rect.bottom*real_ratio[2][3], SWP_NOZORDER); //RECT t; //GetClientRect(hWndList[2], &t); //SetWindowPos(vObjectList.GetListWnd() , 0, 0, 0, t.right, t.bottom, SWP_NOZORDER|SWP_NOMOVE); //下段 //SetWindowPos(hWndList[3], 0, 0, rect.bottom*ratio[3][1], rect.right*ratio[3][0], rect.bottom*ratio[3][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[3], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[3], 0, rect.right*real_ratio[3][0], rect.bottom*real_ratio[3][1], rect.right*real_ratio[3][2], rect.bottom*real_ratio[3][3], SWP_NOZORDER); //SetWindowPos(hWndList[4], 0, rect.right*ratio[3][0], rect.bottom*ratio[4][1], rect.right*ratio[4][0], rect.bottom*ratio[4][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[4], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[4], 0, rect.right*real_ratio[4][0], rect.bottom*real_ratio[4][1], rect.right*real_ratio[4][2], rect.bottom*real_ratio[4][3], SWP_NOZORDER); //SetWindowPos(hWndList[5], 0, rect.right*ratio[3][0]+rect.right*ratio[4][0], rect.bottom*ratio[5][1], rect.right*ratio[5][0], rect.bottom*ratio[5][1], SWP_NOZORDER); ChangeWindowStyle(hWndList[5], WS_POPUP|WS_VISIBLE); SetWindowPos(hWndList[5], 0, rect.right*real_ratio[5][0], rect.bottom*real_ratio[5][1], rect.right*real_ratio[5][2], rect.bottom*real_ratio[5][3], SWP_NOZORDER); } }
inline bool CAppDlg::IsLinkSelected() { return m_lvLinks.IsSelection(); }
void OnSize(UINT state, int cx, int cy){ if( cx < 0 || cy < 0 ) return; m_wndList.MoveWindow(0,0,cx,cy); }
inline size_t CAppDlg::GetAllSelLinks(CListView::Items& vItems) { return m_lvLinks.Selections(vItems); }