/** * @return whether window initialization succeeded * @param title char* string with window title * * Initializes the game window */ bool SpringApp::InitWindow(const char* title) { unsigned int sdlInitFlags = SDL_INIT_VIDEO | SDL_INIT_TIMER; #ifdef WIN32 // the crash reporter should be catching the errors sdlInitFlags |= SDL_INIT_NOPARACHUTE; #endif if ((SDL_Init(sdlInitFlags) == -1)) { LOG_L(L_FATAL, "Could not initialize SDL: %s", SDL_GetError()); return false; } PrintAvailableResolutions(); WindowManagerHelper::SetCaption(title); if (!SetSDLVideoMode()) { LOG_L(L_FATAL, "Failed to set SDL video mode: %s", SDL_GetError()); return false; } RestoreWindowPosition(); if (cmdline->IsSet("minimise")) { globalRendering->active = false; SDL_WM_IconifyWindow(); } glClearColor(0.0f,0.0f,0.0f,0.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); SDL_GL_SwapBuffers(); return true; }
void cdxCDynamicWndEx::OnInitialized() { ASSERT(IsWindow()); if(!m_strAutoPos.IsEmpty()) { #if _MSC_VER < 1300 // vc6 if(!RestoreWindowPosition(_makeFullProfile(M_lpszAutoPosProfileSection,m_strAutoPos),rflg_all)) #else // vc7 if(!RestoreWindowPosition(_makeFullProfile(M_lpszAutoPosProfileSection,m_strAutoPos),"",rflg_all)) #endif { Window()->CenterWindow(); StretchWindow(10); } } }
LRESULT MainFrame::OnShowWindow(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { static bool s_inited = false; if (!s_inited) { s_inited = true; RestoreWindowPosition(); } return 0; }
void cdxCDynamicWndEx::OnInitialized() { ASSERT(IsWindow()); if(!m_strAutoPos.IsEmpty()) { if(!RestoreWindowPosition(_makeFullProfile(M_lpszAutoPosProfileSection,m_strAutoPos),rflg_all)) { Window()->CenterWindow(); // StretchWindow(10); } } }
BOOL CALLBACK ComponentDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam) { if (!pCmpHost) return FALSE; switch (Msg) { //------------------------------------------------------------------ case WM_CLOSE: pCmpHost->Close(); break; //------------------------------------------------------------------------------------------------- case WM_DESTROY: StoreWindowPosition(hDlg, "Component", Config.GetSubkeyPath("Console"), FALSE); break; //------------------------------------------------------------------------------------------------- case WM_INITDIALOG: pCmpHost->InitDialog(hDlg); RestoreWindowPosition(hDlg, "Component", Config.GetSubkeyPath("Console")); return TRUE; //------------------------------------------------------------------------------------------------- case WM_COMMAND: // Evaluate command switch (LOWORD(wParam)) { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - case IDCANCEL: pCmpHost->Close(); return TRUE; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - case IDOK: // IDC_EDITDATA to Data char buffer[65000]; GetDlgItemText(hDlg, IDC_EDITDATA, buffer, 65000); pCmpHost->Modified = TRUE; pCmpHost->Data.Copy(buffer); pCmpHost->Close(); return TRUE; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - } return FALSE; //----------------------------------------------------------------------------------------------------------------------------------- } return FALSE; }
INT_PTR Dlg_MemBookmark::MemBookmarkDialogProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { PMEASUREITEMSTRUCT pmis; PDRAWITEMSTRUCT pdis; int nSelect; HWND hList; int offset = 2; RECT rcBounds, rcLabel; switch ( uMsg ) { case WM_INITDIALOG: { GenerateResizes( hwnd ); m_hMemBookmarkDialog = hwnd; hList = GetDlgItem( m_hMemBookmarkDialog, IDC_RA_LBX_ADDRESSES ); SetupColumns( hList ); // Auto-import bookmark file when opening dialog if ( g_pCurrentGameData->GetGameID() != 0 ) { std::string file = RA_DIR_BOOKMARKS + std::to_string( g_pCurrentGameData->GetGameID() ) + "-Bookmarks.txt"; ImportFromFile( file ); } RestoreWindowPosition( hwnd, "Memory Bookmarks", true, false ); return TRUE; } case WM_GETMINMAXINFO: { LPMINMAXINFO lpmmi = (LPMINMAXINFO)lParam; lpmmi->ptMinTrackSize = pDlgMemBookmarkMin; } break; case WM_SIZE: { RARect winRect; GetWindowRect( hwnd, &winRect ); for ( ResizeContent content : vDlgMemBookmarkResize ) content.Resize( winRect.Width(), winRect.Height() ); //InvalidateRect( hwnd, NULL, TRUE ); RememberWindowSize(hwnd, "Memory Bookmarks"); } break; case WM_MOVE: RememberWindowPosition(hwnd, "Memory Bookmarks"); break; case WM_MEASUREITEM: pmis = (PMEASUREITEMSTRUCT)lParam; pmis->itemHeight = 16; return TRUE; case WM_DRAWITEM: { pdis = (PDRAWITEMSTRUCT)lParam; // If there are no list items, skip this message. if ( pdis->itemID == -1 ) break; switch ( pdis->itemAction ) { case ODA_SELECT: case ODA_DRAWENTIRE: hList = GetDlgItem( hwnd, IDC_RA_LBX_ADDRESSES ); ListView_GetItemRect( hList, pdis->itemID, &rcBounds, LVIR_BOUNDS ); ListView_GetItemRect( hList, pdis->itemID, &rcLabel, LVIR_LABEL ); RECT rcCol ( rcBounds ); rcCol.right = rcCol.left + ListView_GetColumnWidth( hList, 0 ); // Draw Item Label - Column 0 wchar_t buffer[ 512 ]; if ( m_vBookmarks[ pdis->itemID ]->Decimal() ) swprintf_s ( buffer, 512, L"(D)%s", m_vBookmarks[ pdis->itemID ]->Description().c_str() ); else swprintf_s ( buffer, 512, L"%s", m_vBookmarks[ pdis->itemID ]->Description().c_str() ); if ( pdis->itemState & ODS_SELECTED ) { SetTextColor( pdis->hDC, GetSysColor( COLOR_HIGHLIGHTTEXT ) ); SetBkColor( pdis->hDC, GetSysColor( COLOR_HIGHLIGHT ) ); FillRect( pdis->hDC, &rcBounds, GetSysColorBrush( COLOR_HIGHLIGHT ) ); } else { SetTextColor( pdis->hDC, GetSysColor( COLOR_WINDOWTEXT ) ); COLORREF color; if ( m_vBookmarks[ pdis->itemID ]->Frozen() ) color = RGB( 255, 255, 160 ); else color = GetSysColor( COLOR_WINDOW ); HBRUSH hBrush = CreateSolidBrush( color ); SetBkColor( pdis->hDC, color ); FillRect( pdis->hDC, &rcBounds, hBrush ); DeleteObject( hBrush ); } if ( wcslen( buffer ) > 0 ) { rcLabel.left += ( offset / 2 ); rcLabel.right -= offset; DrawTextW( pdis->hDC, buffer, wcslen( buffer ), &rcLabel, DT_SINGLELINE | DT_LEFT | DT_NOPREFIX | DT_NOCLIP | DT_VCENTER | DT_END_ELLIPSIS ); } // Draw Item Label for remaining columns LV_COLUMN lvc; lvc.mask = LVCF_FMT | LVCF_WIDTH; for ( size_t i = 1; ListView_GetColumn( hList, i, &lvc ); ++i ) { rcCol.left = rcCol.right; rcCol.right += lvc.cx; switch ( i ) { case CSI_ADDRESS: swprintf_s ( buffer, 512, L"%06x", m_vBookmarks[ pdis->itemID ]->Address() ); break; case CSI_VALUE: if ( m_vBookmarks[ pdis->itemID ]->Decimal() ) swprintf_s ( buffer, 512, L"%u", m_vBookmarks[ pdis->itemID ]->Value() ); else { switch ( m_vBookmarks[ pdis->itemID ]->Type() ) { case 1: swprintf_s ( buffer, 512, L"%02x", m_vBookmarks[ pdis->itemID ]->Value() ); break; case 2: swprintf_s ( buffer, 512, L"%04x", m_vBookmarks[ pdis->itemID ]->Value() ); break; case 3: swprintf_s ( buffer, 512, L"%08x", m_vBookmarks[ pdis->itemID ]->Value() ); break; } } break; case CSI_PREVIOUS: if ( m_vBookmarks[ pdis->itemID ]->Decimal() ) swprintf_s ( buffer, 512, L"%u", m_vBookmarks[ pdis->itemID ]->Previous() ); else { switch ( m_vBookmarks[ pdis->itemID ]->Type() ) { case 1: swprintf_s ( buffer, 512, L"%02x", m_vBookmarks[ pdis->itemID ]->Previous() ); break; case 2: swprintf_s ( buffer, 512, L"%04x", m_vBookmarks[ pdis->itemID ]->Previous() ); break; case 3: swprintf_s ( buffer, 512, L"%08x", m_vBookmarks[ pdis->itemID ]->Previous() ); break; } } break; case CSI_CHANGES: swprintf_s ( buffer, 512, L"%d", m_vBookmarks[ pdis->itemID ]->Count() ); break; default: swprintf_s ( buffer, 512, L"" ); break; } if ( wcslen( buffer ) == 0 ) continue; UINT nJustify = DT_LEFT; switch ( lvc.fmt & LVCFMT_JUSTIFYMASK ) { case LVCFMT_RIGHT: nJustify = DT_RIGHT; break; case LVCFMT_CENTER: nJustify = DT_CENTER; break; default: break; } rcLabel = rcCol; rcLabel.left += offset; rcLabel.right -= offset; DrawTextW( pdis->hDC, buffer, wcslen( buffer ), &rcLabel, nJustify | DT_SINGLELINE | DT_NOPREFIX | DT_VCENTER | DT_END_ELLIPSIS ); } //if (pdis->itemState & ODS_SELECTED) //&& (GetFocus() == this) // DrawFocusRect(pdis->hDC, &rcBounds); break; case ODA_FOCUS: break; } return TRUE; } case WM_NOTIFY: { switch ( LOWORD( wParam ) ) { case IDC_RA_LBX_ADDRESSES: if ( ( (LPNMHDR)lParam )->code == NM_CLICK ) { hList = GetDlgItem( hwnd, IDC_RA_LBX_ADDRESSES ); nSelect = ListView_GetNextItem( hList, -1, LVNI_FOCUSED ); if ( nSelect == -1 ) break; } else if ( ( (LPNMHDR)lParam )->code == NM_DBLCLK ) { hList = GetDlgItem( hwnd, IDC_RA_LBX_ADDRESSES ); LPNMITEMACTIVATE pOnClick = (LPNMITEMACTIVATE)lParam; if ( pOnClick->iItem != -1 && pOnClick->iSubItem == CSI_DESC ) { nSelItemBM = pOnClick->iItem; nSelSubItemBM = pOnClick->iSubItem; EditLabel ( pOnClick->iItem, pOnClick->iSubItem ); } else if ( pOnClick->iItem != -1 && pOnClick->iSubItem == CSI_ADDRESS ) { g_MemoryDialog.SetWatchingAddress( m_vBookmarks[ pOnClick->iItem ]->Address() ); MemoryViewerControl::setAddress( ( m_vBookmarks[ pOnClick->iItem ]->Address() & ~( 0xf ) ) - ( (int)( MemoryViewerControl::m_nDisplayedLines / 2 ) << 4 ) + ( 0x50 ) ); } } } return TRUE; } case WM_COMMAND: { switch ( LOWORD( wParam ) ) { case IDOK: case IDCLOSE: case IDCANCEL: EndDialog( hwnd, true ); return TRUE; case IDC_RA_ADD_BOOKMARK: { if ( g_MemoryDialog.GetHWND() != nullptr ) AddAddress(); return TRUE; } case IDC_RA_DEL_BOOKMARK: { HWND hList = GetDlgItem( hwnd, IDC_RA_LBX_ADDRESSES ); int nSel = ListView_GetNextItem( hList, -1, LVNI_SELECTED ); if ( nSel != -1 ) { while ( nSel >= 0 ) { MemBookmark* pBookmark = m_vBookmarks[ nSel ]; // Remove from vector m_vBookmarks.erase( m_vBookmarks.begin() + nSel ); // Remove from map std::vector<const MemBookmark*> *pVector; pVector = &m_BookmarkMap.find( pBookmark->Address() )->second; pVector->erase( std::find( pVector->begin(), pVector->end(), pBookmark ) ); if ( pVector->size() == 0 ) m_BookmarkMap.erase( pBookmark->Address() ); delete pBookmark; ListView_DeleteItem( hList, nSel ); nSel = ListView_GetNextItem( hList, -1, LVNI_SELECTED ); } InvalidateRect( hList, NULL, FALSE ); } return TRUE; } case IDC_RA_FREEZE: { if ( m_vBookmarks.size() > 0 ) { hList = GetDlgItem( hwnd, IDC_RA_LBX_ADDRESSES ); unsigned int uSelectedCount = ListView_GetSelectedCount( hList ); if ( uSelectedCount > 0 ) { for ( int i = ListView_GetNextItem( hList, -1, LVNI_SELECTED ); i >= 0; i = ListView_GetNextItem( hList, i, LVNI_SELECTED ) ) m_vBookmarks[ i ]->SetFrozen( !m_vBookmarks[ i ]->Frozen() ); } ListView_SetItemState( hList, -1, LVIF_STATE, LVIS_SELECTED ); } return TRUE; } case IDC_RA_CLEAR_CHANGE: { if ( m_vBookmarks.size() > 0 ) { hList = GetDlgItem( hwnd, IDC_RA_LBX_ADDRESSES ); int idx = -1; for ( MemBookmark* bookmark : m_vBookmarks ) { idx++; bookmark->ResetCount(); } InvalidateRect( hList, NULL, FALSE ); } return TRUE; } case IDC_RA_DECIMALBOOKMARK: { if ( m_vBookmarks.size() > 0 ) { hList = GetDlgItem( hwnd, IDC_RA_LBX_ADDRESSES ); unsigned int uSelectedCount = ListView_GetSelectedCount( hList ); if ( uSelectedCount > 0 ) { for ( int i = ListView_GetNextItem( hList, -1, LVNI_SELECTED ); i >= 0; i = ListView_GetNextItem( hList, i, LVNI_SELECTED ) ) m_vBookmarks[ i ]->SetDecimal( !m_vBookmarks[ i ]->Decimal() ); } ListView_SetItemState( hList, -1, LVIF_STATE, LVIS_SELECTED ); } return TRUE; } case IDC_RA_SAVEBOOKMARK: { ExportJSON(); return TRUE; } case IDC_RA_LOADBOOKMARK: { std::string file = ImportDialog(); if (file.length() > 0 ) ImportFromFile( file ); return TRUE; } default: return FALSE; } } default: break; } return FALSE; }
BOOL CALLBACK RulesDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { int i, iCount; char str[256]; static HWND hWndList; LV_COLUMN lvC; LV_ITEM lvI; LV_DISPINFO *pItem; char tempString1[256], tempString2[256]; switch (uMsg) { case WM_INITDIALOG: hWndList = GetDlgItem(hDlg, IDC_LIST); ListView_SetExtendedListViewStyleEx(hWndList, LVS_EX_GRIDLINES, LVS_EX_GRIDLINES ); ListView_SetExtendedListViewStyleEx(hWndList, LVS_EX_CHECKBOXES, LVS_EX_CHECKBOXES ); lvC.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT; lvC.cx = 525; lvC.pszText = "Rule"; lvC.iSubItem = 0; lvC.fmt = LVCFMT_LEFT; ListView_InsertColumn(hWndList, 0, &lvC); PopulateRulesList(hWndList, 0); SendDlgItemMessage(hDlg, IDC_RULE, EM_SETLIMITTEXT, (WPARAM) 255, 0); if (bEnableFilter == TRUE) CheckRadioButton(hDlg, IDC_RADIO_FILTER, IDC_RADIO_NOFILTER, IDC_RADIO_FILTER); else { CheckRadioButton(hDlg, IDC_RADIO_FILTER, IDC_RADIO_NOFILTER, IDC_RADIO_NOFILTER); SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(IDC_RADIO_NOFILTER, 0), 0); } RestoreWindowPosition(hDlg); return TRUE; case WM_NOTIFY: switch (((LPNMHDR) lParam)->code) { case LVN_ENDLABELEDIT: pItem = (LV_DISPINFO *) lParam; ListView_SetItemText(hWndList, pItem->item.iItem, 0, pItem->item.pszText); return TRUE; } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_ADD: GetDlgItemText(hDlg, IDC_RULE, str, 255); iCount = getnumtokens(str); if ((iCount != 8) && (iCount != 3)) { MessageBox(hDlg, "Incorrect number of parameters, please correct rule.", APP_NAME, MB_ICONEXCLAMATION | MB_OK); return TRUE; } lvI.mask = LVIF_TEXT; lvI.iSubItem = 0; lvI.cchTextMax = 255; i = ListView_GetItemCount(hWndList); lvI.iItem = i; lvI.pszText = str; ListView_InsertItem(hWndList, &lvI); SetDlgItemText(hDlg, IDC_RULE, ""); ListView_SetCheckState(hWndList, i, TRUE); ListView_EnsureVisible(hWndList, i, FALSE); return TRUE; case IDC_DELETE: lvI.mask = LVIF_STATE; lvI.stateMask =LVIS_SELECTED; lvI.iSubItem = 0; iCount = ListView_GetItemCount( hWndList ); for( i = 0; i < iCount; i++ ) { lvI.iItem = i; ListView_GetItem(hWndList, &lvI); if( lvI.state == LVIS_SELECTED ) { ListView_DeleteItem(hWndList, i); --iCount; --i; } } return TRUE; case IDC_CANCEL: SaveWindowPosition(hDlg); EndDialog(hDlg, FALSE); return TRUE; case IDC_SAVE: lvI.mask = LVIF_TEXT; lvI.iSubItem = 0; lvI.cchTextMax = 255; memset(rule_text, 0, sizeof(rule_text)); iCount = ListView_GetItemCount(hWndList); for (i = 0; i < iCount; i++) { lvI.iItem = i; lvI.pszText = rule_text[i].rule; ListView_GetItem(hWndList, &lvI); rule_text[i].bEnabled = ListView_GetCheckState(hWndList, i); } if (SendDlgItemMessage(hDlg, IDC_RADIO_FILTER, BM_GETCHECK, 0, 0) == BST_CHECKED) bEnableFilter = TRUE; else bEnableFilter = FALSE; SaveWindowPosition(hDlg); EndDialog(hDlg, TRUE); return TRUE; case IDC_RADIO_NOFILTER: EnableWindow(GetDlgItem(hDlg, IDC_ADD), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_DELETE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_RULE), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_MOVEUP), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_MOVEDOWN), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT), FALSE); EnableWindow(hWndList, FALSE); return TRUE; case IDC_RADIO_FILTER: EnableWindow(GetDlgItem(hDlg, IDC_ADD), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_DELETE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_RULE), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_MOVEUP), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_MOVEDOWN), TRUE); EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT), TRUE); EnableWindow(hWndList, TRUE); return TRUE; case IDC_MOVEUP: iCount = ListView_GetItemCount( hWndList ); for( i = 1; i < iCount; i++ ) { if( ListView_GetItemState(hWndList, i, LVIS_SELECTED) == LVIS_SELECTED ) { ListView_GetItemText(hWndList, i-1, 0, tempString1, sizeof(tempString1)); ListView_GetItemText(hWndList, i, 0, tempString2, sizeof(tempString2)); ListView_SetItemText(hWndList, i-1, 0, tempString2); ListView_SetItemText(hWndList, i, 0, tempString1); ListView_SetItemState(hWndList, i-1, LVIS_SELECTED, LVIS_SELECTED ); ListView_SetItemState(hWndList, i, 0, LVIS_SELECTED); break; } } return TRUE; case IDC_MOVEDOWN: iCount = ListView_GetItemCount( hWndList ); for( i = iCount-2; i >= 0; i-- ) { if( ListView_GetItemState(hWndList, i, LVIS_SELECTED) == LVIS_SELECTED ) { ListView_GetItemText(hWndList, i+1, 0, tempString1, sizeof(tempString1)); ListView_GetItemText(hWndList, i, 0, tempString2, sizeof(tempString2)); ListView_SetItemText(hWndList, i+1, 0, tempString2); ListView_SetItemText(hWndList, i, 0, tempString1); ListView_SetItemState(hWndList, i+1, LVIS_SELECTED, LVIS_SELECTED); ListView_SetItemState(hWndList, i, 0, LVIS_SELECTED); break; } } return TRUE; case IDC_DEFAULT: i = MessageBox(hDlg, "This action will erase existing rules. Proceed with setting up default rules?", "Network Spy", MB_YESNO | MB_ICONWARNING); if (i == IDYES) { SetupDefaultRules(); PopulateRulesList(hWndList, 0); } return TRUE; } break; case WM_CLOSE: SaveWindowPosition(hDlg); EndDialog(hDlg, 0); return TRUE; } return FALSE; }
BOOL CTimeEv::OnInitDialog() { cdxCSizingDialog::OnInitDialog(); RestoreWindowPosition(_T("Main\\TimeWindow")); AddSzControl( m_wndScrollTime, mdResize, mdRepos); AddSzControl( m_wndListArenaCl, mdNone, mdRepos); AddSzControl( m_wndListRoomCl, mdNone, mdRepos); AddSzControl( m_wndCmbArena, mdNone, mdRepos); AddSzControl( m_wndCmbRoom, mdNone, mdRepos); AddSzControl( m_wndCmbOrigNew, mdRepos, mdRepos); AddSzControl( m_wndSpinTime, mdRepos, mdRepos); AddSzControl( m_wndEditTime, mdRepos, mdRepos); AddSzControl( m_wndCheckRaster, mdRepos, mdRepos); AddSzControl( m_wndCheckSpike, mdRepos, mdRepos); AddSzControl( m_wndPlay, mdRepos, mdRepos); AddSzControl( m_wndClear, mdRepos, mdRepos); AddSzControl( m_wndPlaySpeed, mdRepos, mdRepos); AddSzControl( m_wndSpinPlaySpeed, mdRepos, mdRepos); AddSzControl( m_wndSetEEGGains, mdRepos, mdRepos); AddSzControl( m_wndVideo, mdRepos, mdRepos); AddSzControl( m_wndSetTime, mdRepos, mdRepos); AddSzControl( m_wndEditSetTime, mdRepos, mdRepos); AddSzControl( m_wndMax, mdRepos, mdRepos); AddSzControl( m_wndTakePict, mdRepos, mdRepos); AddSzControl( m_wndOK, mdRepos, mdRepos); AddSzControl( m_wndCancel, mdRepos, mdRepos); AddSzControl( m_wndListScale, mdRepos, mdResize); AddSzControl( m_wndListSpikeCl, mdRepos, mdRepos); m_wndCheckSpike.SetCheck(0); m_wndCheckRaster.SetCheck(1); m_wndCmbOrigNew.AddString(TEXT("Your new cl.")); m_wndCmbOrigNew.AddString(TEXT("Original cl.")); m_wndCmbArena.AddString(TEXT("points")); m_wndCmbArena.AddString(TEXT("circles")); m_wndCmbArena.AddString(TEXT("vectors")); m_wndCmbRoom.AddString(TEXT("points")); m_wndCmbRoom.AddString(TEXT("circles")); m_wndCmbRoom.AddString(TEXT("vectors")); m_wndCmbArena.SetCurSel(0); m_wndCmbRoom.SetCurSel(0); mPrepareFlag = 0; m_HCross = AfxGetApp()->LoadStandardCursor(IDC_CROSS); GetClientRect(m_MainRect); m_videoRect = m_MainRect; m_videoRect.left += 11; m_videoRect.bottom -= 15; //45 m_videoRect.top = m_videoRect.bottom - 130; m_videoRect.right = m_videoRect.left + 130; m_videoRect.left += 1; m_videoRect.top += 1; m_videoRect.right -= 1; m_videoRect.bottom -= 1; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }