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

Здесь есть возможность читать онлайн «Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Советы по Delphi. Версия 1.4.3 от 1.1.2001: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Советы по Delphi. Версия 1.4.3 от 1.1.2001»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Советы по Delphi. Версия 1.4.3 от 1.1.2001», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

type TBPgFrm2 = class(TBPgFrm)

CheckValid: TCheckBox;

public

functionPgValid: boolean; override;

end;

implementation

{$R *.DFM}

functionTBPgFrm2.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 }

procedureObjectBinaryToText(Input, Output: TStream);

procedureObjectTextToBinary(Input, Output: TStream);

procedureObjectResourceToText(Input, Output: TStream);

procedureObjectTextToResource(Input, Output: TStream);

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

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

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

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

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

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

– Robert Wittig

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

Nomadicсоветует:

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

procedureShowAlmostModal(FormModal:TForm);

begin

NavigatorForm.Enabled:=false;

FormModal.ShowModal

end;

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

procedureFormShow(Sender:Tobject);

begin

NavigatorForm.Enabled:=true;

end;

Как создать окна непрямоугольной формы и работать с ними?

Nomadicсоветует:

Достаточно создать регион нужной формы и вызвать SetWindowRgn —

HRGN rgn := CreateEllipticRgn(10,10,100,100);

SetWindowRgn(hMyWnd,rgn); // Вот и будет круглое окно

При этом регион этот теперь используется Windows и будет уничтожен при закрытии окна.

Попробуйте вот этот обpаботчик OnCreate : На меня это произвело впечатление.

procedureTForm1.FormCreate(Sender: TObject);

constW=36*pi/180;

var

R,R1,R2: HRgn;

X,Y,i:integer;

functionS(a:integer;R:integer):integer;

begin

Result:=round(R*sin(W*a));

end;

functionC(a:integer;R:integer):integer;

begin

Result:=round(R*cos(W*a));

end;

functionGetStarReg(X,Y,R:integer):HRGN;

varP : array[0..4] ofTPoint;

begin

P[0] := Point(X, Y-R);

P[1] := Point(X-S(4,R), Y-C(4,R));

P[2] := Point(X-S(8,R), Y-C(8,R));

P[3] := Point(X-S(2,R), Y-C(2,R));

P[4] := Point(X-S(6,R), Y-C(6,R));

Result := CreatePolygonRgn(P, 5, WINDING);

end;

begin

X:=Width div2;

Y:=Height div2;

R:=GetStarReg(X,Y,100);

i:=1;

repeat

R1:=GetStarReg(X-S(i,120),Y-C(i,110),40);

CombineRgn(R,R,R1,RGN_OR);

inc(i,2);

untili>9;

R1:=GetStarReg(X,Y,30);

CombineRgn(R,R,R1,RGN_DIFF);

R1:=CreateEllipticRgn(3,3,Width-6,Height-6);

R2:=CreateEllipticRgn(20,10,Width-20,Height-10);

CombineRgn(R1,R1,R2,RGN_DIFF);

CombineRgn(R,R,R1,RGN_OR);

SetWindowRgn(Handle, R, True);

end;

Как запретить кнопку Close [×] в заголовке окна?

Nomadicсоветует:

Вот кусок, который делает все, что тебе нужно:

procedureTForm1.FormCreate(Sender: TObject);

varStyle: Longint;

begin

Style := GetWindowLong(Handle, GWL_STYLE);

SetWindowLong(Handle, GWL_STYLE, Style And NotWS_SYSMENU);

end;

procedureTForm1.FormKeyDown(Sender: TObject; varKey: Word; Shift: TShiftState);

begin

if(Key = VK_F4) and(ssAlt inShift) then begin

MessageBeep(0);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x