C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 1
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
PROGRAMOWANIE OBIEKTOWE
ĆWICZENIE 2
C++ BUILDER 6.0 PE
•
Projektowanie prostego edytora tekstowego
•
Obiekt TFontDialog
•
Obiekt TColorDialog
•
Obiekt TLabel
•
Metoda TRichEdit->Lines->GetText
•
Właściwość TRichEdit->Lines->Count
•
Funkcja ExtractFileName
•
Funkcja FileAge
•
Funkcja FileDateToDateTime
•
Funkcja DateTimeString
•
Funkcja IntToStr
•
Metody zamykania okna głównego
•
Zdarzenie TForm->OnCloseQuery
•
Metoda TForm->FormCloseQuery
•
Funkcja ShowMessage
•
Funkcja MessageDlg
•
Funkcja MessageBeep
•
Metoda TApplication->Terminate
2
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
I.
Wstęp
Celem tego ćwiczenia będzie rozszerzanie projektu Edytorek.bpr z ćwiczenia 1
o nowe możliwości.
Zanim przystąpisz do modyfikacji projektu, powinieneś w katalogu C:\Program
Files\Borland\CBuilder6\Projects utworzyć nowy podkatalog o nazwie np. Aplikacja2.
Następnie skopiuj wszystkie niezbędne pliki projektu Edytorek do katalogu Aplikacja2.
Edytorek.bpr
Edytorek.cpp
Edytorek.ico
Edytorek.res
EdytorekUnit1.cpp
EdytorekUnit1.dfm
EdytorekUnit1.h
ala ma kota.txt
Po skopiowaniu zmień ich nazwy odpowiednio na:
Edytorek2.bpr
Edytorek2.cpp
Edytorek2.ico
Edytorek2.res
Edytorek2Unit1.cpp
Edytorek2Unit1.dfm
Edytorek2Unit1.h
Otwórz plik Edytorek2.bpr za pomocą C++ Buildera i sprawdź, czy kompilacja
i linkowanie przebiegło poprawnie.
Polecenie: Project
Build Edytorek2
Aby zapoznać się z wyglądem nowej wersji aplikacji Edytorek2 przejdź do
następnego rozdziału.
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 3
______________________________________________________________________
©2004 Jerzy Kluczewski
II.
Wygląd aplikacji
Nowa aplikacja będzie zawierała:
•
Menu poziome: Plik, Edycja, Format, Pomoc.
•
Menu pionowe Plik: Otwórz, Zapisz, Wyjdź.
•
Menu pionowe Edycja: Kopiuj, Wklej, Wytnij, Zaznacz wszystko.
•
Menu pionowe Format: Czcionka, Do lewej, Wyśrodkuj, Do prawej, Kolor
tła.
•
Menu pionowe Pomoc: Copyright.
•
Okno aplikacji będzie zawierało następujące informacje: nazwa
edytowanego pliku, datę modyfikacji pliku, liczbę linii oraz liczbę znaków
edytowanego tekstu.
•
W dolnej części okna obiekt RichEdit1 klasy TRichEdit.
•
Po wybraniu pozycji Format
Czcionka można będzie wybrać rodzaj, kolor
i wielkość czcionki edytorka.
•
Po wybraniu pozycji Format
Do lewej (Wyśrodkuj, Do prawej) można
będzie wybrać sposób justowania akapitu.
•
Po wybraniu pozycji Format
Kolor tła można będzie wybrać kolor tła dla
okna edycyjnego (RichEdit1).
•
Po wybraniu pozycji Plik
Wyjdź lub kliknięciu w ikonę „krzyżyk” pojawi
się małe okno dialogowe pytające użytkownika, czy na pewno chce wyjść z
aplikacji.
Menu Plik
Menu pionowe Plik zawiera następujące pozycje (polecenia): Otwórz, Zapisz, Wyjdź.
Menu Edycja
Menu pionowe Edycja zawiera te same pozycje jak w ćwiczeniu 1.
4
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Menu Format
Menu pionowe Format zawiera następujące pozycje: Czcionka, Do lewej, Wyśrodkuj,
Do prawej, Kolor tła.
Menu Pomoc
Menu pionowe Pomoc bez zmian.
Okno aplikacji – część górna
Część górna okna aplikacji przeznaczona jest na wyświetlanie nazwy edytowanego
pliku, daty i godziny jego ostatniego zapisu na dysk, liczby linii i znaków edytowanego
tekstu.
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 5
______________________________________________________________________
©2004 Jerzy Kluczewski
Okno aplikacji – część dolna
Dolna część okna aplikacji przeznaczona jest na okno edycyjne tekstu.
III.
Działanie aplikacji
Wyjście z aplikacji
Po wybraniu polecenia Plik
Wyjdź lub klinięciu w ikonę „krzyżyk” pojawi się małe
okno dialogowe pytające użytkownika, czy na pewno chce wyjść z aplikacji.
6
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Jeśli w belce tytułowej użytkownik kliknie w przycisk „krzyżyk”,
to pojawi się małe okno dialogowe pytające użytkownika, czy na pewno chce wyjść z
aplikacji
.
Po wybraniu przycisku „Yes” edytor zakończy swoje działanie, a po wybraniu „No”
będzie dalej kontynuował edycję.
Wybór czcionki i koloru tła
Menu Format służy m.in. do ustawiania w edytorze rodzaju czcionki obszaru
edycyjnego (Format
Czcionka).
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 7
______________________________________________________________________
©2004 Jerzy Kluczewski
Za pomocą menu Format można ustawić koloru tła obszaru edycyjnego (Format
Kolor tła).
8
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Justowanie tekstu
Menu Format służy także do ustawiania położenia akapitu czy fragmentów tekstu
(Format
Do lewej, Format
Do prawej, Format
Wyśrodkuj).
W tym ćwiczeniu zmieniono także ikonę aplikacji na inną, łatwiejszą w odbiorze
wizualnym (ikona ta znajduje się w pliku Edytorek2.ico).
Po zapoznaniu się z wyglądem i działaniem nowej aplikacji, przystępujemy do
przeprojektowania edytorka.
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 9
______________________________________________________________________
©2004 Jerzy Kluczewski
IV.
Projektowanie dialogu
Wyjście z aplikacji
Za pomocą klawisza F12 przechodzimy do formularza Form1, wybieramy pozycję
menu Plik
Wyjdź i klikamy w nią.
Pojawia się okno edycji kodu C++ zawierające metodę TForm1::Wyjd1Click:
10
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Zmieniamy zawartość metody na następującą:
if (MessageDlg("Czy na pewno chcesz wyjsc z aplikacji ?",
mtConfirmation, TMsgDlgButtons() << mbNo << mbYes, 0) == mrYes)
{
MessageBeep(0);
Application->Terminate();
};
Do czego służy funkcja MessageDlg ?
Funkcja ta tworzy okno dialogowe z gotowymi przyciskami wyboru oraz pozwala na
sprawdzenie, który przycisk został wybrany.
int MessageDlg(constAnsiString Msg, TMsgDlgType DlgType, TMsgDlgButtons
Buttons, int HelpCtx);
Opis:
Wywołanie MessageDlg powoduje wyświetlenie okna dialogowego na środku ekranu.
Msg – treść komunikatu umieszczana w oknie.
DlgType – określa typ okna dialogowego (np. mtConfirmation oznacza okno
potwierdzające).
Buttons – określa jakie przyciski mają być wstawione do okna dialogowego.
HelpCtx – nie będzie używane (wstawiaj zawsze wartość 0).
MessageDlg zwraca wartość wybranego przycisku mrYes albo mrNo..
Do czego służy funkcja MessageBeep(0) ?
Funkcja uruchamia pojedynczy sygnał dźwiękowy w głośniczku systemowym
przyłączonym do płyty głównej.
Do czego służy funkcja Application->Terminate() ?
Funkcja ta zamyka bezwarunkowo całą aplikację.
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 11
______________________________________________________________________
©2004 Jerzy Kluczewski
Wstawianie nowych pozycji menu
Na naszym formularzu zaznaczmy obiekt o nazwie MainMeu1.
Prawym przyciskiem myszki uruchamiamy MenuDesigner.
Zaznaczmy Pomoc i prawym przyciskiem myszki uruchamiamy małe menu z krótego
wybieramy Insert.
Podobnie wstawiamy nowe pozycje w menu pionowych: Do lewej, Wyśrodkuj, Do
prawej, Kolor tła.
Wybór czcionki
Z zakładki Dialogs paska VCL pobieramy do naszego formularza obiekt o nazwie
ForntDialog.
12
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Na naszym formularzu jest teraz nowy komponent (obiekt) FontDialog1.
Należy teraz powiązać zdarzenie „Kliknięcie w pozycję Format
Czcionka” z
wywołaniem odpowiedniej metody:
Pojawia się okno edycji kodu C++ zawierające metodę TForm1::Czcionka1Click:
Zmieniamy zawartość metody na następującą:
FontDialog1->Options << fdApplyButton;
if (FontDialog1->Execute())
RichEdit1->Font = FontDialog1->Font;
I mamy gotową obsługę zmiany fontów w edytowanym obiekcie RichEdit1.
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 13
______________________________________________________________________
©2004 Jerzy Kluczewski
Wybór koloru tła
Z zakładki Dialogs paska VCL pobieramy do naszego formularza obiekt o nazwie
ColorDialog.
Na naszym formularzu jest teraz nowy komponent (obiekt) ColorDialog1.
Należy teraz powiązać zdarzenie „Kliknięcie w pozycję Format
Kolor tła” z
wywołaniem odpowiedniej metody:
Pojawia się okno edycji kodu C++ zawierające metodę TForm1::Kolorta1Click:
14
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Zmieniamy zawartość metody na następującą:
if (ColorDialog1->Execute())
RichEdit1->Color = ColorDialog1->Color;
I mamy gotową obsługę zmiany koloru tła w edytowanym obiekcie RichEdit1.
Wybór sposobu justowania tekstu
Należy teraz powiązać zdarzenia:
„Kliknięcie w pozycję Format
Do lewej” z wywołaniem odpowiedniej metody.
„Kliknięcie w pozycję Format
Wyśrodkuj” z wywołaniem odpowiedniej metody.
„Kliknięcie w pozycję Format
Do prawej” z wywołaniem odpowiedniej metody.
Podobnie jak poprzednio musimy kliknąć osobno w każdą pozycję menu Format oraz
napisać odpowiedni kod C++ w oknie kodu (dla każdej pozycji inny):
Kod dla „Format
Do lewej”:
void __fastcall TForm1::Dolewej1Click(TObject *Sender)
{
RichEdit1->Paragraph->Alignment = taLeftJustify;
}
Kod dla „Format
Wyśrodkuj”:
void __fastcall TForm1::Wysrodkuj1Click(TObject *Sender)
{
RichEdit1->Paragraph->Alignment = taCenter;
}
Kod dla „Format
Do prawej”:
void __fastcall TForm1::Doprawej1Click(TObject *Sender)
{
RichEdit1->Paragraph->Alignment = taRightJustify;
}
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 15
______________________________________________________________________
©2004 Jerzy Kluczewski
Wyjście z aplikacji za pomocą ikony „X”
W Object Inspector wybierz obiekt Form1.
Zaznacz zakładkę Events w Form1.
Znajdź zdarzenie OnCloseQuery i kliknij go dwa razy
Pojawia się okno edycji kodu C++ zawierające metodę TForm1::FormCloseQuery:
16
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Zmieniamy zawartość metody na następującą:
if (MessageDlg("Czy na pewno chcesz wyjsc z aplikacji ?",
mtConfirmation, TMsgDlgButtons() << mbNo << mbYes, 0) == mrNo)
{
CanClose = false;
};
Jest to dokładnie takie samo działanie jak w przypadku wybrania z menu Plik pozycji
Wyjdź.
I mamy gotową obsługę zamykania okna Form1 za pomocą przycisku „krzyżyk”
Sprawdź jak będzie obsługiwana kombinacja klawiszy Alt+F4.
V.
Projektowanie wyświetlania
informacji
Informacje o edytowanym pliku
Nasz projekt będzie dodatkowo wyświetlał informacje o edytowanym pliku:
•
nazwę pliku,
•
datę i czas ostatniej jego modyfikacji,
•
liczbę linii,
•
liczbę znaków.
Projektowanie etykiet stałych
Przechodzimy do projektowania napisów stałych, do tego celu użyjemy obiektów klasy
TLabel z zakładki Standard biblioteki VCL.
Zaznaczamy obiekt Label
umieszczamy go na formularzu, a w polu właściwości Caption wpisujemy „Nazwa
pliku:”
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 17
______________________________________________________________________
©2004 Jerzy Kluczewski
Do zmiany właściwości Caption służy okienko Object Inspector.
– i tak mamy pierwszą etykietę TLabel1.
Podobnie postępujemy w przypadku etykiet: TLabel2, TLabel3, TLabel4.
Projektowanie etykiet zmiennych
Przechodzimy do projektowania napisów zawierających informacje zmieniające się
trakcie działania aplikacji, do tego celu ponownie użyjemy obiektów klasy TLabel
z zakładki Standard biblioteki VCL.
Zaznaczamy obiekt Label cztery razy i cztery razy umieszczamy je na formularzu
(Label5, Label6, Label7, Label8)
18
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Teraz najważniejszą rzeczą będzie ustawienie wstępnych właściwości etykiet – w polu
właściwości Caption usuwamy napisy, w polu właściwości AutoSize ustawiamy
wartość false.
Teraz przystąpimy do modyfikowania naszych metod, tak aby w polach
Label5
Caption , Label6
Caption , Label7
Caption , Label8
Caption
pokazywały się właściwe informacje.
Modyfikacja kodu źródłowego metody TForm1::Otwrz1Click
Za pomocą klawisza F12 przejdź do okna edytora kodu C++:
Zmień zawartość metody TForm1::Otwrz1Click na następujący:
void __fastcall TForm1::Otwrz1Click(TObject *Sender)
{
TFileName NazwaPliku;
TDateTime dataczas;
AnsiString tekst;
long int liczba_linii;
long int liczba_znakow;
if (OpenDialog1->Execute())
{
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
// przechowanie nazwy pliku
NazwaPliku = OpenDialog1->FileName;
// przechowanie edytowanego pliku
tekst = RichEdit1->Lines->GetText();
// przechowanie liczby linii edytowanego tekstu
liczba_linii = RichEdit1->Lines->Count;
// przechowanie liczby znaków edytowanego tekstu
liczba_znakow = tekst.Length();
// pobranie nazwy głównej pliku
Label5->Caption = ExtractFileName(NazwaPliku);
// przechowanie daty pliku
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 19
______________________________________________________________________
©2004 Jerzy Kluczewski
dataczas = FileDateToDateTime(FileAge(NazwaPliku));
Label6->Caption = dataczas.DateTimeString();
Label7->Caption = IntToStr(liczba_linii);
Label8->Caption = IntToStr(liczba_znakow);
}
}
Modyfikacja kodu źródłowego metody TForm1::Zapisz1Click
Za pomocą klawisza F12 przejdź do okna edytora kodu C++:
Zmień zawartość metody TForm1::Zapisz1Click na następujący:
void __fastcall TForm1::Zapisz1Click(TObject *Sender)
{
TFileName NazwaPliku;
TDateTime dataczas;
AnsiString tekst;
long int liczba_linii;
long int liczba_znakow;
if (SaveDialog1->Execute())
{
RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
NazwaPliku = SaveDialog1->FileName;
tekst = RichEdit1->Lines->GetText();
liczba_linii = RichEdit1->Lines->Count;
liczba_znakow = tekst.Length();
Label5->Caption = ExtractFileName(NazwaPliku);
dataczas = FileDateToDateTime(FileAge(NazwaPliku));
Label6->Caption = dataczas.DateTimeString();
Label7->Caption = IntToStr(liczba_linii);
Label8->Caption = IntToStr(liczba_znakow);
}
}
Modyfikacja kodu źródłowego metody TForm1::RichEdit1Change
Za pomocą klawisza F12 przejdź do okna edytora kodu C++:
Zmień zawartość metody TForm1::RichEdit1Change na następujący:
void __fastcall TForm1::RichEdit1Change(TObject *Sender)
{
long int liczba_linii = RichEdit1->Lines->Count;
20
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
AnsiString tekst = RichEdit1->Lines->GetText();
long int liczba_znakow = tekst.Length();
Label7->Caption = IntToStr(liczba_linii);
Label8->Caption = IntToStr(liczba_znakow);
}
VI.
Czynności końcowe
Wyjście ze środowiska C++ Builder
Wychodzimy z środowiska C++ Builder (Plik
Exit).
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 21
______________________________________________________________________
©2004 Jerzy Kluczewski
VII.
DODATEK
Klasa TComponent
Z klasy tej pochodzi każdy komponent C++ Buildera 5. Wprowadzone przez nią
właściwości i metody pozwalają na obsługę komponentów poprzez inspektora
obiektów. Schemat dziedziczenia właściwości i metod przez klasę TForm od klasy
TComponent poczynając jest następujący:
TComponent
TControl
TWinControl
TForm
Klasa TControl
Komponenty wizualne reprezentowane w tej klasie są widoczne w czasie działania
programu. Obiekty tej klasy posiadają szereg właściwości. Oto niektóre z nich.
Właściwości klasy TControl
Align
— określa, w jaki sposób komponent ma być ustawiony na formularzu (obszarze
klienta). Jeżeli np. wybierzemy w inspektorze obiektów
alClient
, wówczas komponent
ten pokryje cały dostępny obszar formularza. Właściwość tego typu aktywna jest np. dla
komponentów typu
TPanel
,
TGroupBox
czy
TRadioGroup
z karty
Standard
.
Anchors
— określa położenie komponentu w stosunku do jednego z rogów formularza.
Caption
— opisuje komponent. Na przykład: tytuł formularza, czy opis przycisku
TButton
.
ClientHeight
oraz
ClientWidth
— określa wymiary komponentu (wysokość i
długość) w obszarze klienta.
Color
— ustala kolor wypełnienia (wnętrza) komponentu.
Cursor
— określa postać kursora, który będzie widoczny w obszarze danego
komponentu.
Enabled
— określa, czy komponent będzie dla nas dostępny. Jeżeli posługując się np.
przyciskiem typu
TButton
napiszemy:
Button1->Enabled = FALSE;
przycisk będzie widoczny, ale nie będzie aktywny. Powrót do normalnej sytuacji
możliwy jest dzięki:
Button1->Enabled = TRUE;
Analogicznych ustawień dokonamy też przy pomocy inspektora obiektów.
22
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Font
— ustala rodzaj czcionki napisów widocznych w obszarze komponentu.
Hint
— ta właściwość sprawia, że można wpisać „dymek podpowiedzi”, ale wówczas
ShowHint
musi być ustalone jako
TRUE
.
Height
i
Width
— określają rozmiar komponentu.
Text
— dzięki tej właściwości tekst wyświetlany jest na obszarze komponentu.
Stosujemy ją m.in. do obiektów typu
TEdit
.
Top
,
Left
— określają odległości komponentu od krawędzi odpowiednio górnej i lewej
formularza (lub ogólnie innego komponentu, od którego wywodzi się komponent,
któremu cechy te przypisujemy).
Visible
— określa, czy komponent ma być widoczny. Jeżeli w programie napiszemy:
Button1->Visible = FALSE;
komponent pozostanie całkowicie niewidoczny do czasu wywołania:
Button1->Visible = TRUE;
Czynność tę można również wykonać przy pomocy inspektora obiektów.
Zdarzenia klasy TControl
Klasa
TControl
udostępnia nam również szereg pożytecznych zdarzeń. Do najczęściej
używanych należą:
OnClick
— po kliknięciu obszaru komponentu zostanie wywołana funkcja obsługi
wybranego zdarzenia. Można wyobrazić sobie sytuację, gdy mamy np. przycisk typu
TButton
i z którym skojarzona jest funkcja odpowiedniego zdarzenia (zakończenie
naszej aplikacji). Powiedzmy, że chcemy, aby kliknięcie
Button1
wywoływało funkcję
obsługi zdarzenia
Button1Click()
, wówczas zaznaczając
Button1
, w inspektorze
obiektów przypisujemy zdarzeniu odpowiednią metodę:
Przypisanie
przyciskowi
Button1
funkcji obsługi
zdarzenia
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Application->Terminate();
}
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 23
______________________________________________________________________
©2004 Jerzy Kluczewski
OnDblClick
— dwukrotne kliknięcie obszaru komponentu spowoduje wywołanie
funkcji odpowiedniego zdarzenia.
OnResize
— wywołuje np. funkcję obsługi zdarzenia po zmianie rozmiaru
komponentu.
OnMouseDown
— wywołuje reakcję na zdarzenie polegające na kliknięciu komponentu.
OnMouseMove
— każdy ruch myszką nad komponentem wywoła funkcję odpowiedniego
zdarzenia.
OnMouseUp
— jak wyżej, tyle że w przypadku puszczenia przycisku muszki.
TControl
udostępnia nam również zdarzenia związane z przesuwaniem komponentów
przy pomocy myszki:
OnDragOver
,
OnDragDrop
,
OnEndDrag
,
OnStartDock,
OnStartDrag
.
Klasa TForm
Lista wybranych właściwości klasy TForm:
Właściwość
Opis
Align
Określa sposób ustawienia okna formularza na ekranie.
AutoScroll
true – włączanie automatycznych pasków przewijania w oknie
formularza.
AutoSize
true – rozmiar okna automatycznie dopasowuje się do zawartości
formularza.
BorderStyle
Określa wygląd i zachowanie się obramowania formularza
np.bsSingle – uniemożliwia zmianę rozmiarów okna.
BorderWidth
Określa margines ograniczający obszar wewnętrzny formularza.
Domyślnie 0.
Caption
Określa napis na belce tytułowej okna.
ClientHeight,
ClientWidth
Określa wysokość i szerokość obszaru wewnętrznego formularza.
Color
Określa kolor formularza.
Font
Określa atrybuty tekstu umieszczanego na formularzu.
FormStyle
Określa typ formularza. fsMDIChild – okno podrzędne.
fsMDIForm - okno nadrzędne. Domyślnie fsNormal.
Height, Width
Określa wysokość i szerokość formularza.
Hint
Zawiera „dymek podpowiedzi”, pojawiający się w oknie
formularza.
Icon
Specyfikuje ikonę pojawiającą się, gdy okno formularza jest zminimalizowane.
Left, Top
Określa początkową pozycję (Left – współrzędna X, Top –
współrzędna Y) na ekranie okna formularza.
Name
Określa nazwę formularza (czyli identyfikator obiektu) używaną w
kodzie źródłowym projektu.
Position
Określa umiejscowienie okna podczas startu aplikacji.
Scaled
Określa skalowanie formularza używając właściwości PixelsPerInch.
ShowHint
Włącza działanie właściwości Hint.
WindowState
Określa w jaki sposób formularz ma pojawić się na ekranie.
24
C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
______________________________________________________________________
©2004 Jerzy Kluczewski
Lista wybranych metod klasy TForm:
Metoda
Opis
Close();
Zamyka okno formularza. Jeśli to jest jedyne
okno to kończy aplikację.
Hide();
Ukrywa okno formularza.
Show();
Wyświetla okno formularza.
Refresh();
Odświeża zawartość okna.