borland cpp builder cw2


C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 1
______________________________________________________________________
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
______________________________________________________________________
©2004 Jerzy Kluczewski
2 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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 sprawdz, czy kompilacja
i linkowanie przebiegło poprawnie.
Polecenie: Project Build Edytorek2
Aby zapoznać się z wyglądem nowej wersji aplikacji Edytorek2 przejdz do
następnego rozdziału.
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 3
______________________________________________________________________
II. WyglÄ…d aplikacji
Nowa aplikacja będzie zawierała:
" Menu poziome: Plik, Edycja, Format, Pomoc.
" Menu pionowe Plik: Otwórz, Zapisz, Wyjdz.
" 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 Wyjdz 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, Wyjdz.
Menu Edycja
Menu pionowe Edycja zawiera te same pozycje jak w ćwiczeniu 1.
©2004 Jerzy Kluczewski
4 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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.
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 5
______________________________________________________________________
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 Wyjdz lub klinięciu w ikonę  krzy\yk pojawi się małe
okno dialogowe pytające u\ytkownika, czy na pewno chce wyjść z aplikacji.
©2004 Jerzy Kluczewski
6 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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).
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 7
______________________________________________________________________
Za pomocą menu Format mo\na ustawić koloru tła obszaru edycyjnego (Format
Kolor tła).
©2004 Jerzy Kluczewski
8 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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.
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 9
______________________________________________________________________
IV. Projektowanie dialogu
Wyjście z aplikacji
Za pomocÄ… klawisza F12 przechodzimy do formularza Form1, wybieramy pozycjÄ™
menu Plik Wyjdz i klikamy w niÄ….
Pojawia siÄ™ okno edycji kodu C++ zawierajÄ…ce metodÄ™ TForm1::Wyjd1Click:
©2004 Jerzy Kluczewski
10 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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ł dzwię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ę.
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 11
______________________________________________________________________
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.
©2004 Jerzy Kluczewski
12 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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.
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 13
______________________________________________________________________
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:
©2004 Jerzy Kluczewski
14 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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;
}
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 15
______________________________________________________________________
Wyjście z aplikacji za pomocą ikony  X
W Object Inspector wybierz obiekt Form1.
Zaznacz zakładkę Events w Form1.
Znajdz zdarzenie OnCloseQuery i kliknij go dwa razy
Pojawia siÄ™ okno edycji kodu C++ zawierajÄ…ce metodÄ™ TForm1::FormCloseQuery:
©2004 Jerzy Kluczewski
16 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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
Wyjdz.
I mamy gotową obsługę zamykania okna Form1 za pomocą przycisku  krzy\yk
Sprawdz 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:
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 17
______________________________________________________________________
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)
©2004 Jerzy Kluczewski
18 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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 zródłowego metody TForm1::Otwrz1Click
Za pomocÄ… klawisza F12 przejdz 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
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 19
______________________________________________________________________
dataczas = FileDateToDateTime(FileAge(NazwaPliku));
Label6->Caption = dataczas.DateTimeString();
Label7->Caption = IntToStr(liczba_linii);
Label8->Caption = IntToStr(liczba_znakow);
}
}
Modyfikacja kodu zródłowego metody TForm1::Zapisz1Click
Za pomocÄ… klawisza F12 przejdz 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 zródłowego metody TForm1::RichEdit1Change
Za pomocÄ… klawisza F12 przejdz 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;
©2004 Jerzy Kluczewski
20 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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).
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 21
______________________________________________________________________
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.
©2004 Jerzy Kluczewski
22 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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
#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();
}
______________________________________________________________________
©2004 Jerzy Kluczewski
C++ Builder. Programowanie obiektowe. Ćwiczenie 2. 23
______________________________________________________________________
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.
Określa wysokość i szerokość obszaru wewnętrznego formularza.
ClientHeight,
ClientWidth
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.
Specyfikuje ikonÄ™ pojawiajÄ…cÄ… siÄ™, gdy okno formularza jest zminimalizowane.
Icon
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 zródłowym projektu.
Position Określa umiejscowienie okna podczas startu aplikacji.
Określa skalowanie formularza u\ywając właściwości PixelsPerInch.
Scaled
ShowHint Włącza działanie właściwości Hint.
WindowState Określa w jaki sposób formularz ma pojawić się na ekranie.
©2004 Jerzy Kluczewski
24 C++ Builder. Programowanie obiektowe. Ćwiczenie 2.
______________________________________________________________________
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.
______________________________________________________________________
©2004 Jerzy Kluczewski


Wyszukiwarka

Podobne podstrony:
borland cpp builder cw1
borland cpp builder cw5
borland cpp builder cw10
borland cpp builder cw8
borland cpp builder cw3
borland cpp builder cw9
borland cpp builder
borland cpp builder cw12
borland cpp builder cw11 algorytm
borland cpp builder cw4
borland cpp builder cw6
borland cpp builder cw7
borland cpp builder cw13
SQL access in Borland C Builder

więcej podobnych podstron