Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Прозрачные окошки   Найти похожие ветки 

 
Алексей Петухов   (2003-09-05 12:10) [0]

Здравствуйте, мастера.
Подскажите пожалуйста, как сделать формочку слегка прозрачной?


 
y-soft ©   (2003-09-05 13:34) [1]

В Windows 2000 и выше можно так:

const
WS_EX_LAYERED = $00080000;
LWA_ALPHA = $00000002;
CUR_ALPHA = 224; //Степень непрозрачности (0..255)

procedure TMyForm.FormCreate(Sender: TObject);
type
TSetLayeredWindowAttributes = function (Hwnd: THandle; crKey: COLORREF;
bAlpha: Byte; dwFlags: DWORD): Boolean; stdcall;
var
SLWA : TSetLayeredWindowAttributes;
User32 : THandle;
ExStyle : Longint;
begin
fUsers := TSafeObjList.Create(TUser);
fDefaultUser := nil;
fTryCnt := 3; //!!!
fResult := False;
User32 := GetModuleHandle("User32.dll");
if User32 > 0 then
begin
SLWA := GetProcAddres(User32,"SetLayeredWindowAttributes");
if assigned(SLWA) then
begin
ExStyle := GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, ExStyle or WS_EX_LAYERED);
SLWA(Handle, 0, CUR_ALPHA, LWA_ALPHA);
WS_EX_LAYERED);
end;
end;
end;


Если хотите большего - прочитайте про функции SetLayeredWindowAttributes и UpdateLayeredWindow


 
y-soft ©   (2003-09-05 13:43) [2]

Sorry, как-то странно вставилось:))

const
WS_EX_LAYERED = $00080000;
LWA_ALPHA = $00000002;
CUR_ALPHA = 224; //Степень непрозрачности (0..255)


...
procedure TMyForm.FormCreate(Sender: TObject);
type
TSetLayeredWindowAttributes = function (Hwnd: THandle; crKey: COLORREF;
bAlpha: Byte; dwFlags: DWORD): Boolean; stdcall;
var
SLWA : TSetLayeredWindowAttributes;
User32 : THandle;
ExStyle : Longint;
begin
fUsers := TSafeObjList.Create(TUser);
fDefaultUser := nil;
fTryCnt := 3; //!!!
fResult := False;
User32 := GetModuleHandle("User32.dll");
if User32 > 0 then
begin
SLWA := GetProcAddres(User32,"SetLayeredWindowAttributes");
if assigned(SLWA) then
begin
ExStyle := GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, ExStyle or WS_EX_LAYERED);
SLWA(Handle, 0, CUR_ALPHA, LWA_ALPHA);
end;
end;
end;


 
cult_passwordForgotten   (2003-09-05 18:18) [3]

если Дельфи версии 6 и выше - у формы есть свойство AlphaBlendValue, делающее ее прозрачной, по-иоему, 256 градаций существует.


 
Songoku ©   (2003-09-07 18:50) [4]

Удалено модератором
Примечание: Offtopic


 
Asteroid ©   (2003-09-07 21:01) [5]

Для 9х - копирование экрана под формой, копирование самой формы и blend одного на другое. Также есть компонент TGlassy.



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
3-40860
Inkotex
2003-10-21 12:47
2003.11.13
Где можна сохранить графику в програме?


14-41906
jab~
2003-10-21 14:29
2003.11.13
Поиск в TStringList, но не просто find, а с частичным совпадением


4-42266
westlion
2003-09-13 20:32
2003.11.13
кнопка


1-41319
RinK
2003-10-30 21:06
2003.11.13
Как выбрать определенный компонент?


1-41560
Layner
2003-10-27 15:06
2003.11.13
У кого есть ф-я сохранения-чтения StringGrid в txt файл