![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Зарисовка формы [D7, XP]
Vladimir © (2010-07-20 11:04:00)Здравствуйте! Знаю, что вопрос уже наверняка задавался и не один раз, но ответа на него я найти пока не смог. Есть файл с рисунком, требуется чтобы форма была в виде этого рисунка. Как сделать контур формы по очертанию рисунка я разобрался. Но форма остается серой. Каким образом задать ей цвета из файла с рисунком?
0x00FF00 (2010-07-20 13:31:00) [1]Впрочем, про API это я погорячился.
Есть и вполне себе VCL-ная обёртка под это дело.
Form1.Brush.Bitmap:=TBitmap.Create;
Form1.Brush.Bitmap.LoadFromFile('имя_файла_с_картинкой');
Также для загрузки доступны функции LoadFromStream и LoadFromResourceName.
Vladimir (2010-07-20 13:29:00) [2]ну да. все понятно теперь. спасибо
0x00FF00 (2010-07-20 13:06:00) [3]
> Vladimir © (20.07.10 13:02) [4]
Можно, конечно.
Например, создать графический объект Кисть (HBRUSH), загрузить нужную картинку в него, и проставить эту Кисть форме вместо той, что "по умолчанию" (т.е. той самой серой).
Но зачем мешать WinAPI-подход с VCL?
Vladimir (2010-07-20 13:02:00) [4]Я и спрашиваю, каким образом её можно "раскрасить" на основе рисунка? т.е. без добавления каких-либо компонентов. Или можно только добавить на форму какой-нибудь объект типа Image и в него закрузить рисунок?
0x00FF00 (2010-07-20 12:56:00) [5]А, простите, кто Вам сказал, что форма должна немедленно перестать быть "серой", если её форму(не цвет!) поменяли на основе рисунка?
Если теперь Вы хотите форму ещё и "раскрасить", милости прошу добавить на неё PictureBox (или как его там) с сабжевой картинкой.
Vladimir (2010-07-20 11:44:00) [6]Я взял за основу пример из интернета. В нем показано, как можно придать форме вид, используя рисунок. Немного подредактировав код из примера под свою ситуацию добился того, что из рисунка в файле белый цвет считается прозрачным и в тех местах, где на рисунке белый цвет форма прозрачна, где цвет отличный от белого форма должна быть того цвета который на рисунке, как это сделать я не знаю. Контур формы устанавливаю через SetWindowRgn
Anatoly Podgoretsky (2010-07-20 11:26:00) [7]Что такое очертания рисунка, дай точное техническое определение.
По поводу серости, у тебя видимо ошибка в программе.