Главная страница
    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
15-1279091543
Cannon
2010-07-14 11:12
2010.10.10
Помогите составить запрос в Interbase


15-1278650437
12
2010-07-09 08:40
2010.10.10
про автоматические обновления.


15-1279008369
ixen
2010-07-13 12:06
2010.10.10
Есть ли такое?


2-1279268835
vajo
2010-07-16 12:27
2010.10.10
Количество строк в RichEdit


2-1279379714
PinDOS
2010-07-17 19:15
2010.10.10
Ограничение доступных свойств и методов объекта





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский