home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / navody / DICOMSRC.ZIP / uMultislice.pas < prev    next >
Pascal/Delphi Source File  |  2001-04-27  |  2KB  |  69 lines

  1. unit uMultislice;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, Spin, Buttons;
  8.  
  9. type
  10.   TMultiSliceForm = class(TForm)
  11.     OKBtn: TSpeedButton;
  12.     ColEdit: TSpinEdit;
  13.     RowEdit: TSpinEdit;
  14.     Label1: TLabel;
  15.     Label2: TLabel;
  16.     Label3: TLabel;
  17.     Label4: TLabel;
  18.     FirstEdit: TSpinEdit;
  19.     LastEdit: TSpinEdit;
  20.     procedure OKBtnClick(Sender: TObject);
  21.     procedure FormShow(Sender: TObject);
  22.     procedure ColEditChange(Sender: TObject);
  23.   private
  24.     { Private declarations }
  25.   public
  26.     { Public declarations }
  27.     gMaxMultiSlices: integer;
  28.   end;
  29.  
  30. var
  31.   MultiSliceForm: TMultiSliceForm;
  32.  
  33. implementation
  34.  
  35. {$R *.DFM}
  36.  
  37. procedure TMultiSliceForm.OKBtnClick(Sender: TObject);
  38. begin
  39.     Close;
  40. end;
  41.  
  42. procedure TMultiSliceForm.FormShow(Sender: TObject);
  43. begin
  44.      LastEdit.MaxValue := gMaxMultiSlices;
  45.      FirstEdit.MaxValue := gMaxMultiSlices;
  46.      FirstEdit.Value := 1;
  47.      LastEdit.value := gMaxMultiSlices;
  48.      ColEditChange(nil);
  49.      //FirstEdit.value + (ColEdit.value * RowEdit.value) - 1;
  50.      //if LastEdit.value > gMaxMultiSlices then
  51.      //   LastEdit.value := gMaxMultiSlices;  //not req, as > maxvalue?
  52. end;
  53.  
  54. procedure TMultiSliceForm.ColEditChange(Sender: TObject);
  55. begin
  56.  if (ColEdit.Value *  RowEdit.Value) >= FirstEdit.MaxValue then begin
  57.     FirstEdit.value := 1;
  58.     LastEdit.value := LastEdit.maxvalue;
  59.     FirstEdit.enabled := false;
  60.     LastEdit.Enabled := false;
  61.  end else begin
  62.     FirstEdit.enabled := true;
  63.     LastEdit.Enabled := true;
  64.  
  65.  end;
  66. end;
  67.  
  68. end.
  69.