home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / vrac / dyndlgp.zip / DDLGDEM.PAS next >
Pascal/Delphi Source File  |  1994-07-31  |  2KB  |  85 lines

  1. { Program:   Mulite-Page dialog window demo }
  2. Program ddlgDem;
  3.  
  4. {$R dyndlg.Res}
  5. Uses
  6.   WinProcs,
  7.   oWindows,
  8.   oDialogs,
  9.   WinTypes,
  10.   odyndlg,
  11.   ids;
  12.  
  13. type
  14.   ptestWindow = ^testWindow;
  15.   testWindow = Object(tDlgWindow)
  16.     selector:plistbox;
  17.     dlgchange:pdynamicdialogcontrols;
  18.     Constructor Init (aParent: pWindowsObject; Name: pChar);
  19.     destructor done;virtual;
  20.     Procedure SetupWindow; Virtual;
  21.     procedure idcproperty(var msg:tmessage);virtual id_first +idc_property;
  22.   End;
  23.  
  24. Constructor testWindow.Init (aParent: pWindowsObject; Name: pChar);
  25. Begin
  26.   Inherited Init(aParent, Name);
  27.   selector:=new(plistbox,initresource(@self,idc_property));
  28.   dlgchange:=new(pdynamicdialogcontrols,init(false,1));
  29. End;
  30.  
  31. destructor testwindow.done;
  32. begin
  33. dispose(selector,done);
  34. dispose(dlgchange,done);
  35. inherited done;
  36. end;
  37.  
  38. Procedure testWindow.SetupWindow;
  39. Begin
  40.   Inherited SetupWindow;
  41. selector^.addstring('font');
  42. selector^.addstring('text');
  43. selector^.addstring('patterns');
  44. dlgchange^.setup( IDC_FRAME_DIALOGBOX  ,hwindow);
  45. dlgchange^.addset(IDC_FONT_FIRST,IDC_FONT_LAST,idc_frame_font);
  46. dlgchange^.addset(IDC_text_FIRST,IDC_text_LAST,idc_frame_text);
  47. dlgchange^.addset(IDC_patterns_FIRST,IDC_patterns_LAST,idc_frame_patterns);
  48. selector^.setselindex(0);
  49. End;
  50.  
  51. procedure testwindow.idcproperty(var msg:tmessage);
  52. begin
  53.    case Msg.LParamHi of
  54.     lbn_selchange:
  55.     begin
  56.     dlgchange^.activate(selector^.getselindex+1);
  57.     end;
  58. end;
  59. end;
  60.  
  61. {-------------------- the Application part }
  62. Const
  63.   ProgName = 'Muilt-page dialog';
  64. Type
  65.   tProgApp = Object(tApplication)
  66.     Procedure InitMainWindow; Virtual;
  67.   End;
  68.  
  69. Procedure tProgApp.InitMainWindow;
  70. Begin
  71.   MainWindow:= New(ptestWindow, Init(Nil, pchar(1)));
  72.  
  73. End;
  74.  
  75. Var
  76.   App: tProgApp;
  77. Begin
  78.   With App Do Begin
  79.     Init(ProgName);
  80.     Run;
  81.     Done
  82.   End
  83. End.
  84.  
  85.