Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26.

Podobne prezentacje


Prezentacja na temat: "Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26."— Zapis prezentacji:

1 Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26

2 Aplikacja dialogowa 1.Propozycja aplikacji 2.Projektowanie interfejsu 3.Pokazanie okna „About” 4.Zmienne dla kontrolek 5.Obsługa przycisków PO10-2 / 26

3 Propozycja aplikacji PO10-3 / 26

4 Projekt interfejsu PO10-4 / 26

5 Projekt interfejsu PO10-5 / 26

6 Interface PO10-6 / 26

7 Obsługa przycisku „About” 1.Wybierając „Add Event Handler...” w kontekstowym menu przycisku „O Programie” otwieramy okno „Event Handler Wizard”. 2.Do obiektu IDC_BUTTON4 dodajemy funkcję obsługi komunikatu BN_CLICKED. 3.Akceptujemy nazwę funkcji „OnBnClickedButton4”. 4.Edytujemy funkcję wpisując do niej kod w języku C++. PO10-7 / 26

8 Programowanie obsługi „About” PO10-8 / 26

9 Działanie programu PO10-9 / 26

10 Zmienne kontrolek PO9-10 / 26 int CButton CString, int, UINT, long, DWORD, float,double, BYTE, short, BOOL, COleDateTime, COleCirrency BOOL CStatic CString int CSpinPuttonCtrl int CProgressCtrl

11 Zmienne kontrolek PO9-11 / 26 CHotKeyCtrl CListCtrl CTabCtrl CTreeCtrl CAnimateCtrl Ctime, COleDateTime CIPAddressCtrl Cstring, int CString, int, UINT, long, DWORD, float,double, BYTE, short, BOOL, COleDateTime, COleCirrency CButton CNetAddressCtrl CSplitButton CLinkCtrl

12 MFC ClassWizard PO10-12 / 26

13 Obsługa zdarzeń 1.Przenieś dane z kontrolek do ich zmiennych. 2.Wykonaj zadane działania (m_Wynik=m_X+m_Y, m_Wynik=m_X/m_Y lub m_X=m_Wynik) 3.Przenieś dane ze zmiennych do ich kontrolek. Obsługa przycisków „Dodaj”, „Podziel” i „Wynik -> X” jest bardzo podobna. Do klasy okna dialogowego „CDzialaniaDlg” dodamy funkcję „Oblicz(int)” realizującą algorytm: PO10-13 / 26

14 Dopisanie funkcji PO10-14 / 26

15 Obsługa przycisków PO10-15 / 26

16 Program PO10-16 / 26

17 Dezaktywacja klawisza PO10-17 / 26

18 Inicjacja dialogu PO10-18 / 26

19 Aplikacja PO10-19 / 26

20 Przykład 2 PO10-20 / 26

21 Grupa przycisków PO10-21 / 26

22 Inicjacja PO10-22 / 26

23 Tekst przycisku PO10-23 / 26 void CGrupaDlg::OnRadio1( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Dodaj")); } void CGrupaDlg::OnRadio2( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Odejmij")); } void CGrupaDlg::OnRadio3( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Pomnóż")); } void CGrupaDlg::OnRadio4( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Podziel")); }

24 Obliczenia PO10-24 / 26 void CGrupaDlg::OnButton2( ) { UpdateData( ); switch(m_zadanie){ case 0: wynik = m_X + m_Y; break; case 1: wynik = m_X – m_Y; break; case 2: wynik = m_X * m_Y; break; case 3: wynik = m_Y ? m_X / m_Y : 0; break; } m_Txt.Format(_T("%.*f"), m_prec, wynik); CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT3); pEdit -> SetWindowText(m_Txt); }

25 Zerowy dzielnik PO10-25 / 26 void CGrupaDlg::OnRadio1( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Dodaj")); (GetDlgItem(IDC_BUTTON2))->EnableWindow(TRUE); }... void CGrupaDlg::OnRadio3( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Pomnóż")); (GetDlgItem(IDC_BUTTON2))->EnableWindow(TRUE); } void CGrupaDlg::OnRadio4( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Podziel")); UpdateData( ); if(m_Y==0) (GetDlgItem(IDC_BUTTON2))->EnableWindow(FALSE); } void CGrupaDlg::OnRadio4( ) { ((CEdit*)GetDlgItem(IDC_BUTTON2))->SetWindowText(_T("Podziel")); UpdateData( ); if(m_Y==0) (GetDlgItem(IDC_BUTTON2))->EnableWindow(FALSE); } void CGrupaDlg::OnEnChangeEdit2( ) { if(m_zadanie!=3) return; CString S; (GetDlgItem(IDC_EDIT2))->GetWindowText(S); double x=_wtof(S); (GetDlgItem(IDC_BUTTON2))->EnableWindow(x!=0); }

26 Symulacja PO10-26 / 26


Pobierz ppt "Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26."

Podobne prezentacje


Reklamy Google