Wstęp
W tym artykule zostanie zbudowany notatnik bardzo podobny do tego Microsoftu.
Uwaga! Notatnik został wykonany w Microsoft Visual C++ 2008, lecz w starszych wersjach powinien teź działać.
Oprócz zbudowania notatnika w tym artykule moźesz dowiedzieć się czegoś o Visual C++.
Budowa interfejsu
1. Uruchom Microsoft Visual C++ 2008.
2. Z menu File -> New -> Project .
3. Zaznacz Windows Forms Application.
4. W polu Name wpisz nazwę programu. Resztę pól pozostaw bez zmian. Zmieniamy takźe nazwę głównego okna programu poprzez zaznaczenie formy i wybraniu View->Other Windows->Properties window->Text i tam wpisaniu nazwy głównego okna.
5. Na formę wrzuć kontrolkę RichTextBox i MenuStrip. Całość rozmieść tak jak na obrazku.
6 Ustaw właściwość anchor kontrolki RichTextBox na wszystkie strony(View->Other Windows->Properties window->Anchor).
7. Kliknij w Type Here, które pojawia się po zaznaczeniu kontrolki menuStrip. Tam wpisz "Plik". Zauwaź, źe teraz na dół i z boku pojawiło się kolejne Type Here. W rozwijanym (czyli na dół) wpisz kolejno: Otwórz, Zapisz, Zakończ. Następnie po boku od plik w Type Here wpisz Edycja. Od edycja rozwija się następne menu i w nie wpisz kolejno: Cofnij, Przywróć, Kopiuj, Wytnij, Wklej, Usuń, Wyczyść wszystko, Zaznacz wszystko. Następnie obok w Type Here wpisz Informacje.
8. Zmień nazwę kontrolki RichTextBox na PoleTekstowe poprzez zaznaczenie kontrolki i wybraniu View->Other Windows->Properties window->(Name) i wpisaniu PoleTekstowe
Oprogramowanie przycisków
Teraz zajmiesz się oprogramowaniem funkcji. W tej części artykułu oprogramujesz wszystkie funkcję.
Zakończ
Kliknij dwa razy w Zakończ umiejscowionego w Plik. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void zakończToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}
Cofnij
Kliknij dwa razy w Cofnij umiejscowionego w Edycja. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void cofnijToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
PoleTekstowe->Undo();
}
Powtórz
Kliknij dwa razy w Powtórz umiejscowionego w Edycja. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void przywróćToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
PoleTekstowe->Redo();
}
Kopiuj
Kliknij dwa razy w Kopiuj umiejscowionego w Edycja. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void kopiujToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
PoleTekstowe->Copy();
}
Wytnij
Kliknij dwa razy w Wytnij umiejscowionego w Edycja. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void wytnijToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
PoleTekstowe->Cut();
}
Wklej
Kliknij dwa razy w Wklej umiejscowionego w Edycja. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void wklejToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
PoleTekstowe->Paste();
}
Zaznacz wszystko
Kliknij dwa razy w Zaznacz wszystko umiejscowionego w Edycja. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void zaznaczWszystkoToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
PoleTekstowe->SelectAll();
}
Wyczyść wszystko
Kliknij dwa razy w Wyczyść wszystko umiejscowionego w Edycja. Uzupełnij kod tak by całość wyglądała tak:
Kod private: System::Void usuńToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
PoleTekstowe->SelectedText= " ";
}
Informacje
Kliknij dwa razy w Informacje.Tutaj poprzez wyświetlenie znanego komunikatu będziesz mógł umieścić informacje o autorze, programie itp.Kliknij dwukrotnie w Informacje i umieść przykładowy kod takiego komunikatu:
Kod private: System::Void informacjeToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
MessageBox::Show("Specjalnie dla e-pomocnik.pl : MarekM25 n Wersja:1.1","Informacje");
}
Pierwsza część zawiera treść komunikatu. Druga, czyli "Informacje" tytuł okna komunikatu.
Otwieranie i zapisywanie
Na formę umieść saveFileDialog i openFileDialog. Następnie zaznacz saveFileDialog i wybierz View->Other Windows->Properties window i wpisz w opcję Default Ext: "txt". Oznacza to główny format zapisywania. Następnie w właściwość Filter wpisz: Plik RTF|*.rtf|Plik TXT|*.txt|Plik html|*.html|Plik doc|*.doc|Plik css|*.css
Moźesz w ten sposób dodać teź inne formaty. Te same i tak samo ustaw właściwości w openFileDialog. Następnie poprzez dwu kliknięcie w Otwórz umiejscowionego w edycja przejdż do domyślnej metody zdarzeniowej i uzupełnij jej kod by całość wyglądała tak:
Kod private: System::Void otwórzToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
Form1::Text = openFileDialog1->FileName;
if (openFileDialog1->FilterIndex == 1)
{
PoleTekstowe->LoadFile(openFileDialog1->FileName);
}
}
Teraz kliknij dwa razy w Zapisz umiejscowionego w edycja i uzupełnij kod domyślnej metody zdarzeniowej by całość wyglądała tak:
Kod private: System::Void zapiszToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
if(saveFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
PoleTekstowe->SaveFile(saveFileDialog1->FileName);
PoleTekstowe->Modified=false;
Form1::Text = saveFileDialog1->FileName;
}
}
Menu kontekstowe
Czyli bardzo popularne menu, które wyświetla się po kliknięciu PPM (prawego przycisku myszy). Na RichTextBox umieść komponent contextMenuStrip i dodaj: Kopiuj, Wytnij, Wklej, Cofnij, Przywróć. Następnie zaznacz jedną z pozycji i włącz View->Other Windows->Properties window kliknij na ikonę pioruna i odnajdż zdarzenie Click. Rozwiń listę i wklejaj odpowiednio zdarzenia np. dla kopiuj kopiujToolStripMenuItem_Click. Zrób tak z kaźdą funkcją i menu kontekstowe juź jest gotowe. Kliknij F5, a potem F7 i ciesz się swoim notatnikiem.
Specjalnie dla e-pomocnik.pl : MarekM25