1 / 12

Published Properties (Object inspector)

Το CheckBox component. Κληρονομείται από την κλάση TCheckBox. Επιτρέπει την επιλογή ή όχι μίας ρύθμισης. Αποτελείται από ένα κουτί που επιλέγεται ή όχι και ένα κείμενο στα δεξιά. Published Properties (Object inspector)

delora
Download Presentation

Published Properties (Object inspector)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Το CheckBox component • Κληρονομείται από την κλάση TCheckBox. Επιτρέπει την επιλογή ή όχι μίας ρύθμισης. Αποτελείται από ένα κουτί που επιλέγεται ή όχι και ένα κείμενο στα δεξιά. Published Properties (Object inspector) • Alignment : (taRightJustify, taLeftJustify) καθορίζει άν το Caption θα εμφανίζεται στα δεξιά ή στα αριστερά του κουμπιού. • AllowGrayed : (bool) καθορίζει άν θα επιτρέπεται να υπάρχει ενδιάμεση κατάσταση με γκρί checkmark. • Checked : (bool) καθορίζει ή επιστρέφει την κατάσταση του checkbox (true άν είναι επιλεγμένο και false αν δεν είναι ή είναι γκρί). • State : (cbChecked, cbGrayed, cbUnchecked) καθοριζει την κατάσταση του checkbox. Events (TWinControl) : OnEnter, OnExit, OnKeyDown, OnKeyUp, OnKeyPress. Events (Tcontrol) : OnClick, OnContextPopup, OnDragDrop, OnDragOver, OnMouseDown, OnMouseMove, OnMouseUp, OnStartDrag, OnEndDrag, OnStartDock, OnEndDock.

  2. Το RadioButton component • Κληρονομείται από την κλάση TRadioButton. Επιτρέ-πει την επιλογή ή όχι μίας ρύθμισηςαπό έναν αριθμό εναλλακτικών επιλογών. Αποτελείται από ένα κύκλο που επιλέγεται ή όχι και ένα κείμενο στα δεξιά. Published Properties (Object inspector) • Alignment : (taRightJustify, taLeftJustify) καθορίζει άν το Caption θα εμφανίζεται στα δεξιά ή στα αριστερά του κουμπιού. • Checked : (bool) καθορίζει ή επιστρέφει την κατάσταση του κουμπιού. (true όταν είναι επιλεγμένο και false διαφορετικά. Θέτοντάςτοσε true όλα τα υπόλοιπα γίνονται false) Events (TWinControl) : OnEnter, OnExit, OnKeyDown, OnKeyUp, OnKeyPress. Events (Tcontrol) : OnClick, OnContextPopup, OnDragDrop, OnDragOver, OnMouseDown, OnMouseMove, OnMouseUp, OnStartDrag, OnEndDrag, OnStartDock, OnEndDock.

  3. Το ListBox component • Κληρονομείται από την κλάση TListBox. Εμφανίζει μία λίστα με επιλογές και επιτρέπει την επιλογή κάποιας ή κάποιων από αυτές. Published Properties (Object inspector) • Columns : (int) αριθμός στηλών με επιλογές μέσα στο ListBox. • MultiSelect και ExtendedSelect : (bool) καθορίζουν την πολλαπλή επιλογή αντικειμένων. Multi=false σημαίνει μόνο μία επιλογή. Με Multi=true, άν Ext=true τότε πολλαπλή επιλογή με Shift και Ctrl, ενώ αν Ext=false τότε πολλαπλή επιλογή με απλά κλίκ. • IntegralHeight : (bool) όταν είναι true τότε το μέγεθος του παραθύρου είναι ακέραιο πολλαπλάσιο του ύψους της κάθε επιλογής. • Items : (TStrings) αντικείμενο που περιέχει τις επιλογές και παρέχει ιδιότητες και μεθόδους για τον χειρισμό των επιλογών. • Sorted : (bool) καθορίζει αν οι επιλογές θα εμφανιστούν ταξινομημένες. • Style : (lbStandard, lbOwnerDrawFixed, lbOwnerDrawVariable)

  4. Το ListBox component 2 Properties (συνέχεια) • ItemIndex : (int) ο αύξων αριθμός του αντικειμένου που έχει επιλεγεί. Η πρώτη επιλογή έχει ItemIndex=0. Καμία επιλογή : ItemIndex=-1. • SelCount : (int) ο αριθμός των επιλεγέντων αντικειμένων. • Selected[i] : πίνακας bool για το άν κάθε επιλογή είναι επιλεγμένη ή όχι. Μέθοδοι (Methods): • Clear() : σβήνει όλες τις επιλογές από το ListBox. • ItemAtPos() : δίνεις συντ/νες του κέρσορα (ποντικιού) και επιστρέφει τον Α/Α του αντικειμένου στο οποίο αντιστοιχεί. Events (Συμβάντα) : OnDrawItem : για τον σχεδιασμό Owner Draw λιστών. OnMeasureItem :για καθορισμό ύψους αντικειμένου σε Owner Draw Var.

  5. Το ComboBox component • Κληρονομείται από την κλάση TComboBox. Αποτελείται από ένα Edit, ένα βελάκι και μία λίστα επιλογών. Επιτρέπει τόσο πληκτρολόγηση όσο και επιλογή από τη λίστα. Published Properties (Object inspector) • DropDownCount : (int) αριθμός επιλογών στη drop-down λίστα. • Items : (TStrings) αντικείμενο που περιέχει τις επιλογές και παρέχει ιδιότητες και μεθόδους για τον χειρισμό των επιλογών. • MaxLength : (int) το μέγιστο μήκος string που μπορεί να καταχωρηθεί. • Style : • csDropDown=Αρχικά εμφανίζεται μόνο το Edit, και με το βελάκι εμφανίζεται η drop-down λίστα. Και επιλογή και καταχώρηση. • csDropDownList=Όπως το προηγ. αλλά δεν επιτρέπεται καταχώρηση. • csSimple=H λίστα εμφανίζεται μόνιμα. Και επιλογή και καταχώρηση. • csOwnerDrawFixed, OwnerDrawVariable= όπως το csDropDown αλλά με προσθήκη εικονιδίων και γραφικών.

  6. Το ComboBox component 2 Properties (συνέχεια) • CharCase : (ecLowerCase, ecNormal, ecUpperCase) μετατρέπει την καταχώρηση του χρήστη σε κεφαλαία ή μικρά. • DroppedDown : (bool) επιστρέφει το εάν η drop-down λίστα φαίνεται. • SelStart : (int) α/α χαρακτήρα που αρχίζει η επιλεγμένη περιοχή. • SelLength : (int) μήκος επιλεγμένης περιοχής. Μέθοδοι (Methods) : Clear() : σβήνει το κείμενο από το Edit και τις επιλογές από τη λίστα. Focused() : επιστρέφει true ή false ανάλογα με το άν το ComboBox έχει το focus του χρήστη. SelectAll() : επιλέγει όλο το κείμενο που είναι καταχωρημένο στο Edit. Events (Συμβάντα) : OnChange, OnDrawItem, OnDropDown, OnMeasureItem

  7. Το ScrollBar component • Κληρονομείται από την κλάση TScrollBar. Προσδίδει scrolling σε components που δεν έχουν. Χρειάζεται προγραμματισμό. Published Properties (Object inspector) • Kind : (sbHorizontal, sbVertical) προσανατολισμός του ScrolBar. • Max,Min : (int) μέγιστη και ελάχιστη τιμή της ιδιότητας Position. • LargeChange : μέγεθος μεγάλης μετατόπισης. • SmallChange : μέγεθος μικρής μετατόπισης. • Position : (int) η τρέχουσα θέση του ScrollBar. Μέθοδοι (Methods) • SetParams() : θέτει τα Min, Max και Position ταυτόχρονα. Events (Συμβάντα) • OnChange : όταν αλλάζει το Position. • OnScroll : για ρύθμιση της τιμής του Position κατά το Scrolling.

  8. Άσκηση 4 - 2 Εισάγουμε δύο RadioButtons, ένα CheckBox, ένα Edit, ένα ListBox, ένα ComboBox και δύο Buttons. Ανάλογα με την επιλογή του RadioButton ενεργοποιείται είτε ο συνδυασμός Edit-ListBox είτε το ComboBox. Το CheckBox καθορίζει άν το ListBox θα είναι πολλαπλών επιλογών ή όχι. Όταν επιλέγουμεκάτι από το ListBox, αυτόματα να εμφανίζεται και στο Edit Το κουμπί Close κλείνει την εφαρμογή. Το κουμπί Display εμφανίζει την τρέχουσα ενεργή επιλογή είτε απότο Edit είτε από το ComboBox

  9. Άσκηση 4 - 2 void __fastcall TForm1::RadioButton1Click(TObject *Sender) {if (RadioButton1->Checked) {Edit1->Enabled=true; ListBox1->Enabled=true; CheckBox1->Enabled=true; ComboBox1->Enabled=false;} else {Edit1->Enabled=false; ListBox1->Enabled=false; CheckBox1->Enabled=false; ComboBox1->Enabled=true;} } void __fastcall TForm1::Button1Click(TObject *Sender) {Form1->Close();} void __fastcall TForm1::ListBox1Click(TObject *Sender) {int i=ListBox1->ItemIndex; AnsiString s=ListBox1->Items->Strings[i]; Edit1->Text=s; } void __fastcall TForm1::CheckBox1Click(TObject *Sender) {if (CheckBox1->Checked) ListBox1-> MultiSelect=true; else ListBox1->MultiSelect=false;} void __fastcall TForm1::Button2Click(TObject *Sender) {AnsiString s; if (RadioButton1->Checked) s=Edit1->Text; else s=ComboBox1->Text; MessageBox(NULL,s.c_str(),"",MB_OK);}

  10. Άσκηση 4 - 3 Εισάγουμε ένα EditBox, ένα ListBox, ένα Button και 3 ScrollBar. Ο χρήστης μπορεί με Drag&Drop να αλλάζει την σειρά των Items στο ListBox και να αντιγράφει Items στο EdtiBox. Τα 3 ScrollBars μετακινούν τα 3 Components οριζόντια πάνω στη φόρμα, ανεξάρτητα από το πλάτος της (ένα ScrollΒar για κάθε Component). Το κουμπί Close κλείνει την εφαρμογή.

  11. Άσκηση 4 - 3 (β) void __fastcall TForm1::ListBox1MouseDown (TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { int i = ListBox1-> ItemAtPos (TPoint(X,Y),true); if (i>=0 && i<ListBox1->Items->Count) { ListBoxDrag=true; ListBoxDragItem=i; Screen->Cursor=crDrag; Application->ProcessMessages(); } } Μεταβλητές Global : bool ListBoxDrag = false; int ListBoxDragItem = -1; int Edit1Left; int ListBox1Left; int Button1Left;

  12. Άσκηση 4 - 3 (γ) void __fastcall TForm1::ListBox1MouseUp (TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) {int i,clX,clY; AnsiString s,s2; clX=ListBox1->Left+X; clY=ListBox1->Top+Y; if (ListBoxDrag && X>=0 && Y>=0 && X<= ListBox1->Width && Y<=ListBox1->Height) {i=ListBox1-> ItemAtPos(TPoint(X,Y),false); ListBox1-> Items->Insert(i,ListBox1->Items-> Strings[ListBoxDragItem]); if (i<=ListBoxDragItem) ListBox1-> Items-> Delete(ListBoxDragItem + 1 ); else ListBox1->Items-> Delete(ListBoxDragItem); } else if (ListBoxDrag && clX>=Edit1->Left && clX<=Edit1->Left+Edit1->Width && clY>=Edit1->Top && clY<=Edit1->Top+Edit1->Width ) { Edit1->Text=ListBox1->Items-> Strings[ListBoxDragItem]; } ListBoxDrag=false; ListBoxDragItem=-1; Screen->Cursor=crDefault; }

More Related