Стиль формы FErrors - свойство FormStyle установлен равным fsStayOnTop, чтобы окно с сообщениями об ошибках не оказалась закрытым другими окнами приложения.

Еще одна вспомогательная форма - форма отображения результатов вычислений FRes, содержащаяся в модуле URes. Вид окна этой формы вы можете видеть на рис. 3.2 б. Форма содержит только один компонент - таблицу StringGrid, в которую заносятся результаты вычислений. В таблице задано число столбцов Col-Count = 2. Число строк таблицы RowCount задано равным 5, но в действительности число строк формируется программно. В свойстве Options установлено в true подсвойство goEditing - разрешение редактирования. Но не для того, естественно, чтобы можно было вручную редактировать результаты, а для того, чтобы, войдя в режим редактирования, можно было скопировать результаты в буфер обмена Clipboard и использовать их в каких-то других приложениях.

Стиль формы FRes - свойство FormStyle установлен равным fsStayOnTop, чтобы окно результатов не оказалась закрытым другими окнами приложения.

В приложении также используются модуль Synt, обеспечивающий трансляцию и вычисление выражений, модуль UGraphl, содержащий окно графика и модуль UCoord - окно координат курсора. Два последних модуля описаны в гл. 7, в разд. 7.10. Модуль Synt описан в разд. 3.2-3.6. Модули UErrors и URes никаких выполняемых кодов не содержат. А код главного модуля UGraphl приведен в листинге 3.6.

Листинг 3.6. Главный модуль приложения CGraph

unit UGraphl;

interface

Uses

// вариант для приложений VCL Win32 в Delphi 2005, 2006 // и для предшествующих версий Delphi

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, StdCtrls, Menus, ComCtrls, ActnList, ImgList, ToolWin, AppEvnts; // вариант для приложений VCL .NET

// Windows, Messages, SysUtils, Variants, Classes, Graphics, // Controls, Forms, Dialogs, AppEvnts, ImgList, ActnList, // Menus, ComCtrls, ToolWin, StdCtrls; type

TForml = class(TForm) Memol: TMemo;
EMin: TEdit;
EMax: TEdit;
EPoint: TEdit;
Labell: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
MainMenul: TMainMenu;
MHelp: TMenuItem;
MFile: TMenuItem;
MOpen: TMenuItem;
MSave: TMenuItem;
OpenDialogl: TOpenDialog;
SaveDialogl: TSaveDialog;
StatusBarl: TStatusBar;
N1: TMenuItem;
MExit: TMenuItem;
N2: TMenuItem;
ActionListl: TActionList;
APlot: TAction;
ImageListl: TImageList;
N3: TMenuItem;
ACalc: TAction;
AOpen: TAction;
ASave: TAction;
AExit: TAction;
ToolBarl: TToolBar;
ToolButtonl: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ApplicationEventsl: TApplicationEvents;
ACalcl: TMenuItem;
procedure MHelpClick(Sender : TObject);
procedure MemolKeyDown(Sender : TObject;
var Key: Word;
Shift: TShiftState);
procedure MemolMouseDown(Sender : TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
procedure APlotExecute(Sender : TObject);
procedure AOpenExecute(Sender : TObject);

⇐ Предыдущая страница| |Следующая страница ⇒

Приемы программирования в Delphi на основе VCL



Новости за месяц

  • Февраль
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс