Назад | Начало урока | Вперед
Содержание

Глава 2


BOOL CSeaBattleDlg::OnInitDialog() {
CDialog::OnInitDialog();
HINSTANCE hInst;
RECT rect;
CDC* dc, tmpDC;
CSize sz;
int i, j;
CBitmap bmp, *ptmpBmp;
CPicture m_Fon;

SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
hInst = AfxGetInstanceHandle();

m_OwnField.Create(NULL, WS_CHILD|WS_VISIBLE|SS_NOTIFY, CRect(30, 100, 230, 300), this);
m_OwnField.SetMode(OWN_FIELD);
m_ForeignField.Create(NULL, WS_CHILD|WS_VISIBLE|SS_NOTIFY, CRect(260, 100, 460, 300), this);
m_ForeignField.SetMode(FOREIGN_FIELD);
m_NumberO.Create(NULL, WS_CHILD|WS_VISIBLE, CRect(30, 80, 230, 95), this);
m_NumberO.SetMode(NUMBERS);
m_NumberF.Create(NULL, WS_CHILD|WS_VISIBLE, CRect(260, 80, 460, 95), this);
m_NumberF.SetMode(NUMBERS);
m_LetterO.Create(NULL, WS_CHILD|WS_VISIBLE, CRect(10, 100, 25, 300), this);
m_LetterO.SetMode(LETTERS);
m_LetterF.Create(NULL, WS_CHILD|WS_VISIBLE, CRect(240, 100, 255, 300), this);
m_LetterF.SetMode(LETTERS);
m_Sight = (HCURSOR)::LoadCursor(hInst, MAKEINTRESOURCE(IDC_SIGHT));

m_Process = PLACE;
m_Operation = UNDEFINED;

GetClientRect(&rect);
dc = GetDC();
m_FonDC.CreateCompatibleDC(dc);
bmp.CreateCompatibleBitmap(dc, rect.right+150, rect.bottom);
ReleaseDC(dc);
pOld = m_FonDC.SelectObject(&bmp);
m_Fon.Load(JPG_BACKGROUND);
m_Fon.Render(&m_FonDC, CRect(0, 0, 50, 50));
for(i=0; i<=rect.right/50+3; i++)

for(j=0; j<=rect.bottom/50; j++)
m_FonDC.BitBlt(i*50, j*50, 50, 50, &m_FonDC, 0, 0, SRCCOPY);
m_FonDC.SetBkMode(TRANSPARENT);
m_FonDC.TextOut(32, 306, "Убито:");
m_FonDC.TextOut(262, 306, "Убито:");
m_OwnField.SetParent(this);
m_ForeignField.SetParent(this);
m_Fon.Load(JPG_TITLE);
m_Fon.Render(&m_FonDC, CRect(170, 1, 300, 20));

bClose.LoadBitmap(IDB_CLOSE);
bHide.LoadBitmap(IDB_HIDE);
bTnOn.LoadBitmap(IDB_TURNON);
bTnOut.LoadBitmap(IDB_TURNOUT);
tmpDC.CreateCompatibleDC(&m_FonDC);
ptmpBmp = tmpDC.SelectObject(&bClose);
m_FonDC.BitBlt(rect.right-21, 1, 20, 20, &tmpDC, 0, 0, SRCCOPY);
tmpDC.SelectObject(&bHide);
m_FonDC.BitBlt(rect.right-45, 1, 20, 20, &tmpDC, 0, 0, SRCCOPY);
tmpDC.SelectObject(&bTnOn);
m_FonDC.BitBlt(rect.right-69, 1, 20, 20, &tmpDC, 0, 0, SRCCOPY);
tmpDC.SelectObject(ptmpBmp);
tmpDC.DeleteDC();

m_FonDC.TextOut(rect.right+20, 83, "История игры");
m_FonDC.SetTextAlign(TA_CENTER);

m_cHand = LoadCursor(hInst, MAKEINTRESOURCE(IDC_HAND));
m_cDefault = LoadCursor(hInst, MAKEINTRESOURCE(IDC_DEFAULT));
SetWindowText("Морской бой. Автор: Волков Алексей");
Help.Create(IDD_HELP, this);

NetworkWnd.Create(IDD_NETWORK);
wnd = this;
NetworkWnd.parent = this;
Start();

//Красивые Кнопки
m_ShipWnd.Create(NULL, NULL, WS_CHILD|WS_VISIBLE, CRect(0, 0, 103, 88), this, 0);
m_ShipWnd.SetMode(BT_SHIPS, this);
m_NetWnd.Create(NULL, NULL, WS_CHILD|WS_VISIBLE, CRect(105, 20, 105+112, 20+65), this, 0);
m_NetWnd.SetMode(BT_NET, this);
m_SingleWnd.Create(NULL, NULL, WS_CHILD|WS_VISIBLE, CRect(220, 18, 220+142, 18+68), this, 0);
m_SingleWnd.SetMode(BT_SINGLE, this);
m_HelpWnd.Create(NULL, NULL, WS_CHILD|WS_VISIBLE, CRect(365, 20, 365+118, 20+58), this, 0);
m_HelpWnd.SetMode(BT_HELP, this);

m_MovesBox.Create(WS_CHILD|WS_BORDER|WS_HSCROLL|WS_TABSTOP|LVS_LIST,
CRect(rect.right-10, 100, rect.right+140, 300), this, 0);
m_MovesBox.Init(this);

m_Results.Create(WS_CHILD|WS_BORDER|LVS_LIST,
CRect(rect.right-10, 100, rect.right+140, 300), this, 0);
m_Results.SetBkColor(RGB(35, 89, 127));
m_Results.SetTextBkColor(RGB(35, 89, 127));

m_ResFile.Open("Data.dat", CFile::modeCreate | CFile::modeNoTruncate
| CFile::modeReadWrite | CFile::shareExclusive);
ReadFile();

m_SaveDialog.Create(IDD_SAVE_RESULT, this);
m_SaveDialog.SetParent(this);
m_SaveDialog.ShowWindow(SW_HIDE);
return TRUE; // return TRUE unless you set the focus to a control

}


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz