Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > нестандартные окна |
Автор: max07 11.8.2006, 22:05 |
Привет, хочется узнать как сделать форму в виде, допустим какой нибудь картинки. Чтоб фон картинки стал прозрачным, а окно приняло форму картинки??? P.S. вроде с регионами надо игратся?! ![]() ![]() Пасибо. |
Автор: jonie 11.8.2006, 23:24 |
агу.. с регионами... ну дык а далее msdn ?)...ну или посмотри в гугле - делфячных примеров море.... а там уж и до С рукой подать |
Автор: witeman 12.8.2006, 00:46 | ||
Вот пример из книжки (создание скругленного окна)
Может чем-то поможет ![]() |
Автор: Damarus 12.8.2006, 00:50 | ||
Вот пример:
Но создавать регион динамически слишком медленно, лучше сделать это отдельно и записать данные региона в файл, а в программе загружать и создавать регион на основе этих данных (ExtCreateRegion). |
Автор: Friackazoid 12.8.2006, 00:58 |
max07, там все очень просто загружаешь bitmap, делаешь из него массив, самый первый эл-т принимаешь за нулевой (самый первый пиксель картинки должен быть цветом фона), потом проходишься по этому массиву ишешь не нулевые эл-ты и объединяешь из в регионы А вообше http://www.goldfaq.ru/modules/mydownloads/visit.php?cid=5&lid=9&PHPSESSID=e6d8793d6f84772f746be5c019e7c1ea |
Автор: CatOleg 12.8.2006, 15:31 |
Ложиш на форму TImage, загружаеш в него рисунок, а дальше дописуеш в коде : __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Image1->AutoSize = true; Form1->ClientHeight = Image1->Height; Form1->ClientWidth = Image1->Width; Form1->BorderStyle = bsNone; Form1->TransparentColor = true; // Устанавливаем прозрачный цвет в данном случае точка(0,0) Form1->TransparentColorValue = Image1->Canvas->Pixels[0][0]; } |
Автор: max07 17.8.2006, 22:53 |
Form1->TransparentColor = true; Form1->TransparentColorValue = Image1->Canvas->Pixels[0][0]; Такого ваще нет... CatOleg, В этом случае только картинки фон становится прозрачным, а надо ещё окну форму картинки придать, как это сделать в BCB? |
Автор: deniska 18.8.2006, 09:43 | ||||||||||
В общем слушай сюда я как раз тоже с этим заморочился и вот что надыбал: функция, создающая регион формой картинки (ее взял где-то в нашем факе):
после этого форма должна принять форму картинки если еще нужно чтоб на форме еще и отображался данный рисунок то:
а если еще и таскать форму за любое место хочешь ![]()
а в срр
ну вот, все что нашел. у меня все работает. Люди, если кто-нибудь делал красивые кнопки нестандартной формы, с градиентной заливкой в билдере отзовитесь ![]() |
Автор: max07 18.8.2006, 22:12 |
Пасибо всем ![]() |
Автор: WOODDY 7.12.2007, 02:17 |
А вот как редактироват такую форму не подскажите? Например кнопки подабавлять и тд. так как на самой форме у меня оно не отображается и только наугад вставлять приходится, что не есть очень удобно. |
Автор: artsb 7.12.2007, 18:57 |
Кинь Image, засунь в него свою картинку. А потом когда всё сделаешь Image удалишь. ![]() |
Автор: WOODDY 2.1.2008, 17:48 | ||
спасибо ![]() |