powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Composite Component MuseDown, MouseUp проблема.
6 сообщений из 6, страница 1 из 1
Composite Component MuseDown, MouseUp проблема.
    #40108680
noram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла необходимость соорудить составной компонетн из TPanel и TShape (TShape рамка к TPanel)
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
type
  TFlatBut = class(TPanel)
constructor TFlatBut.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Width := 100;
  Height := 25;
  ParentBackground := False;
  Color := $00D3D3D3;
  BevelInner := bvNone;
  BevelKind := bkNone;
  BevelOuter := bvNone;
  IsBold := False;
  FFrameBut := TShape.Create(Self);
  FFrameBut.Parent := self;
  FFrameBut.Left := 0;
  FFrameBut.Top := 0;
  FFrameBut.Width := self.Width;
  FFrameBut.Height := self.Height;
  FFrameBut.Brush.Style := bsClear;
  IsBVisible := True;
  FBColor := clGray;
end;


Работают :
Код: pascal
1.
procedure TFlatBut.CMMouseEnter (var Msg: TMessage);


Код: pascal
1.
procedure TFlatBut.CMMouseLeave (var Msg: TMessage);


А так же при изменении размера компонента работает
Код: pascal
1.
procedure TFlatBut.WMSize(var Msg: TWMSize);


А вот MouseDown и MouseUp не работает.
Код: pascal
1.
procedure TFlatBut.WMLButtonDown(var Message: TWMLButtonDown);


Удар (мышки) принимает на себя TShape и компонент никак не реагирует на Up и Down.
Тогда почему MouseEnter и MouseUp и OnResize работает?
Как мне перенаправить (переадресовать) MouseEnter и MouseUp с TPanel на TShape?
...
Рейтинг: 0 / 0
Composite Component MuseDown, MouseUp проблема.
    #40108683
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем что-то переадресовывать, если всё это происходит у вас в компоненте ?
...
Рейтинг: 0 / 0
Composite Component MuseDown, MouseUp проблема.
    #40108689
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...да там и сам TShape нафик не нужен. Рамочку можно и ручками отрисовать
...
Рейтинг: 0 / 0
Composite Component MuseDown, MouseUp проблема.
    #40108690
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там и TPanel в качестве наследника ЛИШНЯЯ. Всё равно все рамки отключаются.
...
Рейтинг: 0 / 0
Composite Component MuseDown, MouseUp проблема.
    #40108695
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
Там и TPanel в качестве наследника ЛИШНЯЯ. Всё равно все рамки отключаются.
Не! Там же текст с выравниванием рисуется и опубликованы свойства
...
Рейтинг: 0 / 0
Composite Component MuseDown, MouseUp проблема.
    #40108703
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger
Не! Там же текст с выравниванием рисуется и опубликованы свойства

Там Шейп на всю площадь (FFrameBut.Left := 0; FFrameBut.Top := 0; FFrameBut.Width := self.Width; FFrameBut.Height := self.Height;)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Composite Component MuseDown, MouseUp проблема.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]