Перейти к содержанию

Изменение цвета чекбоксов при активации диактивации


Pitronic

Рекомендуемые сообщения

Вопрос короткий.

При создании формы на UDF1 с чекбоксами. Что можно добавить в lua чтоб чекбокс менял цвета, если галочка стоит цвет чекбокса красный, а если нет цвет чекбокса по дефолту чёрный, чтоб красивее выглядели функции активация диактивация.

Изменено пользователем Pitronic
дополнение
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Pitronic сказал:

Вопрос короткий.

При создании формы на UDF1 с чекбоксами. Что можно добавить в lua чтоб чекбокс менял цвета, если галочка стоит цвет чекбокса красный, а если нет цвет чекбокса по дефолту чёрный, чтоб красивее выглядели функции активация диактивация.

Я в свое время хотел поменять цвет текста на обычной СЕ кнопке. Но это невозможно.

Спойлер

The WM_CTLCOLORBTN message is sent to the parent window of a button before drawing the button. The parent window can change the button's text and background colors. However, only owner-drawn buttons respond to the parent window processing this message.

 

Единственный выход, рисовать самому. В СЕ в celua.txt я видел такую возможность.

Спойлер

CECustomButton class(Inheritance: CustomControl->WinControl->Control->Component->Object)
A more customizable button instead of the windows theme'd button, and lets you repaint it from scratch as well

createCECustomButton(owner)

properties
  ShowPrefix: boolean - Process first single '&' per line as an underscore and draw '&&' as '&'  
  BorderColor: Color  - The color of the button border
  BorderSize: integer - The thickness of the border
  ButtonColor: Color - The color of the button face
  ButtonHighlightedColor: Color  - The color of the buttonface when highlighted(hovered over with the mouse)
  ButtonDownColor: Color - The color of the buttonface when the mouse is pressed down on it
  DrawFocusRect: boolean   - If true will draw a focus roundrect showing it has focus
  DrawBorder: boolean - default=true.  Will draw a border around the button
  FocusedSize: integer - The with of the focus roundrect
  FocusElipseColor: Color - The color of the focus roundrect
  GrowFont: boolean read - When true the font will get resized till the caption fits the button
  RoundingX: integer
  RoundingY: integer
  CustomDrawn: boolean - Do your own drawing in the OnPaint property of the button
  FramesPerSecond: integer - If animation is used this will determine how often per second the OnPaint gets called
  ButtonAnimationSpeed: integer - If not customdrawn, this determnines how long the animations for enter/leave take

 

Ссылка на комментарий
Поделиться на другие сайты

21 минуту назад, Antonshka сказал:

Я в свое время хотел

Сомневаюсь что это будет работать на чекбоксе в форме. Но тем не менее спасибо за то,

что хотя бы пытался помочь. Я подожду может кто из бывалых подскажет.

Ссылка на комментарий
Поделиться на другие сайты

29 минут назад, Antonshka сказал:

Единственный выход, рисовать самому

 перерисовать окно никак не получится? 100% есть такая возможность. А если её нет, то можно окно удалить и создать новое, с нужным цветом кнопки.

 

А вообще pitronic уже опытный геймхакер🙂 Пора начинать кодить по-человечески, без CE.

Изменено пользователем youneuoy
Ссылка на комментарий
Поделиться на другие сайты

Google пишет, что этот компонент системный. Поэтому Dark Byte сделал финт - квадратик с крестиком, т.е. сделал свой вариант чек-боксаа и может красить его как угодно

Спойлер

Yu-Gi-Oh! Master Duel - Page 14 - FearLess Cheat Engine

 

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

Спойлер

image.png

 

Все это дело не простое и творческое. Кнопку может и сделаешь визуально в редакторе и кликаться будет, и меняться картинка и label-надписи будут рядом. Но еще предстоит внедрить в саму форму, где будешь использовать. Выровнять. Все эти клики связать. Либо вручную в этом визуальном редакторе CE, либо программно. В целом это все творческий и долгий процесс создания внешней оболочки.

Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, MasterGH сказал:

т.е. сделал свой вариант чек-боксаа

Это в таблице а мне в форме надо.

А повторому скриншоту может это и подошло бы, если для активации одна картина а для активации другая.

Ещё вопрос если можно чекбокс окрасить в таблице, разве нет похожего Lua скрипта для чекбоксов?

Изменено пользователем Pitronic
Исправление ошибок
Ссылка на комментарий
Поделиться на другие сайты

12 минут назад, Pitronic сказал:

Ещё вопрос если можно чекбокс окрасить в таблице, разве нет похожего Lua скрипта для чекбоксов?

 

То, что ДаркБайт делал, это квадратик нарисовал и пару палочек в нем в виде крестика. Это не на Lua, а на Lazarus -  то, на чем CE написан.

На Lua можно в теории сделать любой чек-бокс. Только готового скрипта нет и это не быстро сделать.  И это творческий процесс.  Если очень надо поспрашивай на форуме Cheat Engine. Я думаю, будут энтузиасты и  они подскажут.  Может быть и что-то готовое уже есть.

Ссылка на комментарий
Поделиться на другие сайты

55 минут назад, MasterGH сказал:

поспрашивай на форуме Cheat Engine.

Наверное так и сделаю. Только тему пока не закрывайте. Может кто ещё что предложит. А может на се форуме подскажут, если оттуда будет ответ, выложу здесь, может кому пригодится

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, MasterGH сказал:

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

Я игрался как-то раз с ним. Хотел сделать чекбоксы в виде слайдеров-переключателей. В каждом положении было по две картинки, одна видимая, другая нет. При клике они менялись видимостью.

Такой трейнер занимал 1 гигабайт RAM памяти. Пришлось делать стандартные чекбосы.

Не помню, использовал ли я тогда collectgarbage или нет. И помогает ли он вообще в этой ситуации.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.