» » » Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001


Авторские права

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Здесь можно скачать бесплатно "Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001
Рейтинг:
Название:
Советы по Delphi. Версия 1.4.3 от 1.1.2001
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Советы по Delphi. Версия 1.4.3 от 1.1.2001"

Описание и краткое содержание "Советы по Delphi. Версия 1.4.3 от 1.1.2001" читать бесплатно онлайн.



…начиная с 1001. Смотрите другие файлы…






  Caption := 'Страница 2';

  PageControl := P; // Назначаем Tab в Page Control

 end; // with

 T := TTabSheet.Create(P);

 with T do begin

  Visible := True;  // Это необходимо, или форма не будет корректно перерисовываться

  Caption := 'Страница 3';

  PageControl := P; // Назначаем Tab в Page Control

 end; // with

 // Создаем 3 кнопки, 1 на страницу

 with tbutton.create(application) do begin

  Parent := P.Pages[0]; // «Указываем» кнопке родительскую страницу

  Caption := 'Привет, страница 1';

  Left := 0;

  Top := 0;

 end; // with

 with tbutton.create(application) do begin

  Parent := P.Pages[1]; // «Указываем» кнопке родительскую страницу

  Caption := 'Привет, страница 2';

  Left := 50;

  Top := 50;

 end; // with

 with tbutton.create(application) do begin

  Parent := P.Pages[2]; // «Указываем» кнопке родительскую страницу

  Caption := 'Привет, страница 3';

  Left := 100;

  Top :=  90;

 end; // with

 // Это должно быть сделано, или Tab первоначально не синхронизируется

 // с правильной страницей. Только в случае, если у вас более чем одна страница.

 P.ActivePage := P.Pages[1];

 P.ActivePage := P.Pages[0]; // Реально показываемая страница

end;

Динамические PageControl/TabSheet II

В данном документе показана технология динамического добавления страниц компонента PageControl (объектов TTabSheet) к элементу управления Windows 95/NT PageControl (объект TPageControl). Оба этих объекта объявлены в модуле ComCtrls. Поэтому убедитесь в том, что ComCtrls указан в списке используемых модулей.

Как динамически создать PageControl

Прежде, чем мы приступим к динамическому созданию страниц, давайте динамически создадим PageControl (если он еще не на форме). Это делается посредством вызова конструктора TPageControl Create с параметром owner, равным Self. Конструктор Create возвращает объектную ссылку на вновь созданный объект PageControl и назначает его переменной 'PageControl'. Вторым шагом будет установка свойства PageControl Parent в Self. Свойство Parent определяет где должен быть отображен новый PageControl; в нашем случае это будет сама форма. Вот кусок кода, демонстрирующий вышесказанное:

var

 PageControl : TPageControl;

 PageControl := TPageControl.Create(Self);

 PageControl.Parent := Self;

Примечание: При разрушении формы разрушаются также PageControl и ее закладки, поскольку они принадлежат форме.

Как динамически создавать закладки

Существует два основных способа добавления новых страниц к PageControl. Сначала вы должны динамически создать TTabSheet следующим образом:

var

 TabSheet : TTabSheet;

 TabSheet := TTabSheet.Create(Self);

Затем ему необходимо присвоить заголовок следующей командой:

TabSheet.Caption := 'Закладка 1';

И, наконец, самая важное действие заключается в том, что новой странице необходимо сообщить, какому объекту PageControl она принадлежит. Это делается с помощью присваивания свойством TTabSheet PageControl переменной-ссылки TPageControl, типа той, которую мы создали выше (PageControl). Вот кусок кода, демонстрирующий вышесказанное:

TabSheet.PageControl := PageControl;

Как динамически добавлять к страницам элементы управления

Ключевым моментом при создании и размещении элемента управления на странице TabSheet является назначение свойства Parent на переменную-ссылку класса TTabSheet. Вот пример:

var

 Button : TButton;

 Button := TButton.Create(Self);

 Button.Caption := 'Кнопка 1';

 Button.Parent := TabSheet;

Более подробно об объектах TPageControl и TTabSheet вы можете узнать в онлайн-документации, или посмотреть код файла ComCtrls.pas, расположенного в вашем каталоге ..\Delphi 2.0\SOURCE\VCL.

Полный код примера

// Код использует форму с единственной на ней кнопкой.

unit DynamicTabSheetsUnit;


interface


uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;


type TForm1 = class(TForm)

 Button1: TButton;

 procedure Button1Click(Sender: TObject);

 procedure TestMethod(Sender: TObject);

private

 { Private declarations }

public

 { Public declarations }

end;


var Form1: TForm1;


implementation


uses ComCtrls;


{$R *.DFM}


procedure TForm1.Button1Click(Sender: TObject);

var

 PageControl : TPageControl;

 TabSheet : TTabSheet;

begin

 // Создаем PageControl

 PageControl := TPageControl.Create(Self);

 PageControl.Parent := Self;

 // Создаем первую страницу и связываем ее с PageControl

 TabSheet := TTabSheet.Create(Self);

 TabSheet.Caption := 'Закладка 1';

 TabSheet.PageControl := PageControl;

 // Создаем первую страницу

 with TButton.Create(Self) do begin

  Caption := 'Кнопка 1';

  OnClick := TestMethod;  // Назначаем обработчик события

  Parent := TabSheet;

 end;

 // Создаем вторую страницу и связываем ее с PageControl

 TabSheet := TTabSheet.Create(Self);

 TabSheet.Caption := ' Закладка 2';

 TabSheet.PageControl := PageControl;

end;


procedure TForm1.TestMethod(Sender: TObject);

begin

 ShowMessage('Привет');

end;

end.

Клавиши-акселераторы для TPageControl

Delphi 2

Тема: Создание акселераторов, работающих с TPageControl

TPageControl, расположенный на закладке Win95 палитры компонентов, в настоящий момент не может работать с акселераторами. Тем не менее, в наших силах создать потомок TPageControl, поддерживающий вышеназванную характеристику.

В приведенном ниже коде показана реализация такого компонента. Наследник TPageControl осуществляет захват и обработку сообщения CM_DIALOGCHAR. Это позволяет перехватывать комбинации клавиш, которые могут быть акселератороми для данной формы. Обработчик события CMDialogChar использует функцию IsAccel, которая позволяет определить, имеет ли отношение перехваченный код клавиш к акселератору одной из страниц TPageControl. В этом случае делаем страницу активной и передаем ей фокус.

unit tapage;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls;


type TAPageControl = class(TPageControl)

private

 procedure CMDialogChar(var Msg: TCMDialogChar); message CM_DIALOGCHAR;

end;


procedure Register;


implementation


procedure TAPageControl.CMDialogChar(var Msg: TCMDialogChar);

var

 i: Integer;

 S: String;

begin

 if Enabled then

  for I := 0 to PageCount - 1 do

   if IsAccel(Msg.CharCode, Pages[i].Caption) and Pages[I].TabVisible then begin

  Msg.Result := 1;

  ActivePage := Pages[I];

  Change;

  Exit; // выход из цикла.

 end;

 inherited;

end;


procedure Register;

begin

 RegisterComponents('Test', [TAPageControl]);

end;

end. 

Panel 

Создание панелей во время работы приложения

Delphi 1 

…я могу просто догадываться, не видя ваш код, но вы установили у панелей свойство parent? Чтобы отобразить элементы управления на вашей форме, вам НЕОБХОДИМО вставить в обработчик события формы OnCreate следующие две строки:

MyPanel := TPanel.Create(Self);

MyPanel.Parent := Self; 

PopupMenu 

Вызов контекстного меню в позиции курсора II

Delphi 1

…вызов popup-меню связан с координатами экрана. Координаты, получаемые в вашем обрабочике события, вероятно относятся к объекту, который создал это сообщение. Для преобразования координат вам необходимо воспользоваться функцией ClientToScreen.

Вот пример вызова контекстного меню, вызываемого при щелчке правой кнопкой мыши на узле TTreeView. Этот пример не в точности отвечает на ваш вопрос, но у меня нет желания расчитывать wParams прямо сейчас. Я думаю вы можете воспользоваться предложенной мною идеей и развить ее в нужном направлении.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Советы по Delphi. Версия 1.4.3 от 1.1.2001"

Книги похожие на "Советы по Delphi. Версия 1.4.3 от 1.1.2001" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Валентин Озеров

Валентин Озеров - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001"

Отзывы читателей о книге "Советы по Delphi. Версия 1.4.3 от 1.1.2001", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.