void CDialogClasses::OnOK() { unsigned numselected = m_ClassView.GetSelectedCount(); POSITION pos = m_ClassView.GetFirstSelectedItemPosition(); while (pos) { int nItem = m_ClassView.GetNextSelectedItem(pos); // FUUUUCK pushign this out last second shutup CString szBuffer = m_ClassView.GetItemText(nItem, 0); printf("nitem %d\n", nItem); nItem = FindClassByName(szBuffer.GetBuffer()); //printf( "szBuffer %s new %d\n", szBuffer.GetBuffer( ), nItem ); CMainFrame* pFrame = static_cast<CMainFrame*>(AfxGetApp( )->m_pMainWnd); CChildFrame* pChild = (CChildFrame*)pFrame->CreateNewChild(RUNTIME_CLASS(CChildFrame), IDR_ReClass2015TYPE, theApp.m_hMDIMenu, theApp.m_hMDIAccel); pChild->m_wndView.m_pClass = theApp.Classes[nItem]; // This will get overwritten for each class that is opened pChild->SetTitle(theApp.Classes[nItem]->Name); pChild->SetWindowTextA(theApp.Classes[nItem]->Name); pFrame->UpdateFrameTitleForDocument(theApp.Classes[nItem]->Name); } CDialogEx::OnOK(); }
void CSimpViewApp::OnFileNew() { CMainFrame* pFrame = STATIC_DOWNCAST(CMainFrame, m_pMainWnd); // create a new MDI child window pFrame->CreateNewChild( RUNTIME_CLASS(CChildFrame), IDR_STEP1_VIEW, m_hMDIMenu, m_hMDIAccel); }
void CReClass2015App::OnFileNew() { CMainFrame* pFrame = STATIC_DOWNCAST(CMainFrame, m_pMainWnd); CChildFrame* pChild = (CChildFrame*)pFrame->CreateNewChild(RUNTIME_CLASS(CChildFrame), IDR_ReClass2015TYPE, m_hMDIMenu, m_hMDIAccel); //char name[64]; //sprintf(name,"Class%0.8X",GetTickCount()); #ifdef _DEBUG printf("[+] OnFileNew()\n"); #endif CNodeClass* pClass = new CNodeClass; theApp.Classes.push_back(pClass); pChild->m_wndView.m_pClass = pClass; //CNodeCustom* pCust = new CNodeCustom; //pCust->memsize = 18; //pCust->pParent = pClass; //pClass->Nodes.push_back(pCust); #ifdef _WIN64 for (int i = 0; i < 64/8; i++) { CNodeHex64* pNode = new CNodeHex64; pNode->pParent = pClass; pClass->Nodes.push_back(pNode); } #else for (int i = 0; i < 64/4; i++) { CNodeHex32* pNode = new CNodeHex32; pNode->pParent = pClass; pClass->Nodes.push_back(pNode); } #endif CalcOffsets(pClass); return; //CNodeIcon* pIcon = new CNodeIcon; //pClass->Nodes.push_back(pIcon); CNodeVTable* pVTable = new CNodeVTable; pClass->Nodes.push_back(pVTable); for (int i=0; i < 5; i++) { CNodeFunctionPtr* pNode = new CNodeFunctionPtr; pNode->offset = i * pNode->GetMemorySize(); pVTable->Nodes.push_back(pNode); } pClass->Nodes.push_back( new CNodeHex64 ); pClass->Nodes.push_back( new CNodeHex32 ); pClass->Nodes.push_back( new CNodeHex16 ); pClass->Nodes.push_back( new CNodeHex8 ); pClass->Nodes.push_back( new CNodeInt64 ); pClass->Nodes.push_back( new CNodeInt32 ); pClass->Nodes.push_back( new CNodeInt64 ); pClass->Nodes.push_back( new CNodeInt16 ); pClass->Nodes.push_back( new CNodeInt8 ); pClass->Nodes.push_back( new CNodeDWORD ); pClass->Nodes.push_back( new CNodeWORD ); pClass->Nodes.push_back( new CNodeBYTE ); pClass->Nodes.push_back( new CNodeText ); pClass->Nodes.push_back( new CNodeUnicode ); pClass->Nodes.push_back( new CNodeFloat ); pClass->Nodes.push_back( new CNodeDouble ); pClass->Nodes.push_back( new CNodeCustom ); pClass->Nodes.push_back( new CNodeVec2 ); pClass->Nodes.push_back( new CNodeVec3 ); pClass->Nodes.push_back( new CNodeQuat ); pClass->Nodes.push_back( new CNodeMatrix ); pClass->Nodes.push_back( new CNodePChar ); //for (int i=0; i < 2; i++) { CNodePtr* pNode1 = new CNodePtr; CNodePtr* pNode2 = new CNodePtr; pNode1->pNode = pNode2; pNode2->pNode = pClass; pClass->Nodes.push_back(pNode1); } //for (int i=0; i < 2; i++) { // I don't know what the f**k this does ??? CNodeArray* pNode = new CNodeArray; #ifdef _WIN64 CNodeHex64* pNode2 = new CNodeHex64; #else CNodeHex32* pNode2 = new CNodeHex32; #endif pNode->pNode = pNode2; pClass->Nodes.push_back(pNode); } //Calc Offsets... DWORD offset = 0; for (UINT i = 0; i < pClass->Nodes.size(); i++ ) { pClass->Nodes[i]->offset = offset; offset += pClass->Nodes[i]->GetMemorySize( ); } //CNodeClassPtr* pClass2 = new CNodeClassPtr; //pClass2->pClass = pClass; //pClass->Nodes.push_back(pClass2); //for (int i=0; i < 10; i++) //{ // CNodeHex32* pNode = new CNodeHex32; // pNode->offset = i * 4; // pClass->Nodes.push_back(pNode); //} }