#include "windows.h"
#include "odbcinst.h"
#include "stdafx.h"
#include "LiskovaServer.h"
#include "LiskovaServerDlg.h"
#include "MyCrec.h"
#include "sql.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// диалоговое окно CLiskovaServerDlg
CLiskovaServerDlg::CLiskovaServerDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLiskovaServerDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CLiskovaServerDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//DDX_Control(pDX,STOPBUTTON,_stop);
}
BEGIN_MESSAGE_MAP(CLiskovaServerDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(STARTBUTTON, &CLiskovaServerDlg::OnStartbutton)
ON_UPDATE_COMMAND_UI(STOPBUTTON, Act_Stop)
ON_UPDATE_COMMAND_UI(STARTBUTTON, Deact_Start)
ON_UPDATE_COMMAND_UI(SAVEBUTTON, Act_Save)
ON_BN_CLICKED(STOPBUTTON, &CLiskovaServerDlg::OnStopbutton)
END_MESSAGE_MAP()
// обработчики сообщений CLiskovaServerDlg
BOOL CLiskovaServerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Добавление пункта ''О программе...'' в системное меню.
// IDM_ABOUTBOX должен быть в пределах системной команды.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Задает значок для этого диалогового окна. Среда делает это автоматически,
// если главное окно приложения не является диалоговым
SetIcon(m_hIcon, TRUE); // Крупный значок
SetIcon(m_hIcon, FALSE); // Мелкий значок
// TODO: добавьте дополнительную инициализацию
Set_Bool(FALSE);
return TRUE; // возврат значения TRUE, если фокус не передан элементу управления
}
void CLiskovaServerDlg::Deact_Start(CCmdUI *pCmdUI)
{
if (Get_Bool()==TRUE)
pCmdUI->Enable(FALSE);
else
pCmdUI->Enable(TRUE);
}
void CLiskovaServerDlg::Act_Stop(CCmdUI *pCmdUI)
{
if (Get_Bool()==TRUE)
pCmdUI->Enable(TRUE);
else
pCmdUI->Enable(FALSE);
}
void CLiskovaServerDlg::Act_Save(CCmdUI *pCmdUI)
{
if (Get_Bool()==TRUE)
pCmdUI->Enable(TRUE);
else
pCmdUI->Enable(FALSE);
}
void CLiskovaServerDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
void CLiskovaServerDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // контекст устройства для рисования
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// Выравнивание значка по центру клиентского прямоугольника
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Нарисуйте значок
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// Система вызывает эту функцию для получения отображения курсора при перемещении
// свернутого окна.
HCURSOR CLiskovaServerDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CLiskovaServerDlg::OnStartbutton()
{
Set_Bool(TRUE);
SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,
"SQL Server",
"DSN=OOP\0"
"Description=OOP\0"
"Servername=(local)\SQLEXPRESS\0"
"Database=D:\база\Trade.mdf");
UpdateDialogControls(this, TRUE);
}
void CLiskovaServerDlg::OnStopbutton()
{
Set_Bool(FALSE);
UpdateDialogControls(this, TRUE);
}