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

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

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

'

' При получении данных дескриптор меняется, и, таким образом, вступают

' в силу новые параметры. Старый дескриптор не уничтожается до тех пор,

' пока не будет создан новый.

'

' Если новый дескриптор не может быть создан, aaPrompt возвращает NULL,

' в противном случае возвращается новый дескриптор.

}

{ --------------------------------------------------------------------------- }

functionaaGetParm(hAa: AAHandle; wType: word) : longint; external'AAPLAY';

{

' aaGetParm возвращает информацию об анимации.

'

' Некоторая информация может быть установлена с помощью aaSetParm,

' и другая информация - информация о состоянии, поддерживаемая AAPLAY.

}

{ --------------------------------------------------------------------------- }

functionaaGetParmIndirect(hAa: AAHandle; lpAp: AAPARMSPtr; wSize: word): boolean; external'AAPLAY';

{

' aaGetParmIndirect возвращает ту же информацию, что и aaGetParm,

' в структуре, удобной для легкого доступа из приложений Visual Basic.

}

{ --------------------------------------------------------------------------- }

functionaaSetParm(hAa: AAHandle; wType: word; wValue1, lValue2: longint): AAHandle; external'AAPLAY';

{

' aaSetParm устанавливает информацию для анимации

}

{ --------------------------------------------------------------------------- }

functionaaSetParmIndirect(hAa: AAHandle; dwType: longint; lpAp: AAPARMSPtr; wMask: word): boolean; external'AAPLAY';

{

' aaSetParmIndirect устанавливает параметры анимации из структуры.

}

{ --------------------------------------------------------------------------- }

functionaaShow(hAa: AAHandle; bShow: boolean) : boolean; external'AAPLAY';

{

' aaShow позволяет показать в окне отдельный кадр анимации.

'

' Mode определяет способ рисования анимации.

'

' Параметры окна возможно задать с помощью aaSetParm или aaSetParmIndirect.

'

' aaShow возвращает TRUE, если анимация была отрисована без ошибок.

}

{ --------------------------------------------------------------------------- }

functionaaSound(hAa: AAHandle; device, ffile: PChar; wMode: word): boolean; external'AAPLAY';

{

' aaSound открывает и закрывает канал звукового сопровождения анимации.

'

' Звуковой канал будет открыт, если аргумент file не будет равен null

' и не будет пустым, в противном случае канал будет закрыт.

'

' Если устройство равно null, то для выбора подходящего устройства

' используется формат файла.

}

{ --------------------------------------------------------------------------- }

functionaaGetFile(dwFlags: word; lpszPath: PChar; wBufLen: word; lpszDriver: PChar; wDrvLen: word) : integer; external'AAPLAY';

{

' Открывает системного диалоговое окно стандартного типа ("открыть файл"),

' предлагающее пользователю выбрать файл.

'

' определяет характеристики диалогового окна.

' Список возможных флагов:

' AA_GETFILE_MUSTEXIST Выбранный файл должен удовлетворять условиям

' флагов OpenFile(), в противном случае диалог

' издаст системный звук.

' AA_GETFILE_NOSHOWSPEC НЕ показывать путь в поле редактирования.

' По умолчанию путь к файлу показывается.

' AA_GETFILE_SAVE Кнопка Ok имеет заголовок "Save".

' AA_GETFILE_OPEN Кнопка Ok имеет заголовок "Open".

' AA_GETFILE_USEFILE Взять имя файла из параметра lpszPath

' AA_GETFILE_UDEDIR Взять каталог из параметра lpszPath

' AA_GETFILE_SOUND Получить звуковой файл и драйвер

' AA_GETFILE_SCRIPT Получить файл со скриптом

' AA_GETFILE_ANIMATION Получить файл анимации (без скриптов)

'

' - строковый буфер LPSTR, куда после выполнения диалога

' пишется полное имя пути.

' - длина данного буфера.

'

' - строковый буфер LPSTR для хранения выбранного

' звукового устройства.

' - длина данного буфера.

'

' Возвращаемые значения: 0, если была нажата кнопка Cancel

' -1, если OpenFile() потерпело неудачу,

' а AA_GETFILE_MUSTEXIST не определен.

' В противном случае возвращается дескриптор DOS-файла.

' При возврате из aaOpenFile данный дескриптор "не открыт".

}

{ --------------------------------------------------------------------------- }

functionaaSave(hAa: AAHandle; wMode: word) : integer; external'AAPLAY';

{

' Сохранение скрипта

}

{ --------------------------------------------------------------------------- }

{$F-}

{ Окончание внешних вызовов 'AAPLAY.DLL' }

{ =========================================================================== }

end.

{ =========================================================================== }

Dr Paul Kuczora.

-

Paul Kuczora c home.london.uk

(на создание файла потрачен один день)

Как сделать, чтобы орган управления, например, сложная линия, хваталась только за некий контур, и пропускала мышь под себя в других местах?

Nomadicсоветует:

Надо обрабатывать сообщение CM_HITTEST (Это сообщение получают даже потомки от TGraphicsControl, не имеющего своего HWND).

Например, так:

procedureTLine.CMHitTest( var Message: TWMNCHitTest);

begin

ifPointInLineReg(Message.XPos, Message.YPos) then begin

Message.Result := 1;

end else begin

Message.Result := 0;

end;

end;

Для органов управления Windows, если Вы не используете VCL, требуется обрабатывать сообщение WM_NCHITTEST.

Как быстро нарисовать тень в заданном регионе?

Nomadicсоветует:

procedureTForm2.DrawShadows(WDepth, HDepth : Integer);

var

Dst, RgnBox : TRect;

hOldDC : HDC;

OffScreen : TBitmap;

Pattern : TBitmap;

Bits : array[0..7] ofWORD;

begin

Bits[0] := $0055;

Bits[1] := $00aa;

Bits[2] := $0055;

Bits[3] := $00aa;

Bits[4] := $0055;

Bits[5] := $00aa;

Bits[6] := $0055;

Bits[7] := $00aa;

hOldDC := Canvas.Handle;

Canvas.Handle := GetWindowDC(Form1.Handle);

OffsetRgn(ShadeRgn, WDepth, HDepth);

GetRgnBox(ShadeRgn, RgnBox);

Pattern := TBitmap.Create;

Pattern.ReleaseHandle;

Pattern.Handle := CreateBitmap(8, 8, 1, 1, @(Bits[0]));

Canvas.Brush.Bitmap := Pattern;

OffScreen := TBitmap.Create;

OffScreen.Width := RgnBox.Right-RgnBox.Left;

OffScreen.Height := RgnBox.Bottom-RgnBox.Top;

Dst := Rect(0, 0, OffScreen.Width, OffScreen.Height);

OffsetRgn(ShadeRgn, 0, –RgnBox.Top);

FillRgn(OffScreen.Canvas.Handle, ShadeRgn, Canvas.Brush.Handle);

OffsetRgn(ShadeRgn, 0, RgnBox.Top);

// BitBlt работает быстрее CopyRect

BitBlt(OffScreen.Canvas.Handle, 0, 0, OffScreen.Width, OffScreen.Height, Canvas.Handle, RgnBox.Left, RgnBox.Top, SRCAND);

Canvas.Brush.Color := clBlack;

FillRgn(Canvas.Handle, ShadeRgn, Canvas.Brush.Handle);

BitBlt(Canvas.Handle, RgnBox.Left, RgnBox.Top, OffScreen.Width, OffScreen.Height, OffScreen.Canvas.Handle, 0, 0, SRCPAINT);

OffScreen.Free;

Pattern.Free;

OffsetRgn(ShadeRgn, –WDepth, –HDepth);

ReleaseDC(Form1.Handle, Canvas.Handle);

Canvas.Handle := hOldDC;

end;

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


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


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

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img