Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
3-1206704399
ASgard
2008-03-28 14:39
2008.09.28
Программно изменить настройки SQL Server 2005


15-1217926249
Мимоходом
2008-08-05 12:50
2008.09.28
Есть ли абстрактное мышление у программистов ?


2-1218714100
Lamer666
2008-08-14 15:41
2008.09.28
Из Excel-я в DbGrid


2-1218824814
inforoom
2008-08-15 22:26
2008.09.28
Создана ли Форма?


11-1192803409
Сидор
2007-10-19 18:16
2008.09.28
WordWrap в KOLButton





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский