Советы по Delphi. Версия 1.4.3 от 1.1.2001
Шрифт:
'
' <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);
Поделиться:
Популярные книги
Пустоши
1. Медорфенов
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Война
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Темный охотник 6
6. КО: Темный охотник
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Камень Книга седьмая
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень. Книга восьмая
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Большие дела
7. Цеховик
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Адъютант
2. Мания крафта
Фантастика:
фэнтези
6.43
рейтинг книги
Внешники
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XVII
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 6
6. Я — Орк
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Менталист. Революция
3. Выиграть у времени
Фантастика:
боевая фантастика
5.48
рейтинг книги
Титан империи 2
2. Титан Империи
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Мастер...
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Газлайтер. Том 10
10. История Телепата
Фантастика:
боевая фантастика
5.00