home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 13
/
mediashare_13.zip
/
mediashare_13
/
ZIPPED
/
PROGRAM
/
WTJ9403.ZIP
/
POKER
/
MAINFRM.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-08
|
7KB
|
239 lines
// mainfrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "poker.h"
#include "pokerdoc.h"
#include "pokervw.h"
#include "mainfrm.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
//}}AFX_MSG_MAP
ON_UPDATE_COMMAND_UI(ID_INDICATOR_POT, OnUpdateKeyIndicator)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_POT_VALUE, OnUpdateKeyIndicator)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_CREDIT, OnUpdateKeyIndicator)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_CREDIT_VALUE, OnUpdateKeyIndicator)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_OWED, OnUpdateKeyIndicator)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_OWED_VALUE, OnUpdateKeyIndicator)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_BET, OnUpdateKeyIndicator)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_BET_VALUE, OnUpdateKeyIndicator)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// arrays of IDs used to initialize control bars
// toolbar buttons - IDs are command buttons
static UINT BASED_CODE buttons[] =
{
// same order as in the bitmap 'toolbar.bmp'
ID_FILE_NEWGAME,
ID_SEPARATOR,
ID_MOVES_CALL,
ID_MOVES_BET,
ID_MOVES_FOLD,
ID_MOVES_RAISE,
ID_MOVES_CHECK,
ID_SEPARATOR,
ID_MOVES_DEAL,
};
static UINT BASED_CODE indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_POT,
ID_INDICATOR_POT_VALUE,
ID_INDICATOR_CREDIT,
ID_INDICATOR_CREDIT_VALUE,
ID_INDICATOR_OWED,
ID_INDICATOR_OWED_VALUE,
ID_INDICATOR_BET,
ID_INDICATOR_BET_VALUE,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.Create(this) ||
!m_wndToolBar.LoadBitmap(IDR_MAINFRAME) ||
!m_wndToolBar.SetButtons(buttons,
sizeof(buttons)/sizeof(UINT)))
{
TRACE("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE("Failed to create status bar\n");
return -1; // fail to create
}
else
{
UINT nID;
UINT nStyle;
int cxWidth;
int nIndex;
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_POT);
m_wndStatusBar.GetPaneInfo(nIndex, nID, nStyle, cxWidth);
nStyle = SBPS_NORMAL | SBPS_NOBORDERS;
m_wndStatusBar.SetPaneInfo(nIndex, nID, nStyle, cxWidth);
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_CREDIT);
m_wndStatusBar.GetPaneInfo(nIndex, nID, nStyle, cxWidth);
nStyle = SBPS_NORMAL | SBPS_NOBORDERS;
m_wndStatusBar.SetPaneInfo(nIndex, nID, nStyle, cxWidth);
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_OWED);
m_wndStatusBar.GetPaneInfo(nIndex, nID, nStyle, cxWidth);
nStyle = SBPS_NORMAL | SBPS_NOBORDERS;
m_wndStatusBar.SetPaneInfo(nIndex, nID, nStyle, cxWidth);
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_BET);
m_wndStatusBar.GetPaneInfo(nIndex, nID, nStyle, cxWidth);
nStyle = SBPS_NORMAL | SBPS_NOBORDERS;
m_wndStatusBar.SetPaneInfo(nIndex, nID, nStyle, cxWidth);
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_POT_VALUE);
m_wndStatusBar.SetPaneText(nIndex, "0");
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_CREDIT_VALUE);
m_wndStatusBar.SetPaneText(nIndex, "0");
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_OWED_VALUE);
m_wndStatusBar.SetPaneText(nIndex, "0");
nIndex = m_wndStatusBar.CommandToIndex(ID_INDICATOR_BET_VALUE);
m_wndStatusBar.SetPaneText(nIndex, "0");
}
SetWindowPos(&wndTopMost, 0, 0, 640, 480, SWP_NOZORDER);
return 0;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
/////////////////////////////////////////////////////////////////////////////
// Support for standard status bar
void CMainFrame::OnUpdateKeyIndicator(CCmdUI* pCmdUI)
{
UINT nVK = 1;
char szBuffer[20];
UINT nIndex = m_wndStatusBar.CommandToIndex(pCmdUI->m_nID);
// Get the current document, to update the status bar indicators...
CPokerView* pView = (CPokerView *)GetActiveView();
CPokerDoc* pDoc = pView->GetDocument();
switch (pCmdUI->m_nID)
{
case ID_INDICATOR_CAPS:
nVK = VK_CAPITAL;
break;
case ID_INDICATOR_NUM:
nVK = VK_NUMLOCK;
break;
case ID_INDICATOR_SCRL:
nVK = VK_SCROLL;
break;
case ID_INDICATOR_POT_VALUE:
sprintf(szBuffer, "%d", pDoc->nPot * 5);
m_wndStatusBar.SetPaneText(nIndex, szBuffer);
nVK = 0;
break;
case ID_INDICATOR_CREDIT_VALUE:
sprintf(szBuffer, "%d", pDoc->nChips[3] * 5);
m_wndStatusBar.SetPaneText(nIndex, szBuffer);
nVK = 0;
break;
case ID_INDICATOR_OWED_VALUE:
sprintf(szBuffer, "%d", pDoc->nOwed[3]);
m_wndStatusBar.SetPaneText(nIndex, szBuffer);
nVK = 0;
break;
case ID_INDICATOR_BET_VALUE:
sprintf(szBuffer, "%d", pDoc->nOwed[3]);
m_wndStatusBar.SetPaneText(nIndex, szBuffer);
nVK = 0;
break;
case ID_INDICATOR_POT:
case ID_INDICATOR_CREDIT:
case ID_INDICATOR_OWED:
case ID_INDICATOR_BET:
nVK = 0;
break;
default:
TRACE1("Warning: OnUpdateKeyIndicator - unknown indicator 0x%04X\n",
pCmdUI->m_nID);
pCmdUI->ContinueRouting();
return; // not for us
}
if (nVK)
{
pCmdUI->Enable(::GetKeyState(nVK) & 1);
}
else
{
pCmdUI->Enable(TRUE);
}
// enable static text based on toggled key state
ASSERT(pCmdUI->m_bEnableChanged);
}