Автор | Сообщение |
|
| |
Пост N: 4905
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.06.15 10:51. Заголовок: Вопросы новичка [MiniGUI]
MAIN окно не получило фокус ввода при запуске , почему ? Пример самодостаточный. #include "minigui.ch" REQUEST HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866, HB_LANG_RUWIN REQUEST HB_LANG_RUWIN REQUEST HB_LANG_RU866 Func Main() DEFINE WINDOW Form_0 AT 321 , 491 WIDTH 558 HEIGHT 175 TITLE "Почему окно не в фокусе при запуске ?" ; MAIN NOSIZE NOSYSMENU TOPMOST ON INIT {|| MdiMain()} DEFINE BUTTONex Button_1 ROW 32 COL 424 WIDTH 110 HEIGHT 28 CAPTION "Вход" ACTION { || ret:=.t., DoMethod("Form_0","Hide") , DoMethod("Form_1","show") } FONTBOLD .t. END BUTTONex DEFINE BUTTONex Button_2 ROW 71 COL 424 CAPTION "Отмена" ACTION { || DoMethod("Form_0","Release") } WIDTH 110 HEIGHT 28 FONTBOLD .t. END BUTTONex END WINDOW Form_0.Activate Form_0.Setfocus return nil ***************************** Func Mdimain() DEFINE WINDOW Form_1 at 0,0 ; WIDTH 200 HEIGHT 300 TITLE "MDI windows" ; MDI ; NOSHOW END WINDOW Form_1.Center Form_1.Activate Form_0.Release return
|
|
|
Ответов - 289
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
|
| |
Пост N: 109
Зарегистрирован: 05.11.05
|
|
Отправлено: 17.05.17 14:08. Заголовок: Петр пишет: пользуе..
Петр пишет: цитата: | пользуетесь ли вы встроенной в MiniGUI поддержкой работы с несколькими мониторами |
| А я ничего про нее не знаю. Где посмотреть можно описание или примеры? Или какие команды смотреть?
|
|
|
|
| постоянный участник
|
Пост N: 1471
Зарегистрирован: 09.10.06
|
|
Отправлено: 17.05.17 14:23. Заголовок: MiniGui\SAMPLES&..
MiniGui\SAMPLES\BASIC\Multi_Monitor Процедуру ShowTxt можете изменить так PROCEDURE ShowTxt( cText ) DEFINE WINDOW Form_1 ; CLIENTAREA 800, 600 ; TITLE 'Show output' ; MODAL ; ON INIT WindowToMonitor( ThisWindow.Handle, EnumDisplayMonitors()[1/*2*/][1] ) Что ж вы ChangeLog.txt не читаете
|
|
|
|
| |
Пост N: 110
Зарегистрирован: 05.11.05
|
|
Отправлено: 17.05.17 19:17. Заголовок: А я в пикселях задав..
А я в пикселях задавал расположение. Если монитор 2-й, а у первого ширина 1280 пикселей, то начинаю окно с 1281.
|
|
|
|
| |
Пост N: 111
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.05.17 17:08. Заголовок: Петр пишет: Дополни..
Петр пишет: Спасибо! Не знаю, то ли это, что в итоге потребуется, но очень здорово!
|
|
|
|
| |
Пост N: 112
Зарегистрирован: 05.11.05
|
|
Отправлено: 10.07.17 15:23. Заголовок: Опять у меня вопрос,..
Опять у меня вопрос, наверняка простой, но никак не найду способ. Высвечиваю переменную на экране: @ 100,10 LABEL LABEL_D1 VALUE var1 потом она меняется, как ее на экране перерисовать? Окно закрывать и делать снова? Наверняка есть более простой способ.
|
|
|
|
| |
Пост N: 6492
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.07.17 15:34. Заголовок: какой то рефреш надо..
какой то рефреш надо сделать ему ) типа Setproperty("SPR_REC","Message4","value",alltrim((o1:cAlias)->naim) )
|
|
|
|
| постоянный участник
|
Пост N: 1578
Зарегистрирован: 17.02.12
|
|
Отправлено: 10.07.17 16:13. Заголовок: rvu пишет потом она ..
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
|
|
|
|
| |
Пост N: 46
Зарегистрирован: 18.06.15
|
|
Отправлено: 11.07.17 11:56. Заголовок: Мужики, а так разве ..
Мужики, а так разве не проще - FORM_MAIN.LABEL_D1.VALUE := var2 где FORM_MAIN - имя текущего окна, var2 - новая переменная.
|
|
|
|
| постоянный участник
|
Пост N: 1579
Зарегистрирован: 17.02.12
|
|
Отправлено: 11.07.17 14:19. Заголовок: Alex_Cher пишет а та..
Alex_Cher пишет Вы привязались к конкретному названию окна, если окон много и все они содержат (в той или иной степени) одни и те же контролы, то проще This.LABEL_D1.Value := xValue, но иногда препроцессор, что то не понимает и приходится писать функциями, поэтому чтобы не заморачиваться, сразу пишешь функции. А при повторяющихся действиях собираешь в общую ф-ию и передаешь в нее имя окна. Все по ситуации.
|
|
|
|
| |
Пост N: 6536
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.08.17 13:32. Заголовок: Есть таймер DEFINE T..
Есть таймер DEFINE TIMER Timer_1 OF Form1 INTERVAL 100 ACTION TimerProc() Как на лету сменить INTERVAL со 100 на 300 скажем ?
|
|
|
|
| постоянный участник
|
Пост N: 5482
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.08.17 16:32. Заголовок: Попробуй через ..
Попробуй через SetProperty("Form1", "Timer_1", "Interval", 300 )
|
|
|
|
|
| |
Пост N: 6537
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.08.17 16:43. Заголовок: Andrey Не работает ..
Andrey Не работает , уже чекал так Можно конечно убить таймер и снова создать но с новым Interval
|
|
|
|
| постоянный участник
|
Пост N: 1547
Зарегистрирован: 09.10.06
|
|
Отправлено: 26.08.17 17:37. Заголовок: Dima пишет: Есть т..
Dima пишет: цитата: | Есть таймер DEFINE TIMER Timer_1 OF Form1 INTERVAL 100 ACTION TimerProc() Как на лету сменить INTERVAL со 100 на 300 скажем ? |
| Form1.Timer_1.Value := 300 MiniGUI "убьет" таймер и создат новый сама
|
|
|
|
| |
Пост N: 6539
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.08.17 17:55. Заголовок: Петр пишет: Form1.T..
Петр пишет: цитата: | Form1.Timer_1.Value := 300 |
| Упало на _SETVALUE PS MiniGUI Extended Edition 16.10
|
|
|
|
| moderator
|
Пост N: 1174
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.08.17 10:14. Заголовок: Dima пишет: Упало н..
Dima пишет: Это не так Проверил на простом примере ниже #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
|
|
|
|
| постоянный участник
|
Пост N: 5486
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.08.17 10:26. Заголовок: Dima пишет: PS Mini..
Dima пишет: цитата: | PS MiniGUI Extended Edition 16.10 |
| Наверное у него старая версия...
|
|
|
|
| |
Пост N: 6542
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.08.17 13:16. Заголовок: Andrey пишет: Навер..
Andrey пишет: цитата: | Наверное у него старая версия... |
| Так и есть.
|
|
|
|
| |
Пост N: 127
Зарегистрирован: 05.11.05
|
|
Отправлено: 29.01.18 13:04. Заголовок: Не найду как сделать..
Не найду как сделать новое окно без иконки. У меня из главного окна вызываются еще окна, к каждому появляется иконка. Мне они не нужны, нужна только иконка главного окна.
|
|
|
|
| |
Пост N: 6708
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.01.18 13:15. Заголовок: rvu NOSYSMENU при о..
rvu NOSYSMENU при объявлении окна
|
|
|
|
| |
Пост N: 128
Зарегистрирован: 05.11.05
|
|
Отправлено: 29.01.18 13:23. Заголовок: Dima пишет: NOSYSME..
Dima пишет: цитата: | NOSYSMENU при объявлении окна |
| Почему-то все равно значок появляется.
|
|
|
Ответов - 289
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|