Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прозрачность компонента. 
V
    Опции темы
Ak47black
  Дата 21.9.2006, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Некак немогу заставить наследник компонента TCustomControl стать прозрачным.
Как мне осушествить  smile 
PM MAIL   Вверх
Romikgy
Дата 21.9.2006, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



onPaint не ? (или WM_PAINT)


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ak47black
Дата 21.9.2006, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Мне нужно сделать так что-бы компонент был прозначный (тоесть те компоненты которые находяться под ним были видны) кроме тех участков на которых я нарисовал чтото. Это свойство есть у компонента TLabel называется transparent.
Цитата

onPaint не ? (или WM_PAINT) 

И что мне с ними делать ?
PM MAIL   Вверх
Romikgy
Дата 21.9.2006, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(Ak47black @  21.9.2006,  19:36 Найти цитируемый пост)
И что мне с ними делать ? 

самому рисовать , то что хочешь


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ak47black
Дата 21.9.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Цитата(Romikgy @ 21.9.2006,  20:43)
Цитата(Ak47black @  21.9.2006,  19:36 Найти цитируемый пост)
И что мне с ними делать ? 

самому рисовать , то что хочешь

Не рисовать что позади кнопки было ,это всеровно что поезд обгонять.  smile 
PM MAIL   Вверх
Romikgy
Дата 21.9.2006, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(Ak47black @  21.9.2006,  19:44 Найти цитируемый пост)
Не рисовать что позади кнопки было ,это всеровно что поезд обгонять.

У каждого своя философия...

PS я просто подсказал вариант , как сделать то , что ты хочешь, если те это не нравится, это не мои траблы, если кто то предложит более корректное или правильно решение , молодцы и хвала им!

Это сообщение отредактировал(а) Romikgy - 21.9.2006, 20:49


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ak47black
Дата 21.9.2006, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Цитата(Romikgy @ 21.9.2006,  20:46)
Цитата(Ak47black @  21.9.2006,  19:44 Найти цитируемый пост)
Не рисовать что позади кнопки было ,это всеровно что поезд обгонять.

У каждого своя философия...

Romikgy Я не так понял тебя (sorry).
Мож кто-нибудь предложит что-нибудь 
находил я тут WWW но слишком код грамозкий.

Это сообщение отредактировал(а) Ak47black - 21.9.2006, 20:55
PM MAIL   Вверх
drkot
Дата 22.9.2006, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: 5
Всего: 8



как я понял (если по аналогии с label) то интересует чтобы определенный цвет стал прозрачным.
или интерезует переменныя прозрачность (с градиентом)?

В любом случае: создается битмап на нем рисуется все что должен отрисовать компонент, создается еще один битмап(маска), на нем отрисовывается маска, потом копируеш один битмап на другой и полученое изображение выводиш на канвас компонента.

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


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
Ak47black
Дата 22.9.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



 smile  У меня проблеммы с этим. Не разу такого неделал 
Код

procedure DrawTransparentBmp(Cnv: TCanvas; x,y: Integer; Bmp: TBitmap; clTransparent: TColor); 

из drkb23.chm неподходит
Можите ктонибудь подкинуть наброски.
Заранье спасиба.
PM MAIL   Вверх
Ak47black
Дата 22.9.2006, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Решил другим способом
Если комунибудь нужно будет то вот код
Код

procedure DrawParentImage(Control: TControl; Dest: TCanvas);
var
  SaveIndex: Integer;
  DC: HDC;
  Position: TPoint;
begin
  with Control do
  begin
    if Parent = nil then
      Exit;
    DC := Dest.Handle;
    SaveIndex := SaveDC(DC);
    GetViewportOrgEx(DC, Position);
    SetViewportOrgEx(DC, Position.X - Left, Position.Y - Top, nil);
    IntersectClipRect(DC, 0, 0, Parent.ClientWidth, Parent.ClientHeight);
    Parent.Perform(WM_ERASEBKGND, DC, 0);
    Parent.Perform(WM_PAINT, DC, 0);
    RestoreDC(DC, SaveIndex);
  end;
end;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.