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

Вниз

полупрозрачность   Найти похожие ветки 

 
dr_craigan   (2007-04-17 13:11) [0]

Плиз, кто знает помогите - уже месяц с полупрозрачностью мучаюсь. Короче, нужно сделать полупрозрачным один регион (или хотя бы прямоугольник). пробовал UpdateLayeredWindow и AlphaBlend, но не могу найти нужные параметры, чтобы было как надо. Если знаете, помогите.


 
dr_craigan   (2007-04-17 13:22) [1]

Да кстати, вся остальная форма должна быть нетронутой (компоненты должны быть видны)


 
Призрак в облаках   (2007-04-17 13:40) [2]

Как сделать прозрачное окно родными средствами Windows 2000 или ХР?
В Windows2000 есть для этого ф-я SetLayeredWindowAttributes, вот пример её использования:


unit Win2k;
interface
uses Graphics, Windows;

function SetLayeredWindowAttributes(
hwnd : HWND; // handle to the layered window
crKey : TColor; // specifies the color key
bAlpha : byte; // value for the blend function
dwFlags : DWORD // action
): BOOL; stdcall;

function SetLayeredWindowAttributes; external "user32.dll";
implementation

end.

program WinLayer;

uses
Windows, SysUtils,
Win2k in "Win2k.pas";

const
WS_EX_LAYERED= $80000;
LWA_COLORKEY = 1;
LWA_ALPHA = 2;

var
Hndl : THandle;
Transp : Byte;

begin
Writeln("Windows2000 Layer <- build by AK ->");
Writeln(" Usage: WINLAYER.EXE [window name] [Transp (0-255)]");
Writeln(" Example: WINLAYER "Calculator" 200");
Writeln;

if ParamCount <> 2 then exit;

Hndl := FindWindow(nil, PChar(ParamStr(1)));
Transp := StrToIntDef(ParamStr(2), 128);

if SetWindowLong(Hndl, GWL_EXSTYLE, GetWindowLong(Hndl, GWL_EXSTYLE) or WS_EX_LAYERED) = 0 then
Writeln("Error !");

if not SetLayeredWindowAttributes(Hndl, 0, Transp, LWA_ALPHA) then
// ^^^ степень прозрачности
// 0 - полная прозрачность
// 255 - полная непрозрачность
Writeln("Error !");
end.


Где взял не помню:(


 
dr_craigan   (2007-04-17 13:51) [3]

Понимаешь, мне надо чтоб как в висте - полупрозрачный регион, как там заголовок и другая муть, а SetLayeredWindowAttributes - переделывает всё окно.


 
dr_craigan   (2007-04-17 14:07) [4]

ау, проснитесь, разве никто не работал с графикой и дизайном своих прог


 
dr_craigan   (2007-04-19 12:40) [5]

Может кто знает, как фотошоп делали, или Висту, тогда подскажите


 
{RASkov}   (2007-04-19 12:58) [6]

> Может кто знает, как фотошоп делали, или Висту, тогда подскажите

Ага... в прошлом году всем форумом Висту лепили...


 
homm ©   (2007-04-19 13:32) [7]

> Может кто знает, как фотошоп делали,

А что, там где-то окна полупрозрачные?



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

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

Наверх




Память: 0.48 MB
Время: 0.044 c
15-1176143491
ANTPro
2007-04-09 22:31
2007.05.13
Почтовый клиент.


15-1176298184
oldman
2007-04-11 17:29
2007.05.13
Почти пятничная задачка (у кого хорошая память, молчите!)


2-1176977001
Electro
2007-04-19 14:03
2007.05.13
Необходимо получить данные из компонента чужой программы.


2-1176990208
voe
2007-04-19 17:43
2007.05.13
DBGrid и работа с ним


3-1172123744
Fantasy
2007-02-22 08:55
2007.05.13
Закладка InterBase Admin не видна