Показать полную графическую версию : [C++Builder 2009] Форма по png файлу с альфа каналом (есть пример на дельфи)
crashtuak
14-04-2009, 19:58
Ух ну и название темы :). Вот надо так сделать: у нас есть png с альфа каналом (тоесть полупрозрачный рисунок), и надо сделать форму, основой которой будет наш png, ну и чтоб на форме можно было свободно размещать любые контролы. Может кто знает, но я и догадаться не могу, как такую ьнерх<- сделать!
crashtuak
14-04-2009, 20:16
Ну уже есть продвижение. Делаем две формы. Делаем код, с которым они будут находится одна под одной и будут синхронно перемещаться. Формы одинаковые по размерам, и нижняя прозрачная, а у верхней с помощью TransparentColorValue вырезаем фон и размещаем контролы. Еще не делал так но будет 100% работать. Но при такой реализации желаемого результата при использовании png не получить.
Delirium
15-04-2009, 01:29
а что, форме нельзя просто присвоить Backgroung Image и на форму кидать контролы? А у контролов цвет - transparent. Я делал так на C# - работало.
crashtuak
15-04-2009, 06:59
а что, форме нельзя просто присвоить Backgroung Image и на форму кидать контролы? А у контролов цвет - transparent. Я делал так на C# - работало. » И у тебя выходило аля Vista Style?
Вот еще продвижение в данной теме: делаем таймер с малым промежутком времени и кидаем ему в код PaintDesktop(Form3->Canvas->Handle); но рисует на форме только обои рабочего стола, минуя окна программ, ярлыки...
Свойство AlphaBlend не поможет?
crashtuak
15-04-2009, 17:55
AlphaBlend » Совсем не то, делает форму прозрачной вместе с контролами, а надо делать прозрачной по альфа каналу картинки.
crashtuak
15-04-2009, 18:37
Вот нашел сие чудо (см вложение). Написано на дельфях, но я в них не шарю, даже компилятора нету. Кто может поймет что там к чему, и на С++ перегонит?)
Delirium
16-04-2009, 01:02
ааа, вон оно что требуется :) Я не так понял суть вопроса :)
Насколько я понял из примера, используется не простая форма, а форма Splash (у которой есть возможность чудить с альфа каналами). Основной код в splashekran.pas, в принципе там все понятно, хотя я тоже делфи не знаю. ПОсмотри внимательно на описание TSplashEkran.Create и TSplashEkran.Execute.
crashtuak
16-04-2009, 08:10
там все понятно » Если учесть что я и в С++ не особо шыбко шарю, то в Делфи и подавно:). Ладно будем включать мозг, и чтото надумаем.:)
форма Splash (у которой есть возможность чудить с альфа каналами) » Вот типа такого мне и надо, только с контролами:). Ну нада сделать окно аля Виста, с полупрозрачностью.
crashtuak
16-04-2009, 08:30
Вот что нашел http://www.cyberguru.ru/programming/cpp-builder/delphi-code-using.html, там показано как код с дельфи в С++ Билдер запихнуть. Хеадер для С++ в архиве повыше есть уже. Как теперь прикрутить и использовать его?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC