03 Dialoge
25 Bezeichnung fuer Check und Radio-Group
Radio und Check-Group mit einem Label bezeichnen.
Die Check und Radio-GroupButton mit Label ergänzen.
Dies funktioniert fast gleich, wie ein normales Label. einziger Unterschied, anstelle von nil gibt man den Pointer auf die Group mit.
procedure TMyApp.MyParameter;
var
Dia: PDialog;
Rect: TRect;
dummy: word;
Ptr: PView;
begin
Rect.Assign(0, 0, 35, 15);
Rect.Move(23, 3);
Dia := New(PDialog, Init(Rect, 'Parameter'));
with Dia^ do begin
// CheckBoxen
Rect.Assign(2, 3, 18, 7);
Ptr := New(PCheckBoxes, Init(Rect,
NewSItem('~D~atei',
NewSItem('~Z~eile',
NewSItem('D~a~tum',
NewSItem('~Z~eit',
nil))))));
Insert(Ptr);
// Label für CheckGroup.
Rect.Assign(2, 2, 10, 3);
Insert(New(PLabel, Init(Rect, 'Dr~u~cken', Ptr)));
// RadioButton
Rect.Assign(21, 3, 33, 6);
Ptr := New(PRadioButtons, Init(Rect,
NewSItem('~G~ross',
NewSItem('~M~ittel',
NewSItem('~K~lein',
nil)))));
Insert(Ptr);
// Label für RadioGroup.
Rect.Assign(20, 2, 31, 3);
Insert(New(PLabel, Init(Rect, '~S~chrift', Ptr)));
// Ok-Button
Rect.Assign(7, 12, 17, 14);
Insert(new(PButton, Init(Rect, '~O~K', cmOK, bfDefault)));
// Schliessen-Button
Rect.Assign(19, 12, 32, 14);
Insert(new(PButton, Init(Rect, '~A~bbruch', cmCancel, bfNormal)));
end;
dummy := Desktop^.ExecView(Dia); // Dialog Modal öffnen.
Dispose(Dia, Done); // Dialog und Speicher frei geben.
end;