{$mode ObjFpc}
{$Apptype gui}
uses windows;
function MyCreateWindow(ClassName:PChar):hWnd;
begin
MyCreateWindow:=CreateWindowEx(Ws_Ex_Topmost or WS_EX_LAYERED,//Identifier not found "WS_EX_LAYERED"
ClassName,'Salut',
Ws_Overlapped or Ws_Visible,
Cw_Usedefault, Cw_Usedefault,
200,300,
0,0,
System.HInstance,
nil)
end;
Constи используй, где хочешь
WS_EX_LAYERED = $80000;
Ухты, работает ! Спасибо!
Откуда такие данные?
Исходники FPC + исходники Дельфи + MSDN
Ого, быстро ты нашел
Она где описана? В модуле windows? Можешь подсказать алгоритм поиска?
1) убеждаешься что в последней версии файла fpcbuild-2.0.4\fpcbuild_2.0.4_exp\fpcsrc\rtl\win32\wininc\defines.inc этой константы нету (если есть - повезло, просто перекомпилируешь модуль Windows и пользуешься новым )
2) открываешь файл Borland\Delphi\Source\Rtl\Win\Windows.pas и ищешь WS_EX_LAYERED... Если есть - хорошо, нету -
3) открываешь MSDN и делаешь то же самое, в примерах под VB обычно есть все константы...
Признавайся, откуда исходники Delphi взял!
Ну, мало ли чего кто где берет... У меня Enterprise Edition, так что весь RTL и еще много чего кроме него - с исходниками...
Так freеpascal не поддерживает WinApi выше 95?
Да почему "не поддерживает"? Что, SetLayeredWindowAttributes - это Win95 API? Нет, это появилось только в Windows2000, однако в Windows.pas она прекрасно описана...
AnimateWindow?
А ты видел, КАК описана AnimateWindow в Windows.pas в Дельфи?
Вот и подключи так же:
function AnimateWindow; external 'user32.dll' name 'AnimateWindow';
Const
AW_HIDE = $10000;
AW_BLEND = $80000;
...
AnimateWindow(Handle, 500, AW_HIDE or AW_BLEND);
...
Не получается сделать:
function AnimateWindow:Bool; external 'user32.dll' name 'AnimateWindow';
Const
Aw_Hide=$10000;
Aw_Blend=$80000;
var Wnd:hWnd;
begin
MyRegisterClass(my_class);
Wnd:=MyCreateWindow(my_class);
AnimateWindow(Wтd,500,Aw_Hide or Aw_Blend);//Wrong number of parameters specified
...
BOOL AnimateWindow(
HWND hwnd,
DWORD dwTime,
DWORD dwFlags
);
function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): BOOL;
external 'user32.dll' name 'AnimateWindow';
Const
Aw_Hide=$10000;
Aw_Blend=$80000;
var
Wnd:hWnd;
begin
MyRegisterClass(my_class);
Wnd:=MyCreateWindow(my_class);
AnimateWindow(Wnd,500,Aw_Hide or Aw_Blend); // <---
...
Спасибо
Вот еще прочитал:
Platform SDK - тут: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm (осторожнее с размером - 266Мб, все-таки)...
Скачал, установил, запустил все программы с папки Tools, понял что еще много учить, запустил справку, почитал раздел о WinApi (тоже самое что и вmsdn), но заголовочных файлов так и не нашел? Где искать?