Difference between revisions of "Cursor/fi"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "{{Cursor}} Kohdistin eli kursorin määritellään Cursor - ominaisuudella TCursor objektilla. ==Luettelo kohdistimen vakion nimistä== <table border="1"> <t...")
 
m (Fixed syntax highlighting)
 
Line 134: Line 134:
 
(2) Laita ComboBox1:n Items (TStrings) kohtaan seuraavat merkkijonot:
 
(2) Laita ComboBox1:n Items (TStrings) kohtaan seuraavat merkkijonot:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
crAppStart
 
crAppStart
 
crArrow
 
crArrow
Line 162: Line 162:
 
(3) Lisää ComboBox1Change tapahtuman käsittelijään seuraava koodi:
 
(3) Lisää ComboBox1Change tapahtuman käsittelijään seuraava koodi:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
procedure TForm1.ComboBox1Change(Sender: TObject);
 
procedure TForm1.ComboBox1Change(Sender: TObject);
 
begin
 
begin
Line 174: Line 174:
 
===Esimerkki 2: Vaihda objektien kohdistin===
 
===Esimerkki 2: Vaihda objektien kohdistin===
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
procedure TForm1.FormCreate(Sender: TObject);
 
procedure TForm1.FormCreate(Sender: TObject);
 
begin
 
begin
Line 191: Line 191:
 
===Esimerkki 3:Vaihtaa kaikkien muiden kontrollien tiimalasiksi lasiksi, paitsi TBitBtn-kontrollien ===
 
===Esimerkki 3:Vaihtaa kaikkien muiden kontrollien tiimalasiksi lasiksi, paitsi TBitBtn-kontrollien ===
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
procedure TForm1.FormCreate(Sender: TObject);
 
procedure TForm1.FormCreate(Sender: TObject);
 
var
 
var
Line 207: Line 207:
 
Jos käytössä on kuitenkin GroupBox, niin sen kontrollit olisi käsiteltävä sen sisällä erikseen.
 
Jos käytössä on kuitenkin GroupBox, niin sen kontrollit olisi käsiteltävä sen sisällä erikseen.
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
procedure TForm1.FormCreate(Sender: TObject);
 
procedure TForm1.FormCreate(Sender: TObject);
 
var
 
var

Latest revision as of 06:07, 12 February 2020

Deutsch (de) English (en) suomi (fi)


Kohdistin eli kursorin määritellään Cursor - ominaisuudella TCursor objektilla.

Luettelo kohdistimen vakion nimistä

Vakion nimi Kokonaisluku arvo Kuvio
crDefault 0 crArrow.png
crNone -1 Näkymätön hiiren osoitin
crArrow -2 crArrow.png
crCross -3 crCross.png
crIBeam -4 crIBeam.png
crSize -22 crSize.png
crSizeNESW -6 crSizeNESW.png
crSizeNS -7 crSizeNS.png
crSizeNWSE -8 crSizeNWSE.png
crSizeWE -9 crSizeWE.png
crUpArrow -10 crUpArrow.png
crHourGlass -11 crHourGlass.png
crDrag -12 crDrag.png
crNoDrop -13 crNoDrop.png
crHSplit -14 crHSplit.png
crVSplit -15 crVSplit.png
crMultiDrag -16 crMultiDrag.png
crSQLWait -17 crSQLWait.png
crNo -18 CrNo.png
crAppStart -19 crAppStart.png
crHelp -20 crHelp.png
crHandPoint -21 crHandPoint.png



Esimerkit

Esimerkki 1: Näytä kaikki kohdistimen tyypit

(1) Lomakkeella Form1, vedä ja pudota ComboBox komponentti lomakkeelle.

(2) Laita ComboBox1:n Items (TStrings) kohtaan seuraavat merkkijonot:

crAppStart
crArrow
crCross
crDefault
crDrag
crHandPoint
crHelp
crHourGlass
crHSplit
crIBeam
crMultiDrag
crNo
crNoDrop
crNone
crSizeAll
crSizeNESW
crSizeNS
crSizeNWSE
crSizeWE
crSQLWait
crUpArrow
crVSplit


(3) Lisää ComboBox1Change tapahtuman käsittelijään seuraava koodi:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
     Cursor := StringToCursor(ComboBox1.Text);
end;

Näin voidaan valita kohdistimen tyyppi ComboBoxista ja nähdä sen, kun hiirtä siirretään lomakkeella. Vain kun se siirretään ComboBoxin päälle, kohdistin palaa oletusarvoon (crDefault).


Esimerkki 2: Vaihda objektien kohdistin

procedure TForm1.FormCreate(Sender: TObject);
begin
     Cursor := crHourGlass;
     // Vaihtaa lomakkeen kursorin tiimalasiksi

     Button1.Cursor := crHourGlass;
     // Vaihtaa Button1-painikkeen kursorin tiimalasiksi.

     Memo1.Cursor := crHourGlass;
     // Vaihtaa Memo1:n kursorin tiimalasiksi.
end;


Esimerkki 3:Vaihtaa kaikkien muiden kontrollien tiimalasiksi lasiksi, paitsi TBitBtn-kontrollien

procedure TForm1.FormCreate(Sender: TObject);
var
   I: Integer;
begin
     Cursor := crHourGlass;
     for I := 0 to ControlCount - 1 do
     begin
          if (Controls[I].ClassType <> TBitBtn) then
             Controls[I].Cursor := crHourGlass;
     end;
end;

Jos käytössä on kuitenkin GroupBox, niin sen kontrollit olisi käsiteltävä sen sisällä erikseen.

procedure TForm1.FormCreate(Sender: TObject);
var
   I: Integer;
begin
     Cursor := crHourGlass;
     for I := 0 to ControlCount - 1 do
     begin
          if (Controls[I].ClassType <> TBitBtn) then
             Controls[I].Cursor := crHourGlass;
     end;
     for I := 0 to GroupBox1.ControlCount - 1 do
     begin
          if (GroupBox1.Controls[I].ClassType <> TBitBtn) then
             GroupBox1.Controls[I].Cursor := crHourGlass;
     end;
end;

Edellä esitetyllä esimerkillä, jossa oli käytössä Form1, sekä muita lomakkeen konrolleja kuten Memo, Edit, Image, BitBtn, jne. Tämä muuttaisi kaikki muut kuin BitBtn kontrollien kohdistimet tiimalasiksi. On olemassa konrolleja kuten TGroupBox, TPanel, joka toimii erillisinä "kontteina" muille konrolleille ja näiden kohteiden on oltava osoitteesta erillään päälomakkeesta, jotta niiden sisäistä ohjausta voidaan muuttaa toiseen kohdistimeen ajonaikaisesti.