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)