//*********************************************************************** // // nappi.cpp // //*********************************************************************** #include #include "nappi.h" CMyApp myApp; ///////////////////////////////////////////////////////////////////////// // CMyApp luokan aliohjelmien toteutus BOOL CMyApp::InitInstance () { m_pMainWnd = new CMainWindow; m_pMainWnd->ShowWindow (m_nCmdShow); m_pMainWnd->UpdateWindow (); return TRUE; } ///////////////////////////////////////////////////////////////////////// // CMainWindow luokan aliohjelmien toteutus BEGIN_MESSAGE_MAP (CMainWindow, CWnd) ON_WM_CREATE () // lomake luodaan ON_BN_CLICKED (1, OnButton1Clicked) // Beep me -nappia painetaan ON_BN_CLICKED (2, OnButton2Clicked) // Push me -nappia painetaan END_MESSAGE_MAP () CMainWindow::CMainWindow () { CString strWndClass = AfxRegisterWndClass ( 0, myApp.LoadStandardCursor (IDC_ARROW), (HBRUSH) COLOR_WINDOW, myApp.LoadStandardIcon (IDI_APPLICATION)); CreateEx (0, strWndClass, "Nappi", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, NULL); } int CMainWindow::OnCreate (LPCREATESTRUCT lpcs) { m_fontMain.CreateFont (10, 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "MS Sans Serif"); CRect rect (10, 10, 482, 266); // CRect luokkaan tallennetaan kontrollia varten vasen ylänurkka ja oikea alanurkka m_ctlGroupBox.Create ("Nappi", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, rect, this, (UINT) -1); // kehyskontrolli m_ctlGroupBox.SetFont (&m_fontMain, FALSE); rect.SetRect(130, 120, 230, 150); // vaihdetaan uudet arvot m_ctlPushButton1.Create ("Beep me", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, rect, this, (UINT) 1); // painonappi m_ctlPushButton1.SetFont (&m_fontMain, FALSE); rect.SetRect(235, 120, 335, 150); // ja vielä kerran m_ctlPushButton2.Create ("Push me", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, rect, this, (UINT) 2); // painonappi m_ctlPushButton2.SetFont (&m_fontMain, FALSE); return 0; } void CMainWindow::OnButton1Clicked () // Beep me -nappia painettu { MessageBeep (1); // piippaus } void CMainWindow::OnButton2Clicked () // Push me -nappia painettu { m_ctlPushButton1.SendMessage(BM_SETSTATE, !m_ctlPushButton1.SendMessage(BM_GETSTATE, 0, 0), 0); // tutkitaan ja vaihdetaan napin tila }