Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Прозрачность TcxEdit / 12 сообщений из 12, страница 1 из 1
10.10.2019, 11:49
    #39874489
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
Delphi Tokyo, TcxEdit, TcxLookupCombobox.

Как реализовать прозрачность?
Чтобы в итоге строка ввода и список выбора были прозрачны, но в виде тонко линии.
Ну так примерно, как на картинке
...
Рейтинг: 0 / 0
10.10.2019, 11:50
    #39874491
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
Если использовать TForm.TransparentColor, то в форме получается дыра до Рабочего стола.
...
Рейтинг: 0 / 0
10.10.2019, 11:51
    #39874492
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
дело в том, что на форме есть градиент и нужно его соблюсти и у элементов ввода
...
Рейтинг: 0 / 0
10.10.2019, 12:18
    #39874504
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
Проблем с border нету, но прозрачность cx-компоненты не поддерживают, как я понял.
...
Рейтинг: 0 / 0
14.10.2019, 09:53
    #39875804
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
...
Рейтинг: 0 / 0
14.10.2019, 11:05
    #39875839
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
Можно. Первая же тема в саппорте девэкспрессов:

https://www.devexpress.com/Support/Center/Question/Details/T214628/how-to-create-custom-component-with-transparent-background
...
Рейтинг: 0 / 0
14.10.2019, 11:22
    #39875851
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
DimaBr Стиль WS_EX_LAYERED для дочерних окон в Windows 8
Однако не все так радужно…
Первое что бросается в глаза это то, что создаются такие окна очень медлительно, раз в 10 медленней обычных.
...
Рейтинг: 0 / 0
14.10.2019, 11:37
    #39875865
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
JaDiМожно. Первая же тема в саппорте девэкспрессов:

https://www.devexpress.com/Support/Center/Question/Details/T214628/how-to-create-custom-component-with-transparent-background

Никакой прозрачности на наблюдается априори
...
Рейтинг: 0 / 0
14.10.2019, 12:52
    #39875930
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
X11Однако не все так радужно…
Первое что бросается в глаза это то, что создаются такие окна очень медлительно, раз в 10 медленней обычных.
Тебе 100 кнопок таких создавать надо или одно поле ввода?..
...
Рейтинг: 0 / 0
14.10.2019, 17:11
    #39876120
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
DimaBr,

мой косяк, не заметил замечание от техподдержки -- оказывается, такое можно провернуть только для своих кастомных компонентов, а большинство редакторов девок пойдут лесом, т.к. используют системные контролы ввода, которые никак не контролируются (как раз случай с TcxTextEdit). Из рекомендаций техподдержки: подбирать цвет фона такой же как у формы, использовать лейбл и делать автозамену на контрол при клике (начале ввода) как это делается во всяких гридах/трилистах.
...
Рейтинг: 0 / 0
15.10.2019, 10:19
    #39876382
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
JaDiDimaBr,

мой косяк, не заметил замечание от техподдержки -- оказывается, такое можно провернуть только для своих кастомных компонентов, а большинство редакторов девок пойдут лесом, т.к. используют системные контролы ввода, которые никак не контролируются (как раз случай с TcxTextEdit). Из рекомендаций техподдержки: подбирать цвет фона такой же как у формы, использовать лейбл и делать автозамену на контрол при клике (начале ввода) как это делается во всяких гридах/трилистах.

Делал давно у себя в проекте такое

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
  TcxMyEditViewInfo = class(TcxCustomEditViewInfo)
  private
    FContent: string;
  public
    constructor Create; override;
    procedure SetContent(AValue: TcxEditValue);
    destructor Destroy; override;
    procedure Paint(ACanvas: TcxCanvas); override;
  end;

  TcxMyEditViewData = class(TcxCustomEditViewData)
  public
    procedure EditValueToDrawValue(ACanvas: TcxCanvas;
      const AEditValue: TcxEditValue;
      AViewInfo: TcxCustomEditViewInfo); override;
      function GetEditContentSize(ACanvas: TcxCanvas;
      const AEditValue: TcxEditValue;
      const AEditSizeProperties: TcxEditSizeProperties): TSize; override;
    function GetClientExtent(ACanvas: TcxCanvas;
      AViewInfo: TcxCustomEditViewInfo): TRect; override;
  end;

  TcxMyEditProperties = class(TcxCustomEditProperties)
  protected
    class function GetViewDataClass: TcxCustomEditViewDataClass; override;
  public
    function GetSupportedOperations: TcxEditSupportedOperations; override;
    function GetEditValueSource(AEditFocused: Boolean): TcxDataEditValueSource; override;
    class function GetViewInfoClass: TcxContainerViewInfoClass; override;
  end;



и отрисовывал Edit самостоятельно, как душе угодно
...
Рейтинг: 0 / 0
15.10.2019, 18:59
    #39876726
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачность TcxEdit
КвейдДелал давно у себя в проекте такоеЧто-то слишком много написал для перекрытия метода Paint
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Прозрачность TcxEdit / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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