151

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Для некоторых элементов имеет значение порядка параметров при создании:

vcl.ComboBox(hMainForm,{Top=nY,Left=nX,Width=nWidth,Items=sData,ItemIndex=0,Readonly=true,ShowHint=true,Hint=sHint,OnChange=_Handler})
vcl.ComboBox(hMainForm,{Top=nY,Left=nX,Width=nWidth,Readonly=true,Items=sData,ItemIndex=0,ShowHint=true,Hint=sHint,OnChange=_Handler})

Во втором случае значение по-умолчанию не будет заполнено.

152

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Подскажите, а как сделать так, чтобы у таблицы не было фиксированного количества строк и нужные появлялись в конце.
Плюс чтобы при отображении этой таблицы был скрол справа для прокрутки по вертикали данной таблицы ?

153 (2015-04-29 18:46:39 отредактировано GREEN_X5)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

О какой "таблице" речь? "Таблица" на сленге LUA это переменная-массив. Массив не имеет "строк", он заполняется переменными-элементами массива.
Если речь о StringGrid, то там не может быть неопределенного количества "строк". Задавайте кол-во "строк" вручную, и меняйте, или вручную, или по алгоритму когда нужно. Если "строки" StringGrid перестают помещаться в заданный вертикальный размер окна, то "скрол" появится автоматически и именно справа. Можно также задать неисчезающий "скрол" или никогда не появляющийся.

154 (2015-05-12 13:52:24 отредактировано GREEN_X5)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Помогите пожалуйста всё-таки заставить не дергаться вывод текста. Применяю BeginUpdateBounds() и EndUpdateBounds(), а толку - ноль...

Скрипт для запуска:

vcl = require "qvcl";

function OnStop()
  Form:Release()
  is_run=false
end

function Timer()
    local lcltime = getInfoParam("LOCALTIME")
    local out = type(lcltime).."    "..type(lcltime).."  "..type(lcltime).."    "..lcltime.."    "..lcltime.."  "..lcltime
    DwTxt:BeginUpdateBounds()
    DwTxt.Caption = out
    DwTxt:EndUpdateBounds()
end

Form = vcl.Form({OnClose = OnStop})
tmr     = vcl.Timer(Form,{Interval=1000, OnTimer=Timer, Enabled="True"})
DwTxt= vcl.StaticText(Form,{Align="alBottom", BorderStyle="sbsSunken", Caption="Текст"})
Form:Show()

is_run = true;

function main()
  while is_run do
      sleep(50)
  end
end

Интересное наблюдение, если двигать мышь по экрану в момент обновления текста, выводит без дерганий...

155

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

У меня на вашем примере не моргает (только виснет всё насмерть, блин)
Про моргание - явно какие-то локальные чудеса/особенности драйвера видеокарты.

BeginUpdateBounds / EndUpdateBounds - это тут точно не по делу.

Попробуйте вместо StaticText использовать специальный компонент StatusBar примерно так:

StatusBar = vcl.StatusBar(Form)

и вывод текста

StatusBar.SimpleText = out

156

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

myForm:ShowOnTop()  не показывает форму поверх остальных окон

157

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

kalikazandr пишет:

myForm:ShowOnTop()  не показывает форму поверх остальных окон

нашел: FormStyle = "fsStayOnTop"

myForm =  VCL.Form( { Caption = "Настройка тренда. Инструмент: " .. sec,
    Position = "podesktopcenter",
    FormStyle = "fsStayOnTop",--вот это свойство влияет на отображение поверх всех окон
    Height = 460, Width = 400,
    OnClose = function (sender) sender:Release(); VCL = nil; is_run=false end } )
myForm:Show()

158 (2015-05-12 13:58:56 отредактировано GREEN_X5)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

swerg,
с StatusBar я что-то не подружился, да и по сути это тот же StaticTex, но с бедным набором контролов.
Тоже моргает паразит, наверное, действительно, дело в убогой Intel HD3000 на моём рабочем ноутбуке, на другом с нормальной видеокартой ничего не моргает, спасибо за подсказку. )
Но вот ведь в чем фишка, например в окнах квика никогда ничего не моргает, а ведь они, как я понимаю, тоже задействуют визуальные средства оси...
Скрипт выше подправил, я там изначально объявил форму видимой до заполнения, так не можно, забыл совсем. )

159

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Label тоже моргает?

160

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Удивительно, но факт - Label при выводе в Caption той же строки не моргает...

161 (2015-05-12 14:36:19 отредактировано swerg)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Тогда осталось чем-либо отрисовать линию или рамку вокруг Label (например, Bevel) - и дело сделано.
При этом
- у Bevel задать Align = alBottom
- у Label задать Anchors.Top = False   Anchors.Bottom = True
и рамка с текстом всегда будут внизу формы, даже если изменять размер.
(про синтаксис Anchors надо поэкспериментровать как именно его задавать надо)

162 (2015-05-13 10:22:19 отредактировано GREEN_X5)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Да, Bevel действительно оказался лучшим вариантом для моих целей. Помимо label он позволяет размещать поверх себя ещё и Shape. Спасибо за хорошую идею! )
Якоря для label у меня что-то не сработали, но это не проблема, Label.Top=Form.Height-17.
А вот мигание, да, есть и тут. Но диагноз подтверждается, дохленькая видеокарта. Посмотрел ещё раз на Квик - в инфоокне тоже дискотека. Рабочему ноуту уже 5 лет, надо менять, но он всё никак не сдохнет! )))

163 (2016-09-29 11:33:25 отредактировано sam063rus)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

164

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

BitBtn. Произвольные картинки.
У кого-нибудь получилось присвоить кнопке BitBtn собственную картинку(и)? Или можно использовать только стандартные из свойства "Kind"?
Буду очень признателен, если приведете пример кода)

165

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

swerg пишет:

Для компонента Button (кнопка) можно задавать цвет через свойство Color.
     btn = VCL.Button(MainForm)
     btn.Color = 0x22BB22

Не могли бы Вы сделать то же самое для ToggleBox?
Спасибо.

166

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Подскажите, не получается свойство Color для StaticText, хотя у этого компонента есть такое свойство

167

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

kalikazandr пишет:

Подскажите, не получается свойство Color для StaticText, хотя у этого компонента есть такое свойство

StaticText = VCL.StaticText(mainForm,{BorderStyle="sbsSunken", Align="alBottom", Color=RGB(0,255,0), Caption="Текст"})

168

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

GREEN_X5 пишет:
kalikazandr пишет:

Подскажите, не получается свойство Color для StaticText, хотя у этого компонента есть такое свойство

StaticText = VCL.StaticText(mainForm,{BorderStyle="sbsSunken", Align="alBottom", Color=RGB(0,255,0), Caption="Текст"})

вот именно так и не работает

169

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

kalikazandr пишет:
GREEN_X5 пишет:
kalikazandr пишет:

Подскажите, не получается свойство Color для StaticText, хотя у этого компонента есть такое свойство

StaticText = VCL.StaticText(mainForm,{BorderStyle="sbsSunken", Align="alBottom", Color=RGB(0,255,0), Caption="Текст"})

вот именно так и не работает

У меня работает.

http://i.imgur.com/yoaSPWw.png

170

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

У меня работает.

stopped = false
local VCL = require "qvcl"
function OnStop(s)
    if myForm then myForm:Release(); myForm = nil end
    VCL = nil
    stopped = true
end
myForm =  VCL.Form( {
        caption = "Настройка",
        Position = "podesktopcenter",
        FormStyle = "fsStayOnTop",
        Height = 422, Width = 400,
        OnClose = function (sender) sender:Release(); myForm = nil end} )
        
StaticText = VCL.StaticText(myForm,{BorderStyle="sbsSunken", Align="alBottom", Color=RGB(0,255,0), Caption="Текст"})
        myForm:Show()
function main()
    while not stopped do
       sleep(1000)
    end
end

не работает, мб, какое-то свойство формы активировать?

171 (2015-05-14 17:49:10 отредактировано GREEN_X5)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

kalikazandr пишет:

не работает, мб, какое-то свойство формы активировать?

Попробуй обнови qvcl отсюда
[url]http://quik2dde.ru/viewtopic.php?id=111[/url]
перезагрузи квик, и запусти вот это

VCL = require "qvcl"

function OnFormClose(Sender, CloseAction)
  is_run = false
  mainForm:Release()
end

mainForm = VCL.Form("mainForm",{ position="podesktopcenter", height=440, width=250, Caption="Shape test", OnClose = OnFormClose })
StaticText = VCL.StaticText(mainForm,{BorderStyle="sbsSunken", Align="alBottom", Color=RGB(0,255,0), Caption="Текст"})
mainForm:Show()

is_run = true    
function main()
  while is_run do
    sleep(50)
  end
end

function OnStop()
 is_run = false
 mainForm:Free()
end

172 (2015-05-14 19:24:49 отредактировано kalikazandr)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

w8.1 x64, обновил, не работает. версия квик 6.17.1.17, на 6.16.1.15 тоже обновил - не работает

173

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

kalikazandr пишет:

w8.1 x64, обновил, не работает. версия квик 6.17.1.17, на 6.16.1.15 тоже обновил - не работает

Не работает - в смысле скрипт запускается корректно, StaticText внизу формы появляется, но не зеленый?

174

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

GREEN_X5 пишет:
kalikazandr пишет:

w8.1 x64, обновил, не работает. версия квик 6.17.1.17, на 6.16.1.15 тоже обновил - не работает

Не работает - в смысле скрипт запускается корректно, StaticText внизу формы появляется, но не зеленый?

так точно, скрипт запускается ровно, StaticText - не зеленый

175 (2015-05-15 00:13:09 отредактировано swerg)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

kalikazandr,
А хотя бы у каких-либо элементов изменяются цвета? Ну там Label.
У меня тоже работает, но нет Win8, чтобы проверить, может есть неожиданный нюанс.


new_user пишет:

BitBtn. Произвольные картинки.
У кого-нибудь получилось присвоить кнопке BitBtn собственную картинку(и)?

Честно говоря смотрел-смотрел, но пока не разобрался.
Но вот вопрос: а в каком виде вы себе представляете загрузку картинок? т.е. откуда картинки могут взяться?
Я вижу варианты:
- таскать с собой (рядом со скриптом) файлы картинок (bmp)
- в коде скрипта как-то "кодировать" ("бинарно") кортинки.
Первое не очень удобно, второе как-то громоздко быть может. Или есть другие варианты на ваш взгляд, которые я не углядываю?