Читаем Советы по Delphi. Версия 1.4.3 от 1.1.2001 полностью

 i:= PageControl1.ActivePage.PageIndex;

 if i=0 then vi:= true

 else vi:= TBPgFrm(Frms[i-1]).PgValid;

 if vi then

  with PageControl1 do

  if i=PageCount-1 then begin

   CancelBtnClick(Sender);

   exit;

  end else begin

   ActivePage:= FindNextPage(ActivePage, True, false);

   if ActivePage.PageIndex=PageCount-1 then Next.Caption:= 'Finish';

   Prev.Enabled:= true;

   if TBPgFrm(Frms[i]).PgInit then Next.Enabled:= true

   else PrevClick(Sender);

  end else Next.Enabled:= true;

end;


procedure TPagesDlg.PrevClick(Sender: TObject);

begin

 Prev.Enabled:= false;

 with PageControl1 do begin

  ActivePage:= FindNextPage(ActivePage, false, false);

  Prev.Enabled:= ActivePage.PageIndex>0;

 end;

 Next.Caption:= 'Next';

 Next.Enabled:= true;

end;


end.


unit Unit3; //наследник с RadioGroup.

interface

uses ...

type TBPgFrm3 = class(TBPgFrm)

 RadioValid: TRadioGroup;

public

 function PgValid: boolean; override;

end;

implementation


{$R *.DFM}


function TBPgFrm3.PgValid: boolean;

begin

 result:= RadioValid.ItemIndex=0;

end;


end.


unit Unit4; // наследник с CheckBox.

interface

uses ...

type TBPgFrm2 = class(TBPgFrm)

 CheckValid: TCheckBox;

public

 function PgValid: boolean; override;

end;

implementation


{$R *.DFM}


function TBPgFrm2.PgValid: boolean;

begin

 result:= CheckValid.Checked;

end;

end.

В Delphi 4 появились новые возможности, в частности, возможность докинга визуальных компонент, в частности, форм, на различные DockSite, в том числе и на TPageControl. Это более удобно. Кроме того, Вы имеете возможность использования TFormLoader из библиотеки VG Library. 

IMHO файл *.dfm – это компилированный ресурс с определением установок формы. А можно ли как-то увидеть этот ресуpс в исходном виде?

Nomadic советует: 

1. File|Open… ТвояФорма.DFM – увидишь текст;

2. «Delphi\bin\convert ТвояФорма.DFM» — получится ТвояФорма.TXT (можно и наоборот).

Идею в массы: в DN/VC/NC можно настроить viewer'ом .DFM .BAT'ник, который скажет convert;wpview;del – и заглядывать в .DFM не открывая Delphi.

Кстати, функции, которые реализуют это преобразование, доступны для использования в личных целях :)

CLASSES.PAS:

[…]

{ Object conversion routines }

procedure ObjectBinaryToText(Input, Output: TStream);

procedure ObjectTextToBinary(Input, Output: TStream);


procedure ObjectResourceToText(Input, Output: TStream);

procedure ObjectTextToResource(Input, Output: TStream); 

Определение перемещения формы

Кто-нибудь знает как мне определить перемещение пользователем главной формы приложения (не изменение ее размеров), кроме как использования таймера и проверки значений свойств Form.Top и Form.Left?

Вам можно воспользоваться обработчиками следующих системных сообщений:

1. WM_WINDOWPOSCHANGING (возникает перед перемещением),

2. WM_WINDOWPOSCHANGED (возникает после перемещения), или

3. WM_MOVE (возникает после перемещения)

 – Robert Wittig 

Можно ли сделать так – одновременно иметь на экране всегда доступную форму – например, "Навигатор", и, открывая модальные формы, иметь всегда доступ к форме "Навигатор"?

Nomadic советует:

Обманом можно все.

procedure ShowAlmostModal(FormModal:TForm);

begin

 NavigatorForm.Enabled:=false;

 FormModal.ShowModal

end;

И вот это привесь на OnShow почти модальной формы

procedure FormShow(Sender:Tobject);

begin

 NavigatorForm.Enabled:=true;

end;

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT