Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

текст на прозрачном фоне

12K
23 сентября 2005 года
sanch3z
6 / / 23.09.2005
Люди, помогите, пожалуйста, разобраться!

Целую неделю читаю форумы, но так и не нашел вразумительного ответа на свои вопрос...

Вопрос (точнее задача):
на форме есть картинка (бэкграунд). как нарисовать текст с прозрачным фоном на картинке (чтобы картинка не затиралась)???

Сначала я рисовал текст просто вставляя его в TLabel , предварительно сделав его прозрачным (Transparent = true). Но потом встала другая проблема - Label не умеет форматитровать текст.
На сколько я понял, у тестовых компонент (TMemo, TRichEdit и т.д.) нет свойства прозрачность. Не понятно одно - почему!?!
259
23 сентября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by sanch3z
Люди, помогите, пожалуйста, разобраться!

Целую неделю читаю форумы, но так и не нашел вразумительного ответа на свои вопрос...

Вопрос (точнее задача):
на форме есть картинка (бэкграунд). как нарисовать текст с прозрачным фоном на картинке (чтобы картинка не затиралась)???

Сначала я рисовал текст просто вставляя его в TLabel , предварительно сделав его прозрачным (Transparent = true). Но потом встала другая проблема - Label не умеет форматитровать текст.
На сколько я понял, у тестовых компонент (TMemo, TRichEdit и т.д.) нет свойства прозрачность. Не понятно одно - почему!?!


Добраться до нужного контекста можно так

Код:
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
//Рисуем на кнопке
    if(Msg.message == WM_PAINT)
    {
        if(Msg.hwnd == Button1->Handle)
        {
            myC->Handle = GetDC(Button1->Handle);
            myC->CopyRect(myC->ClipRect,myB->Canvas,myB->Canvas->ClipRect);
            Handled = true;
        }
    }
    if(Msg.message == BN_PAINT)
    {
        if(Msg.hwnd == Button1->Handle)
        {
            myC->Handle = GetDC(Button1->Handle);
            myC->CopyRect(myC->ClipRect,myB->Canvas,myB->Canvas->ClipRect);
            Handled = true;
        }
    }

А писать текст с помощью OutText. Управляет прозрачностью, насколько я помню, TBrush->Style.
12K
23 сентября 2005 года
sanch3z
6 / / 23.09.2005
Цитата:
Originally posted by AlexandrVSmirno
Добраться до нужного контекста можно так
Код:
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
//Рисуем на кнопке
    if(Msg.message == WM_PAINT)
    {
        if(Msg.hwnd == Button1->Handle)
        {
            myC->Handle = GetDC(Button1->Handle);
            myC->CopyRect(myC->ClipRect,myB->Canvas,myB->Canvas->ClipRect);
            Handled = true;
        }
    }
    if(Msg.message == BN_PAINT)
    {
        if(Msg.hwnd == Button1->Handle)
        {
            myC->Handle = GetDC(Button1->Handle);
            myC->CopyRect(myC->ClipRect,myB->Canvas,myB->Canvas->ClipRect);
            Handled = true;
        }
    }

А писать текст с помощью OutText. Управляет прозрачностью, насколько я помню, TBrush->Style.



Спасибо! Именно Brush->Style = bsClear я и искал.
Но, неужели нету цивилизованного способа выводить текст, чтобы сам объект его и форматировал? А то,как я понял, на канве ты должен сам переносить строки и прочее.

259
23 сентября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by sanch3z
Спасибо! Именно Brush->Style = bsClear я и искал.
Но, неужели нету цивилизованного способа выводить текст, чтобы сам объект его и форматировал? А то,как я понял, на канве ты должен сам переносить строки и прочее.


Я в свое время не нашел.

12K
23 сентября 2005 года
sanch3z
6 / / 23.09.2005
Цитата:
Originally posted by AlexandrVSmirno
Я в свое время не нашел.



Понятно. Спасибо на этом!
Видимо, судьба самому класс писать для нормальной работы с текстом, так чтобы использовать при этом прозрачность...

259
23 сентября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by sanch3z
Понятно. Спасибо на этом!
Видимо, судьба самому класс писать для нормальной работы с текстом, так чтобы использовать при этом прозрачность...


Всегда пожалуйста. Успехов.:)

10
24 сентября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by sanch3z
Видимо, судьба самому класс писать для нормальной работы с текстом, так чтобы использовать при этом прозрачность...


А API DrawTextEx()?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог