Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];

Вниз

Зарисовка формы   Найти похожие ветки 

 
Vladimir ©   (2010-07-20 11:04) [0]

Здравствуйте! Знаю, что вопрос уже наверняка задавался и не один раз, но ответа на него я найти пока не смог. Есть файл с рисунком, требуется чтобы форма была в виде этого рисунка. Как сделать контур формы по очертанию рисунка я разобрался. Но форма остается серой. Каким образом задать ей цвета из файла с рисунком?


 
Anatoly Podgoretsky ©   (2010-07-20 11:26) [1]

Что такое очертания рисунка, дай точное техническое определение.
По поводу серости, у тебя видимо ошибка в программе.


 
Vladimir ©   (2010-07-20 11:44) [2]

Я взял за основу пример из интернета. В нем показано, как можно придать форме вид, используя рисунок. Немного подредактировав код из примера под свою ситуацию добился того, что из рисунка в файле белый цвет считается прозрачным и в тех местах, где на рисунке белый цвет форма прозрачна, где цвет отличный от белого форма должна быть того цвета который на рисунке, как это сделать я не знаю. Контур формы устанавливаю через SetWindowRgn


 
0x00FF00 ©   (2010-07-20 12:56) [3]

А, простите, кто Вам сказал, что форма должна немедленно перестать быть "серой", если её форму (не цвет!) поменяли на основе рисунка?

Если теперь Вы хотите форму ещё и "раскрасить", милости прошу добавить на неё PictureBox (или как его там) с сабжевой картинкой.


 
Vladimir ©   (2010-07-20 13:02) [4]

Я и спрашиваю, каким образом её можно "раскрасить" на основе рисунка? т.е. без добавления каких-либо компонентов. Или можно только добавить на форму какой-нибудь объект типа Image и в него закрузить рисунок?


 
0x00FF00 ©   (2010-07-20 13:06) [5]


> Vladimir ©   (20.07.10 13:02) [4]

Можно, конечно.
Например, создать графический объект Кисть (HBRUSH), загрузить нужную картинку в него, и проставить эту Кисть форме вместо той, что "по умолчанию" (т.е. той самой серой).

Но зачем мешать WinAPI-подход с VCL?


 
Vladimir ©   (2010-07-20 13:29) [6]

ну да. все понятно теперь. спасибо


 
0x00FF00 ©   (2010-07-20 13:31) [7]

Впрочем, про API это я погорячился.
Есть и вполне себе VCL-ная обёртка под это дело.
Form1.Brush.Bitmap:=TBitmap.Create;
Form1.Brush.Bitmap.LoadFromFile("имя_файла_с_картинкой");

Также для загрузки доступны функции LoadFromStream и LoadFromResourceName.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
2-1279601277
Андрей_1
2010-07-20 08:47
2010.10.10
Цвет шрифта DBGrid


15-1278707383
Юрий
2010-07-10 00:29
2010.10.10
С днем рождения ! 10 июля 2010 суббота


4-1210238349
tytus
2008-05-08 13:19
2010.10.10
как прочитать текст с чужого ListView?


15-1278957018
Дмитрий С
2010-07-12 21:50
2010.10.10
Планировщик заданий как модуль apache


6-1227004931
max
2008-11-18 13:42
2010.10.10
активные TCP сессии





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский