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

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Советы по Delphi. Версия 1.4.3 от 1.1.2001"
Описание и краткое содержание "Советы по Delphi. Версия 1.4.3 от 1.1.2001" читать бесплатно онлайн.
…начиная с 1001. Смотрите другие файлы…
'
' wParam для данного сообщения - hAa, а lParam копируется из этого вызова.
'
' Возвращается TRUE, если уведомление установлено.
}
{ --------------------------------------------------------------------------- }
function aaCancel(hAa: AAHandle; lLoPos, lHiPos: longint) : word; external 'AAPLAY';
{
' aaCancel позволяет приложению отменить уведомления, установленные aaNotify.
'
' lLoPos и lHiPos задает верхний и нижний предел позициям.
'
' Возвращает количество отмененных уведомлений.
}
{ --------------------------------------------------------------------------- }
function aaStop(hAa: AAHandle) : boolean; external 'AAPLAY';
{
' aaStop прекращает воспроизведение анимации.
'
' При остановке воспроизведения aaStop возвращает TRUE.
}
{ --------------------------------------------------------------------------- }
function aaPause(hAa: AAHandle) : boolean; external 'AAPLAY';
{
' aaPause приостанавливает воспроизведение.
'
' Возвращается TRUE, если после возврата aaPause анимация переходит в режим паузы.
'
' Для продолжения воспроизведения анимации используйте aaPlay.
}
{ --------------------------------------------------------------------------- }
function aaPrompt(hAa: AAHandle; lpName: PChar) : boolean; external 'AAPLAY';
{
' aaPrompt позволяет выводить диалог для получения данных от пользователя.
'
' При получении данных дескриптор меняется, и, таким образом, вступают
' в силу новые параметры. Старый дескриптор не уничтожается до тех пор,
' пока не будет создан новый.
'
' Если новый дескриптор не может быть создан, aaPrompt возвращает NULL,
' в противном случае возвращается новый дескриптор.
}
{ --------------------------------------------------------------------------- }
function aaGetParm(hAa: AAHandle; wType: word) : longint; external 'AAPLAY';
{
' aaGetParm возвращает информацию об анимации.
'
' Некоторая информация может быть установлена с помощью aaSetParm,
' и другая информация - информация о состоянии, поддерживаемая AAPLAY.
}
{ --------------------------------------------------------------------------- }
function aaGetParmIndirect(hAa: AAHandle; lpAp: AAPARMSPtr; wSize: word): boolean; external 'AAPLAY';
{
' aaGetParmIndirect возвращает ту же информацию, что и aaGetParm,
' в структуре, удобной для легкого доступа из приложений Visual Basic.
}
{ --------------------------------------------------------------------------- }
function aaSetParm(hAa: AAHandle; wType: word; wValue1, lValue2: longint): AAHandle; external 'AAPLAY';
{
' aaSetParm устанавливает информацию для анимации
}
{ --------------------------------------------------------------------------- }
function aaSetParmIndirect(hAa: AAHandle; dwType: longint; lpAp: AAPARMSPtr; wMask: word): boolean; external 'AAPLAY';
{
' aaSetParmIndirect устанавливает параметры анимации из структуры.
}
{ --------------------------------------------------------------------------- }
function aaShow(hAa: AAHandle; bShow: boolean) : boolean; external 'AAPLAY';
{
' aaShow позволяет показать в окне отдельный кадр анимации.
'
' Mode определяет способ рисования анимации.
'
' Параметры окна возможно задать с помощью aaSetParm или aaSetParmIndirect.
'
' aaShow возвращает TRUE, если анимация была отрисована без ошибок.
}
{ --------------------------------------------------------------------------- }
function aaSound(hAa: AAHandle; device, ffile: PChar; wMode: word): boolean; external 'AAPLAY';
{
' aaSound открывает и закрывает канал звукового сопровождения анимации.
'
' Звуковой канал будет открыт, если аргумент file не будет равен null
' и не будет пустым, в противном случае канал будет закрыт.
'
' Если устройство равно null, то для выбора подходящего устройства
' используется формат файла.
}
{ --------------------------------------------------------------------------- }
function aaGetFile(dwFlags: word; lpszPath: PChar; wBufLen: word; lpszDriver: PChar; wDrvLen: word) : integer; external 'AAPLAY';
{
' Открывает системного диалоговое окно стандартного типа ("открыть файл"),
' предлагающее пользователю выбрать файл.
'
' <dwFlags> определяет характеристики диалогового окна.
' Список возможных флагов:
' 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 Получить файл анимации (без скриптов)
'
' <lpszPath> - строковый буфер LPSTR, куда после выполнения диалога
' пишется полное имя пути.
' <wBufLen> - длина данного буфера.
'
' <lpszDriver> - строковый буфер LPSTR для хранения выбранного
' звукового устройства.
' <wDrvLen> - длина данного буфера.
'
' Возвращаемые значения: 0, если была нажата кнопка Cancel
' -1, если OpenFile() потерпело неудачу,
' а AA_GETFILE_MUSTEXIST не определен.
' В противном случае возвращается дескриптор DOS-файла.
' При возврате из aaOpenFile данный дескриптор "не открыт".
}
{ --------------------------------------------------------------------------- }
function aaSave(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).
Например, так:
procedure TLine.CMHitTest(var Message: TWMNCHitTest);
begin
if PointInLineReg(Message.XPos, Message.YPos) then begin
Message.Result := 1;
end else begin
Message.Result := 0;
end;
end;
Для органов управления Windows, если Вы не используете VCL, требуется обрабатывать сообщение WM_NCHITTEST.
Как быстро нарисовать тень в заданном регионе?
Nomadic советует:
procedure TForm2.DrawShadows(WDepth, HDepth : Integer);
var
Dst, RgnBox : TRect;
hOldDC : HDC;
OffScreen : TBitmap;
Pattern : TBitmap;
Bits : array[0..7] of WORD;
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);
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Советы по 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", комментарии и мнения людей о произведении.