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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Самопальные компоненты на стеклянной форме, Криво рисуются 
:(
    Опции темы
Cumshot
  Дата 7.4.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.4.2010

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



Имеется компонент, например, наследник TCustomControl:
Как только наводим на контрол мышу, он должен поменять свой цвет на красный, как убираем - обратно на белый.
Примерно такой способ работает если форма не прозрачная, я имею в виду прозрачность Aero а не AlphaBlend.
Код

type
  TMyControl = class(TGraphicControl)
  private
    pCursorInControl:boolean;
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent);reintroduce;
    destructor Destroy; override;
  published
end;

Код

procedure TMyControl.CMMouseEnter(var Message: TMessage);
begin
  pCursorInControl:=true;
  Paint;
end;
//------------------------------------------------------------------------------
procedure TMyControl.CMMouseLeave(var Message: TMessage);
begin
  pCursorInControl:=false;
  Paint;
end;
//------------------------------------------------------------------------------
procedure TMyControl.Paint;
begin
  inherited;
  if pCursorInControl then Canvas.Brush.Color:=clRed
  else Canvas.Brush.Color:=clWhite;
  Canvas.Rectangle(0,0,Width,Height);
end;

Но если у формы установить свойства:
GlassFrame.Enabled:=true;
GlassFrame.SheetOfGlass:=true;
То мой контрол тоже становится полупрозрачным. Как это побороть, да и вообще как грамотно рисовать на таком стекле?
PM MAIL   Вверх
otRock
Дата 7.4.2010, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.9.2009

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



Тоже интерисует..
PM MAIL   Вверх
Torbins
Дата 18.4.2010, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.4.2010

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



Сам долго возился с этим вопросом после перезхода на висту. Но в результате победил smile http://www.delphikingdom.com/asp/answer.asp?IDAnswer=63111
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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