Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотр
    15 631

CE Lua ColorPicker (скрытый компонент)


MasterGH

6 042 просмотра

Чтобы получить цвет из компонента нужно найти его на форме CE через Lazarus. Этот компонент нельзя найти визуально, он скрыт.

Скрытый текст

function MainLuaProgramm()

  -- Глобальная форма mainForm
  local visibleState = true
  mainForm = createForm(visibleState)
  
  local testButton = createButton(mainForm)
  testButton.Caption = 'Set Color'
  testButton.onClick = function (sender)
	local colorDialog = getMainForm().findComponentByName("ColorDialog1")
	if(colorDialog.Execute()) then
		mainForm.Color = colorDialog.Color
		print(string.format('%08X',mainForm.Color))
	end
  end
  
end

MainLuaProgramm()

 

Узнал об этом случайно, когда зашел на форум Cheat Engine в тему расширений на Lua. Теперь в дизассемблере можно будет быстренько цвета менять

_Color_Picker.png

30 Комментариев


Рекомендуемые комментарии



TFormDesigner

 

Его нет и у меня :) Я просто Дизайнер открыл, когда исполнил скрипт. Вот он и залетел в список, т.к. проинициализировался.

Теперь я его закрыл. Выполнил скрипт. Теперь его не видно

Ссылка на комментарий
2 часа назад, MasterGH сказал:

Мда, на 6.5  TFontDialog класса нет

Мастер, но ведь в самом СЕ мы можем вызвать это окно, т.е. библиотека есть вся - правильно я понимаю?

Может можно в LUA скрипте прописать класс  TFontDialog и уже обращаться к нему?

 

  • Плюс 1
Ссылка на комментарий
1 минуту назад, Garik66 сказал:

Может можно в LUA скрипте прописать класс  TFontDialog и уже обращаться к нему?

 

Нет. Класс TFontDialog не описан в mainLua.

 

Есть еще два варианта через создание потока. С его помощью вызывать уже готовую функцию создания диалога (еще найти её придется в Lazarus-е в пошаговой отладке), либо на WinAPI через ассемблерный код. С этими двумя вариантами я не могу помочь.

Ссылка на комментарий
32 минуты назад, MasterGH сказал:

С этими двумя вариантами я не могу помочь.

Ну я тоже не справлюсь.:wacko: Слишком много нужно искать, читать - у меня времени на это к сожалению нет.

Так что остаётся только вариант - обновление СЕ до 6.6.

  • Плюс 1
Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

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

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