Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [C++Builder 2009] Форма по png файлу с альфа каналом (есть пример на дельфи) (http://forum.oszone.net/showthread.php?t=137693)

crashtuak 14-04-2009 19:58 1094037

[C++Builder 2009] Форма по png файлу с альфа каналом (есть пример на дельфи)
 
Ух ну и название темы :). Вот надо так сделать: у нас есть png с альфа каналом (тоесть полупрозрачный рисунок), и надо сделать форму, основой которой будет наш png, ну и чтоб на форме можно было свободно размещать любые контролы. Может кто знает, но я и догадаться не могу, как такую ьнерх<- сделать!

crashtuak 14-04-2009 20:16 1094052

Ну уже есть продвижение. Делаем две формы. Делаем код, с которым они будут находится одна под одной и будут синхронно перемещаться. Формы одинаковые по размерам, и нижняя прозрачная, а у верхней с помощью TransparentColorValue вырезаем фон и размещаем контролы. Еще не делал так но будет 100% работать. Но при такой реализации желаемого результата при использовании png не получить.

Delirium 15-04-2009 01:29 1094335

а что, форме нельзя просто присвоить Backgroung Image и на форму кидать контролы? А у контролов цвет - transparent. Я делал так на C# - работало.

crashtuak 15-04-2009 06:59 1094419

Цитата:

Цитата Delirium
а что, форме нельзя просто присвоить Backgroung Image и на форму кидать контролы? А у контролов цвет - transparent. Я делал так на C# - работало. »

И у тебя выходило аля Vista Style?

Вот еще продвижение в данной теме: делаем таймер с малым промежутком времени и кидаем ему в код PaintDesktop(Form3->Canvas->Handle); но рисует на форме только обои рабочего стола, минуя окна программ, ярлыки...

Alan85 15-04-2009 07:39 1094425

Свойство AlphaBlend не поможет?

crashtuak 15-04-2009 17:55 1094923

Цитата:

Цитата Alan85
AlphaBlend »

Совсем не то, делает форму прозрачной вместе с контролами, а надо делать прозрачной по альфа каналу картинки.

crashtuak 15-04-2009 18:37 1094984

Вот нашел сие чудо (см вложение). Написано на дельфях, но я в них не шарю, даже компилятора нету. Кто может поймет что там к чему, и на С++ перегонит?)

Delirium 16-04-2009 01:02 1095308

ааа, вон оно что требуется :) Я не так понял суть вопроса :)
Насколько я понял из примера, используется не простая форма, а форма Splash (у которой есть возможность чудить с альфа каналами). Основной код в splashekran.pas, в принципе там все понятно, хотя я тоже делфи не знаю. ПОсмотри внимательно на описание TSplashEkran.Create и TSplashEkran.Execute.

crashtuak 16-04-2009 08:10 1095415

Цитата:

Цитата Delirium
там все понятно »

Если учесть что я и в С++ не особо шыбко шарю, то в Делфи и подавно:). Ладно будем включать мозг, и чтото надумаем.:)

Цитата:

Цитата Delirium
форма Splash (у которой есть возможность чудить с альфа каналами) »

Вот типа такого мне и надо, только с контролами:). Ну нада сделать окно аля Виста, с полупрозрачностью.

crashtuak 16-04-2009 08:30 1095424

Вот что нашел http://www.cyberguru.ru/programming/...ode-using.html, там показано как код с дельфи в С++ Билдер запихнуть. Хеадер для С++ в архиве повыше есть уже. Как теперь прикрутить и использовать его?


Время: 21:45.

Время: 21:45.
© OSzone.net 2001-