home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-10-23 | 4.0 KB | 161 lines | [TEXT/MWPS] |
- { MyDialogUtils.p
- {
- { Pascal version by Bill Catambay
- { Original C version by Kenneth Worley
- { Public Domain
- {
- { Functions to make working with dialog items, controls, and
- { text fields (and the same in control panels) easier and
- { more convenient.
- }
- Unit MyDialogUtils;
-
- Interface
-
- Uses
- Types, Dialogs, TextUtils;
-
- Function GetItemHandle( dlg: DialogPtr; itemNo: integer ): Handle;
- Procedure GetItemRect( dlg: DialogPtr; itemNo: integer; var aRect: Rect);
- Function GetOnOff( dlg: DialogPtr; itemNo: integer): Boolean;
- Procedure SetOnOff( dlg: DialogPtr; itemNo: integer; turnOn: Boolean);
- Procedure Toggle( dlg: DialogPtr; itemNo: integer);
- Function GetRadioButton( dlg: DialogPtr; first, last: integer): integer;
- Procedure SetRadioButton( dlg: DialogPtr; first, last, target: integer);
- Procedure SetText( dlg: DialogPtr; itemNo: integer; str: Str255);
- Procedure GetText( dlg: DialogPtr; itemNo: integer; str: Str255);
- Procedure ActivateControl( dlg: DialogPtr; itemNo: integer; activate: Boolean);
- Function GetDialogNumberField( dlg: DialogPtr; itemNo: integer): longint;
- Procedure SetDialogNumberField( dlg: DialogPtr; itemNo: integer; theNumber: longint);
- Procedure SelectTextField( dlg: DialogPtr; itemNo: integer);
-
- Implementation
-
- Function GetItemHandle( dlg: DialogPtr; itemNo: integer ): Handle;
-
- Var
- itemType: integer;
- itemHandle: Handle;
- itemRect: Rect;
-
- begin
- GetDialogItem( dlg, itemNo, itemType, itemHandle, itemRect );
- GetItemHandle := itemHandle;
- end;
-
- Procedure GetItemRect( dlg: DialogPtr; itemNo: integer; var aRect: Rect);
-
- Var
- itemType: integer;
- itemHandle: Handle;
- itemRect: Rect;
-
- begin
- GetDialogItem( dlg, itemNo, itemType, itemHandle, itemRect );
- aRect := itemRect;
- end;
-
- Function GetOnOff( dlg: DialogPtr; itemNo: integer): Boolean;
-
- begin
- GetOnOff := Boolean(GetControlValue(ControlHandle(GetItemHandle(dlg,itemNo))));
- end;
-
- Procedure SetOnOff( dlg: DialogPtr; itemNo: integer; turnOn: Boolean);
-
- begin
- SetControlValue(ControlHandle(GetItemHandle(dlg,itemNo)),integer(turnOn));
- end;
-
- Procedure Toggle( dlg: DialogPtr; itemNo: integer);
-
- begin
- SetOnOff( dlg, itemNo, not GetOnOff(dlg, itemNo));
- end;
-
- Function GetRadioButton( dlg: DialogPtr; first, last: integer): integer;
-
- Var
- aButton: integer;
-
- begin
- GetRadioButton := 0;
- { Make sure first < last. }
- if first > last then
- exit(GetRadioButton);
- { Find which radio button is on. }
- for aButton := first to last do
- if GetOnOff(dlg, aButton) then
- begin
- GetRadioButton := abutton;
- leave;
- end;
- end;
-
- Procedure SetRadioButton( dlg: DialogPtr; first, last, target: integer);
-
- Var
- aButton: integer;
-
- begin
- { Make sure first < last and target is in range. }
- if (first > last) or (target < first) or (target > last) then
- exit(SetRadioButton);
- { Make sure all the radio buttons are off. }
- for aButton := first to last do
- SetOnOff(dlg, aButton, false);
- { Turn the target button on. }
- SetOnOff( dlg, target, true );
- end;
-
- Procedure SetText( dlg: DialogPtr; itemNo: integer; str: Str255);
-
- begin
- SetDialogItemText( GetItemHandle( dlg, itemNo ), str );
- end;
-
- Procedure GetText( dlg: DialogPtr; itemNo: integer; str: Str255);
-
- begin
- GetDialogItemText( GetItemHandle( dlg, itemNo ), str );
- end;
-
- Procedure ActivateControl( dlg: DialogPtr; itemNo: integer; activate: Boolean);
-
- begin
- if activate then
- HiliteControl(ControlHandle(GetItemHandle(dlg,itemNo)),0)
- else
- HiliteControl(ControlHandle(GetItemHandle(dlg,itemNo)),255); { disable }
- end;
-
- Function GetDialogNumberField( dlg: DialogPtr; itemNo: integer): longint;
-
- Var
- theStr: Str255;
- theNum: longint;
-
- begin
- GetDialogItemText( GetItemHandle( dlg, itemNo ), theStr );
- StringToNum( theStr, theNum );
- GetDialogNumberField := theNum;
- end;
-
- Procedure SetDialogNumberField( dlg: DialogPtr; itemNo: integer; theNumber: longint);
-
- Var
- theStr: Str255;
-
- begin
- NumToString( theNumber, theStr );
- SetDialogItemText( GetItemHandle( dlg, itemNo ), theStr );
- end;
-
- Procedure SelectTextField( dlg: DialogPtr; itemNo: integer);
-
- begin
- SelectDialogItemText( dlg, itemNo, 0, 255 );
- end;
-
- End.
-