Results 1 to 6 of 6

Thread: Readonly component

  1. #1
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747

    Readonly component

    Waarom kan een TEdit wel readonly zijn en TCheckbox niet?
    Delphi is great. Lazarus is more powerfull

  2. #2
    Omdat TCheckBox niet inherited is van iets dat je op ReadOnly kan zetten (wat TEdit wel is).

    Maar waarom zou je een TCheckBox op ReadOnly willen zetten?
    Lijkt mij uiterst verwarrend in een GUI. Zet hem dan op Enabled := false;
    Dan is het ook duidelijk dat je hem niet kunt toggelen.

  3. #3
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Daar kwam ik ook achter. Ik wil het best enabled zetten, maar dan wordt die grijs en dat wil ik nu net niet.
    Delphi is great. Lazarus is more powerfull

  4. #4
    Je kunt hem natuurlijk in de OnClick gelijk weer terugzetten:
    Delphi Code:
    1. procedure TForm1.ReadOnlyCheckBoxClick(Sender: TObject);
    2. begin
    3.   ReadOnlyCheckBox.Checked := CheckBox1.Checked;
    4. end;

    Maar persoonlijk vind ik dat nogal verwarrend want je hebt een checkbox maar die kun je niet aanklikken. Hoe moet de gebruiker weten dat deze readonly is?

    Je kunt ook een nieuw component maken: (gevonden op internet)
    (override de Toggle-event)
    Delphi Code:
    1. procedure TMyCheckBox.Toggle;
    2. begin
    3.   if not(FReadOnly)then
    4.     case State of
    5.       cbUnchecked: if AllowGrayed then State:=cbGrayed else State:=cbChecked;
    6.       cbChecked: State:=cbUnchecked;
    7.       cbGrayed : State:=cbChecked;
    8.     end;
    9. end;

  5. #5
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Ik zat wel in die richting te kijken maar kreeg het niet zo gauw voor elkaar. Maar ik heb het anders opgelost door gebruik te maken van TEdit te gebruiken en property readonly te gebruiken.
    Eigenlijk is het info wat wordt getoond, maar de focus wordt op de verkeerde component gezet. Vandaar TEdit, die wel focus heeft. Maar door een Tcheckbox te gebruiken had ik al standaard een boolean en tevens een component dat aangaf of de waarde wel in niet aanwezig is.

    Maar we komen er wel. Is het niet linksom dan wel rechstom
    Delphi is great. Lazarus is more powerfull

  6. #6
    Een readonly edit kan je nog wel gebruiken om uit te selecteren. Bij een checkbox heeft dat niet zoveel zin.
    1+1=b

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •