Wstęp aplikacje graficzne
Transkrypt
Wstęp aplikacje graficzne
Aplikacje graficzne Podstawy środowiska wxDev-C++ (Visual Studio Windows Form) Pasek narzędzi i menu Główna przestrzeń • Klasa aplikacji • Klasy okien, kontrolek, okien dialogowych i innych elementów aplikacji robocza • Tabele zdarzeń przyporządkowujące zdarzeniom funkcje ich obsługi Inspektor projektu Inspektor właściwości Okna komunikatów Klasa głównej Formy public ref class MyForm : public System::Windows::Forms::Form { public: MyForm(void) { InitializeComponent(); Klasa głównej Formy protected: /// <summary> /// Clean up any resources being used. /// </summary> ~MyForm() { if (components) { delete components; } } Klasa tworzy się automatycznie Tych linii kodu nie piszemy samodzielnie Tworzenie kontrolek Elementy aplikacji okienkowych: przyciski, pola tekstowe, listy rozwijane kontrolki Zdarzenia związane z kontrolkami obsługiwane są przez odpowiednie funkcje Naciśnięcie przycisku generuje zdarzenie Przyporządkowanie odpowiednich do zdarzeń określa tabela zdarzeń Metody konwersji Łańcuchów znaków na liczby wxWidgets WxDev Visual Studio ToDouble(double*liczba) ToLong(long int*liczba) System::Convert::ToByte System::Convert::ToDouble System::Convert:: ToInt16 System::Convert:: ToInt32 System::Convert:: ToInt64 Wykonując operacje na liczbach nie mamy bezpośredniej możliwości wpisania w kontrolki To może się odbyć tylko poprzez konwersję na string i odwrotnie Metody konwersji liczb na stringi wxWidgets WxDev Printf()wxT()liczba kontrolka System::Convert::ToString(liczba całkowita lub rzeczywista) Jeżeli chcemy wpisać wartości liczbowe w kontrolki Możemy to zrobić tylko poprzez konwersję na string Przykładowa instrukcja obsługi zdarzenia Button_Clik private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int i,n,s; n=System::Convert::ToInt16(textBox1->Text); s=1; for(i=1;i<=n;i++) {s=s*i; } listBox1->Items->Add("silnia"); listBox1->Items->Add(System::Convert::ToString(s)); } Podstawowe kontrolki Label Komponent służący do wpisania tekstu. Zastosowanie opis. Klsasa this->label1->Text = L"label1"; Przykład zastosowania: label1->Text="napis"; To samo można zrobić w Inspektorze obiektów Generalna zasada Nazwa obiektu->metoda Uwaga nie mylić nazwy obiektu z nazwą klasy Podstawowe kontrolki textBox (Edit) Podstawowa kontrolka służąca do wpisania danych lub wyprowadzenia danych n=System::Convert::ToInt16(textBox1->Text); Przykład zastoswania podstawienie pod zmienną tego co zostało zapisane w polu edycyjnym textBox1->Text=System::Convert::ToString(s);Zapianie zmiennej liczbowej w polu edycyjnym Podstawowa kontrolka listBox (memo) Zastosowanie: wpisywanie w liniach serii danych listBox1->Items->Add("silnia"); Dodanie tekstu do komponentu listBox1->Items->Add(System::Convert::ToString(s)); Dodanie zmiennej liczbowej do komponentu poprzez konwersję na string Podstawowe komponenty Button Podstawowe zdarzenie: to co się wydarzy po kliknięciu na przycisk private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)> Nagłówek procedury instrukcji zdarzenia kliknięcia na przycisk. Uwaga te linie kodu źródłowego generują się automatycznie. W przypadku skopiowania z innego miejsca najprawdopodobniej wystąpią błędy!!!!! Kod w języku c# private void button1_Click(object sender, EventArgs e) { int i, s, n; n = System.Convert.ToInt16(textBox1.Text); s = 1; for (i = 1; i <= n; i++) { s=s*i;} textBox2.Text=System.Convert.ToString(s); } Zadania do wykonania Napisać program kalkulator. Działanie programu ma się opierać na wykonaniu operacji arytmetycznych. Do napisania programu należy użyć podstawowych kontrolek: textBox, button (lub innych)