Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Прозрачная форма, а на ней непрозрачные компоненты
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Arnold Lane Arnold Lane вне форума
Новичок
 
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.02.2004
По умолчанию Прозрачная форма, а на ней непрозрачные компоненты - 14.06.2004, 17:03

Буду краток. Мне нужно сделать простую вещь - форму - прозрачную, а на ней компонеты (к примеру Label) - непрозрачные. Заранее всем спасибо.
P.S. Да ксати это может быть и Frame и Panel. Главное что-бы это можно было свободно перетащить куда угодно.l
Ответить с цитированием
  (#2 (permalink)) Старый
Viktor Viktor вне форума
Member
 
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.12.2003
По умолчанию 15.06.2004, 02:13

Вот пример:
Код:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
HRGN FullRgn;
HRGN Rgn;
int I;
// определяем относительные координаты клиенской части
int ClientX= (Width - ClientWidth)/ 2;
int ClientY= Height - ClientHeight - ClientX;
// создаем регион для всей формы
FullRgn = CreateRectRgn(0, 0, Width, Height);
// создаем регион для клиентской части формы
// и вычитаем его из FullRgn
Rgn = CreateRectRgn(ClientX, ClientY, ClientX + ClientWidth, ClientY +ClientHeight);
CombineRgn(FullRgn, FullRgn, Rgn, RGN_DIFF);
// теперь добавляем к FullRgn регионы каждого контрольного элемента
for(I=0;I<ControlCount;I++)
{
Rgn = CreateRectRgn(ClientX+Controls[I]->Left, ClientY+Controls[I]->Top,
    ClientX+Controls[I]->Left + Controls[I]->ClientWidth,
    ClientY+Controls[I]->Top +Controls[I]->ClientHeight);
CombineRgn(FullRgn, FullRgn, Rgn, RGN_OR);
// устанавливаем новый регион окна
}
SetWindowRgn(Form1->Handle, FullRgn, True);
}
Еще в "BorderStyle" поставь "bsNone" !
Если интересно как это все работает то почитай http://mportal.narod.ru/Delphi/Inv_Form_D.html :!:
Ответить с цитированием
  (#3 (permalink)) Старый
Arnold Lane Arnold Lane вне форума
Новичок
 
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.02.2004
По умолчанию 15.06.2004, 14:02

Большое спасибо сейчас попробую.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма, внутри еще форма. помогите!!! Nadej C++ Builder 2 04.10.2011 16:03
не открывается форма imported_Мария_я Delphi 1 26.09.2011 22:46
Прозрачная форма как реализовать Khelleos C++ Builder 1 15.05.2011 23:10
Форма в трей Spark-Team Visual Basic 3 10.01.2008 16:21
multipart-форма Holand PHP 4 13.11.2007 13:16
немодальная форма ugin3 Visual Basic 3 27.04.2007 19:41
VB6-форма без Х alexsss Visual Basic 3 27.09.2006 03:11
Прозрачная картинка на диалоге MFC Aracon Visual C++ 3 02.09.2006 19:36
Форма с TextBox в VB AANDREE Visual Basic 5 23.10.2005 22:27
Блокируется форма и компоненты Kumara C++ Builder 2 24.05.2005 17:41
Прозрачная сцена как сделать Olesya Программирование графики 1 11.09.2004 20:45
Форма в dll библиотеки Anonymous Delphi 0 24.01.2004 11:28



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов