Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.10;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
2-1278936046
Xmen
2010-07-12 16:00
2010.10.10
Как можно присоединить пару документов Word.


2-1278787052
Nikfel
2010-07-10 22:37
2010.10.10
Как из RichEdit получить и засунуть текст в формате RTF?


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


15-1278920302
Дмитрий Белькевич
2010-07-12 11:38
2010.10.10
Как насильно сделать апдейт хэлпа Delphi 2010?


2-1279280809
Jacksotnik
2010-07-16 15:46
2010.10.10
Непонятное что-то с запросом