| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Нестандартные кнопки |
| Автор: deniska 15.8.2006, 08:21 |
| Привет. Возникла проблема: Необходимо сделать кнопку так, чтобы она принимала форму картинки из bmp какого-нибудь например. Хотелось бы по проще это сделать например на основе TBitButton. Лазил по поиску но ничего не нашел. |
| Автор: stmamont 15.8.2006, 08:37 |
| посмотри снизу похожие темы |
| Автор: Gordon 15.8.2006, 08:47 |
| deniska, посмотри здесь http://worldcpp.vingrad.ru/ , может найдешь что-нибудь полезное... P.S. Вкладка "Button". |
| Автор: deniska 15.8.2006, 14:05 | ||
| Решил попробовать с окна в виде рисунка бмп. В общем получилось обрезать границы окна по рисунку. а как отобразить сам рисунок на окне? Все примеры на VC. даже текст отрисовать не получилось
почему например это в бидере не работает |
| Автор: Fixin 15.8.2006, 14:48 | ||||
А в чем ошибка-то?
Добавлено @ 14:51 BeginPaint and EdnPaint можно использовать только в обработчике собsтия WM_PAINT (OnPaint). Во всех других случаях нужно использовать обертку
|
| Автор: deniska 15.8.2006, 14:51 | ||||
| да не в чем. просто строка не появляется. Ну ладно с этим я разобрался. вместо
надо
Вопрос остается: как на обрезанной форме отобразить рисунок по которому я ее обрезал. |
| Автор: Fixin 15.8.2006, 14:56 |
| Приведи код, который ты создал. Ты через регион создаешь область вывода? |
| Автор: deniska 15.8.2006, 15:01 | ||
после этого кода форма обрезается как надо. как поместить в нее изображение из файла?????? CreateRgnFromBitmap - функция создающая регион из файла (ее в факе нашел) |
| Автор: deniska 16.8.2006, 09:11 |
| Никто не ответил и ладно. С формой разобрался. Можно создать любой формы, с любым рисунком внутри, и еще мышой таскать за любое место. Теперь все же к кнопкам: проблема такая: чтобы я не нарисовал на кнопке, все закрашивается стандартной кнопкной так как видимо билдер делает перерисовку контролов после юзверского Form::OnPaint. (а может причина в другом??)Как это можно обойти? |