rvu: Петр пишет: пользуетесь ли вы встроенной в MiniGUI поддержкой работы с несколькими мониторами А я ничего про нее не знаю. Где посмотреть можно описание или примеры? Или какие команды смотреть?
Петр: MiniGui\SAMPLES\BASIC\Multi_Monitor Процедуру ShowTxt можете изменить так [pre2]PROCEDURE ShowTxt( cText ) DEFINE WINDOW Form_1 ; CLIENTAREA 800, 600 ; TITLE 'Show output' ; MODAL ; ON INIT WindowToMonitor( ThisWindow.Handle, EnumDisplayMonitors()[1/*2*/][1] ) [/pre2] Что ж вы ChangeLog.txt не читаете
rvu: А я в пикселях задавал расположение. Если монитор 2-й, а у первого ширина 1280 пикселей, то начинаю окно с 1281.
rvu: Петр пишет: Дополните c_cursor.c Спасибо! Не знаю, то ли это, что в итоге потребуется, но очень здорово!
rvu: Опять у меня вопрос, наверняка простой, но никак не найду способ. Высвечиваю переменную на экране: @ 100,10 LABEL LABEL_D1 VALUE var1 потом она меняется, как ее на экране перерисовать? Окно закрывать и делать снова? Наверняка есть более простой способ.
Dima: какой то рефреш надо сделать ему ) типа Setproperty("SPR_REC","Message4","value",alltrim((o1:cAlias)->naim) )
SergKis: rvu пишет потом она меняется, как ее на экране перерисовать? По мне, лучше сразу разделять, генерация формы (контролы на оке) и заполнение их значениями, т.е. @ 100,10 LABEL LABEL_D1 VALUE "" WIDTH nWidth @ 100+This.LABEL_D1.Height+2 LABEL LABEL_D2 VALUE "" WIDTH nWidth ... FUNC Refr( cForm ) Default cForm := ThisWindow.Name _SetValue( "LABEL_D1", cForm, cValToChar((o1->cAlias)->NAIM) ) или _SetValue( "LABEL_D2", cForm, cValToChar((o1->cAlias)->EDIZM) ) или SetProperty( cForm, "LABEL_D1", "Value", cValToChar((o1->cAlias)->NAIM) ) SetProperty( cForm, "LABEL_D2", "Value", cValToChar((o1->cAlias)->EDIZM) ) и так по всем контролам формы, тогда в любом нужном месте вызываете Refr(cForm) RETURN Nil
Alex_Cher: Мужики, а так разве не проще - FORM_MAIN.LABEL_D1.VALUE := var2 где FORM_MAIN - имя текущего окна, var2 - новая переменная.
SergKis: Alex_Cher пишет а так разве не проще Вы привязались к конкретному названию окна, если окон много и все они содержат (в той или иной степени) одни и те же контролы, то проще This.LABEL_D1.Value := xValue, но иногда препроцессор, что то не понимает и приходится писать функциями, поэтому чтобы не заморачиваться, сразу пишешь функции. А при повторяющихся действиях собираешь в общую ф-ию и передаешь в нее имя окна. Все по ситуации.
Dima: Есть таймер DEFINE TIMER Timer_1 OF Form1 INTERVAL 100 ACTION TimerProc() Как на лету сменить INTERVAL со 100 на 300 скажем ?
Andrey: Попробуй через [pre2] SetProperty("Form1", "Timer_1", "Interval", 300 )[/pre2]
Dima: Andrey Не работает , уже чекал так Можно конечно убить таймер и снова создать но с новым Interval
Петр: Dima пишет: Есть таймер DEFINE TIMER Timer_1 OF Form1 INTERVAL 100 ACTION TimerProc() Как на лету сменить INTERVAL со 100 на 300 скажем ? Form1.Timer_1.Value := 300 MiniGUI "убьет" таймер и создат новый сама
Dima: Петр пишет: Form1.Timer_1.Value := 300 Упало на _SETVALUE PS MiniGUI Extended Edition 16.10
gfilatov2002: Dima пишет: Упало на _SETVALUE Это не так Проверил на простом примере ниже [pre2]#include "minigui.ch" Function Main DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 400 ; HEIGHT 400 ; TITLE 'Timer Test' ; MAIN @ 10,10 LABEL Label_1 DEFINE TIMER Timer_1 ; INTERVAL 1000 ; ACTION Form_1.Label_1.Value := Time() DEFINE TIMER Timer_2 ; INTERVAL 2500 ; ACTION PlayBeep() END WINDOW Form_1.Timer_1.Value := 300 Form_1.Center Form_1.Activate Return Nil [/pre2]
Andrey: Dima пишет: PS MiniGUI Extended Edition 16.10 Наверное у него старая версия...
Dima: Andrey пишет: Наверное у него старая версия... Так и есть.
rvu: Не найду как сделать новое окно без иконки. У меня из главного окна вызываются еще окна, к каждому появляется иконка. Мне они не нужны, нужна только иконка главного окна.
Dima: rvu NOSYSMENU при объявлении окна
rvu: Dima пишет: NOSYSMENU при объявлении окна Почему-то все равно значок появляется.