Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2011, 08:36   #1
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
Вопрос Невидимая форма с видимыми элементами

Всем привет я понимаю что вопрос может показаться глупым
но все же как сделать форму невидимой а элементы видимыми
TransparentColor не подходит и Brush.Style:=bsClear; тоже не подходит.
Кольша вне форума Ответить с цитированием
Старый 13.11.2011, 13:30   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Установим Form.TransparentColor:=True;
Выберем Form.TransparentColorValue:=Form.Co lor;
mihali4 вне форума Ответить с цитированием
Старый 14.11.2011, 19:08   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

я же написал этот способ не подходит
Кольша вне форума Ответить с цитированием
Старый 14.11.2011, 21:21   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А самому модернизировать ? Или привычка такая - все готовенькое получать ?

Предварительно в свойствах формы установим :
Form->Color->clRed
Form->TransparentColorValue->clRed
Form->TransparentColor->False

Затем :
Код:
procedure TForm101.FormCreate(Sender: TObject);
begin
TransparentColor:=not(TransparentColor);
end;

Последний раз редактировалось mihali4; 14.11.2011 в 21:24.
mihali4 вне форума Ответить с цитированием
Старый 21.11.2011, 22:16   #5
antonn
Пользователь
 
Регистрация: 17.05.2011
Сообщений: 24
По умолчанию

и в чем заключается эта "модернизация"?
antonn вне форума Ответить с цитированием
Старый 22.11.2011, 02:16   #6
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Беспокоит другое - почему нельзя использовать TransparentColor + bsnone, даже не могу придумать такой ситуации где бы это было бы нереализуемо.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 24.11.2011, 00:18   #7
antonn
Пользователь
 
Регистрация: 17.05.2011
Сообщений: 24
По умолчанию

наверное не устраивают возможности, а не сложности реализации
antonn вне форума Ответить с цитированием
Старый 25.11.2011, 14:27   #8
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
По умолчанию

вот так:
Код:
procedure TForm1.TrackBar1Change(Sender: TObject);
var
  pos, perc: Integer;
begin
  pos := tbAlpha.Position;
  AlphaBlendValue := pos;
  perc := pos * 100 div 255;
  lblCurAlpha.Caption := IntToStr(pos) + ' èç 255 (' + IntToStr(perc) + '%)';
end;
//Включаем прозрачность
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if AlphaBlend then chkEnableAlpha.Checked := False;
  AlphaBlendValue := 255;
  AlphaBlend := True;
  Refresh;
  isInc := False;
  Timer1.Enabled := True;
  cmbHideAndShow.Enabled := False;
  tbAlpha.Enabled := False;
  chkEnableAlpha.Enabled := False;
end;
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Старый 02.12.2011, 08:20   #9
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Тут нужно работать с регионами. Нашел простенький пример, форма будет невидимая, а все элементы на ней видимыми, может пригодится вам этот пример.

Код:
type
  TForm1 = class(TForm)
  Button1: TButton;
  private
     { Private declarations }
    procedure RebuildWindowRgn;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//Процедура создания региона
procedure TForm1.RebuildWindowRgn;
var
  FullRgn, Rgn: THandle;
  ClientX, ClientY, I: Integer;
begin
  // определяем относительные координаты клиенской части
  ClientX:=(Width-ClientWidth) div 2;
  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 to ControlCount-1 do
   with Controls[i] do begin
    Rgn:=CreateRectRgn(ClientX+Left, ClientY+Top, ClientX+Left+Width, ClientY+Top+Height);
    CombineRgn(FullRgn, FullRgn, Rgn, rgn_Or);
   end;
  // устанавливаем новый регион окна
  SetWindowRgn(Handle, FullRgn, True);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // убираем сколлбары
  HorzScrollBar.Visible:=false;
  VertScrollBar.Visible:=false;
  // строим новый регион при создании
  RebuildWindowRgn;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  // строим новый регион при изменениях размеров
  RebuildWindowRgn;
end;

Последний раз редактировалось Aliens_wolfs; 02.12.2011 в 08:46.
Aliens_wolfs вне форума Ответить с цитированием
Старый 02.12.2011, 09:06   #10
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Может быть тс имел в виду форму с изменяемой прозрачностью, но не прозрачные контроллы. Потому как при изменении AlphaBlendValue прозрачными становятся и все контроллы, расположенные на форме.

немного поковырялся, и ничего интересного не нашел, разве что поизвращаться и создать поверх формы с изменяемой прозрачностью (AlphaBlend = true), полностью прозрачную форму (Transparent = true) форму, на которой будут расположены контроллы
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 02.12.2011 в 09:36.
Sparkman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
делфи, невидимая кнопка KaZaaM Помощь студентам 8 28.05.2010 00:01
Управление компонентами(видимыми и невидиммыми) в чужой программе(любой) Alter Win Api 21 13.05.2009 23:13
Как сделать их видимыми автофигуры при печати??? 181988 Microsoft Office Word 3 01.11.2008 23:01
В окне делфи форма с элементами есть, а при запуске элементы исчезают lenant Помощь студентам 8 29.05.2008 15:44
Скрипт голосования с видимыми для всех результатами Lurc PHP 1 22.05.2008 03:15