//*********************************************************************** // // liuku.cpp // //*********************************************************************** #include #include // yleisten kontrollien otsikkotiedosto #include "liuku.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 () // lomakkeen luominen ON_WM_HSCROLL () // liukusäärimen asema muuttuu END_MESSAGE_MAP () CMainWindow::CMainWindow () { CString strWndClass = AfxRegisterWndClass ( NULL, // lomakkeen tyyli myApp.LoadStandardCursor (IDC_ARROW), // lomakkeen kursori (HBRUSH) COLOR_WINDOW, // lomakkeen taustan väri myApp.LoadStandardIcon (IDI_APPLICATION) // lomakkeen ikoni ); // rekisteröi oman ikkunaluokan CreateEx ( NULL, // lomakkeen lisätyyli strWndClass, // lomakkeen ikkunaluokka "Liukusäädin & edistyspalkki", // lomakkeen otsikko WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU, // lomakkeen tyyli CW_USEDEFAULT, // aloitus x-positio CW_USEDEFAULT, // aloitus y-positio 500, // alkuleveys 300, // alkukorkeus NULL, // emoikkunan kahva NULL, // lomakkeen valikon kahva NULL // lisätietoja ); // lomakkeen luominen } int CMainWindow::OnCreate () // 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 (10, 10, 482, 266); // CRect-luokan olio tallentaa suorakaiteen vasemman ylänurkan ja oikean alanurkan m_ctlGroupBox.Create ("", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, rect, this, 0); // luo kehyskontrollin m_ctlGroupBox.SetFont (&m_fontMain, FALSE); // asettaa kehyskontrollin fontin rect.SetRect (80, 100, 392, 140); m_ctlSlider.Create (WS_CHILD | WS_VISIBLE | TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH, rect, this, 1); // liukusäädin m_ctlSlider.SetRange (0, 20, TRUE); // asettaa arvoalueen rect.SetRect (20, 170, 472, 185); m_ctlProgress.Create (WS_CHILD | WS_VISIBLE, rect, this, 2); // edistyspalkki m_ctlProgress.SetRange (0, 100); // asettaa arvoalueen return 0; // kaikki hyvin, 0 palautuu } void CMainWindow::OnHScroll () // liukusäärimen asema muuttuu { m_ctlProgress.SetPos (5 * m_ctlSlider.GetPos()) ; // hakee liukusäätimen aseman ja lähettää sen * 5 edistyspalkille }