//*********************************************************************** // // checkradio.cpp // //*********************************************************************** #include #include "checkradio.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 (5, OnButtonCheckClicked) // check-nappia painetaan ON_BN_CLICKED (6, OnButtonRadioClicked) // radio-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, "CheckBox & RadioButton", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, NULL); } int CMainWindow::OnCreate (LPCREATESTRUCT lpcs) // lomakkeen luomistapahtuma { 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"); // fontin luominen CRect rect; // luodaan CRect-luokan olio jota käytetään kehyskontrollin luomisessa m_ctlGroupBox.Create ("", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, rect, this, (UINT) -1); // luodaan kehyskontrolli m_ctlGroupBox.SetFont (&m_fontMain, FALSE); // asetetaan kehyskontrollin fontti rect.SetRect (110, 50, 210, 70); m_ctlCheckBox1.Create ("AutoCheck1", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, rect, this, (UINT) 1); // luodaan valintaruutukontrolli m_ctlCheckBox1.SetFont (&m_fontMain, FALSE); // asetetaan valintaruutukontrollin fontti rect.SetRect (110, 70, 210, 90); m_ctlCheckBox2.Create ("AutoCheck2", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, rect, this, (UINT) 2); // luodaan valintaruutukontrolli m_ctlCheckBox2.SetFont (&m_fontMain, FALSE); // asetetaan valintaruutukontrollin fontti rect.SetRect (280, 50, 380, 70); m_ctlRadioButton1.Create ("AutoRadio1", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, rect, this, (UINT) 3); // luodaan valintanappikontrolli m_ctlRadioButton1.SetFont (&m_fontMain, FALSE); // asetetaan valintanappikontrollin fontti rect.SetRect (280, 70, 380, 90); m_ctlRadioButton2.Create ("AutoRadio2", WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON, rect, this, (UINT) 4); // luodaan valintanappikontrolli m_ctlRadioButton2.SetFont (&m_fontMain, FALSE); // asetetaan valintanappikontrollin fontti rect.SetRect (110, 120, 210, 150); m_ctlPushButton1.Create ("Check", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, rect, this, (UINT) 5); // luodaan valintanappikontrolli m_ctlPushButton1.SetFont (&m_fontMain, FALSE); // asetetaan valintanappikontrollin fontti m_ctlRadioButton1.SetCheck (TRUE); rect.SetRect (280, 120, 380, 150); m_ctlPushButton2.Create ("Radio", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, rect, this, (UINT) 6); // luodaan valintanappikontrolli m_ctlPushButton2.SetFont (&m_fontMain, FALSE); // asetetaan valintanappikontrollin fontti rect.SetRect (110, 170, 210, 190); m_ctlStatic1.Create ("Check1 pois", WS_CHILD | WS_VISIBLE | SS_SUNKEN, rect, this, (UINT) 7); // luodaan valintanappikontrolli m_ctlStatic1.SetFont (&m_fontMain, FALSE); // asetetaan valintanappikontrollin fontti rect.SetRect (110, 200, 210, 220); m_ctlStatic2.Create ("Check2 pois", WS_CHILD | WS_VISIBLE | SS_SUNKEN, rect, this, (UINT) 8); // luodaan valintanappikontrolli m_ctlStatic2.SetFont (&m_fontMain, FALSE); // asetetaan valintanappikontrollin fontti rect.SetRect (280, 170, 380, 190); m_ctlStatic3.Create ("Radio1 päällä", WS_CHILD | WS_VISIBLE | SS_SUNKEN, rect, this, (UINT) 9); // luodaan valintanappikontrolli m_ctlStatic3.SetFont (&m_fontMain, FALSE); // asetetaan valintanappikontrollin fontti return 0; // kaikki hyvin, palautetaan 0 } void CMainWindow::OnButtonCheckClicked () // check-nappia painettu { if (m_ctlCheckBox1.GetCheck () == TRUE) //tutkitaan checkbox1 m_ctlStatic1.SetWindowText ("Check1 päällä"); // vaihdetaan teksti else m_ctlStatic1.SetWindowText ("Check1 pois"); if (m_ctlCheckBox2.GetCheck () == TRUE) //tutkitaan checkbox2 m_ctlStatic2.SetWindowText ("Check2 päällä"); // vaihdetaan teksti else m_ctlStatic2.SetWindowText ("Check2 pois"); } void CMainWindow::OnButtonRadioClicked () // radio-nappia painettu { if (m_ctlRadioButton1.GetCheck () == TRUE) //tutkitaan radiobutton m_ctlStatic3.SetWindowText ("Radio1 päällä"); // vaihdetaan teksti else m_ctlStatic3.SetWindowText ("Radio2 päällä"); }