'
' Список возможных флагов:
' 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 Получить файл анимации (без скриптов)
'
'
' пишется полное имя пути.
'
'
'
' звукового устройства.
'
'
' Возвращаемые значения: 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