Форум: "WinAPI";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
ВнизПрозрачность части окна Найти похожие ветки
← →
Nil (2007-12-08 12:09) [0]пожскажите пож как сделать прозрачным лишь часть окна. нашёл кусок который делает прозрачным всё окно, а мне хотелось бы убрать прозрачность с TImage который на форме лежит.
Rgn := CreateRoundRectRgn(0, 0, 750, 550, 20, 20); //ClientWidth - 5, ClientHeight - 30, 40, 40);
SetWindowRgn(Handle, rgn, True);
//**************************************************************************//
// Создаем полупрозрачность
if SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE)
or WS_EX_LAYERED) = 0 then
ShowMessage(SysErrorMessage(GetLastError));
if not SetLayeredWindowAttributes(Handle , 0, 245, LWA_ALPHA) then
// ^^^ степень прозрачности
// 0 - полная прозрачность
// 255 - полная непрозрачность
ShowMessage(SysErrorMessage(GetLastError));
Заранее благодарен!
← →
{RASkov} © (2007-12-08 12:48) [1]Вот в соседней ветке
http://delphimaster.net/view/4-1194300418/
homm архив выложил....
Смотрел его? Вопрос-то твой вроде бы похож на вопрос в той ветке...
← →
Nil (2007-12-08 16:22) [2]смотрел.. не совсем подходит. я так понимаю в моём случау всё должно быть гораздо проще. мне не нужна полупрозрачность, нужно просто убрать прозрачность с квадратного куска формы
← →
{RASkov} © (2007-12-08 17:41) [3]> [2] Nil (08.12.07 16:22)
> нужно просто убрать прозрачность с квадратного куска формыprocedure TForm1.FormCreate(Sender: TObject);
var FRGN, FRGN1: HRGN; N: Integer;
begin
ClientWidth:=Screen.Width; ClientHeight:=Screen.Height;
FRGN:=CreateRectRgn(0, 0, ClientWidth, ClientHeight);
FRGN1:=CreateRectRgn(10, 10, ClientWidth-10, ClientHeight-10);
CombineRgn(FRGN, FRGN, FRGN1, RGN_DIFF);
try
SetWindowRgn(Handle, FRGN, False);
N:=GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, N or WS_EX_TOOLWINDOW or WS_EX_NOACTIVATE);
finally DeleteObject(FRGN); end;
end;
Может этого будет достаточно?
← →
Nil (2007-12-08 23:40) [4]Спасибо, но это получается просто дырка в окне, а у меня нужно чтобы это была не дырка а снять прозрачность с этого квадрата. Помоги пож, я уже всё обсмотрел, ничего не вижу похожего. Хочется закосить под стиль висты :)
← →
{RASkov} © (2007-12-09 02:03) [5]> [4] Nil (08.12.07 23:40)
Тогда посмотри вот это:
http://depositfiles.com/files/2643139
Собственно это пример antonna
http://code.progler.ru/view/318
Я сменил только рисунки )
← →
{RASkov} © (2007-12-09 02:08) [6]Что-то я куда-то не туда залил :) сорри... вот тут проще вроде:
http://webfile.ru/1633428
← →
Nil (2007-12-10 00:09) [7]спасибо большое! увидел напрваление куда смотреть. единственное в этом примере никакие контролы на форме не показываются почему то. не прояснишь что надо добавить/убавить чтобы их увидеть?
← →
{RASkov} © (2007-12-10 14:30) [8]> [7] Nil (10.12.07 00:09)
> не прояснишь что надо добавить/убавить чтобы их увидеть?
Хз... это не мое... всякие прозрачности :(
Может antonn сюда заглянет и подскажет умную мысль :) ...Сорри(
← →
Nil (2007-12-11 02:07) [9]понятно, и на этом отдельный thanks!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c