On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение
администратор




Пост 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



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]


администратор




Пост N: 4998
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.06.15 17:41. Заголовок: gfilatov2002 Спасиб..


gfilatov2002
Спасибо ! Все работает !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5000
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.06.15 21:38. Заголовок: gfilatov2002 Не ухо..


gfilatov2002
Не уходя далеко от вопроса о StatusBar , хотел узнать в том же ключе.
В справке пишется что бы изменить высоту этого контрола юзать надо
SetProperty ( <ParentWindowName>,<ControlName>, Height , nHeight )
Так и сделал ......не работает в рантайм .
Хотел было добраться к остальным параметрам конкретного ITEM , через
SetProperty с 5-ю параметрами по аналогии с шириной итема (SetProperty( cFormName, cControlName,"Width",nitem,nWidth )) ,
не получилось.
Добраться к некоторым из них удалось только через
_HMG_aControlCaption
_HMG_aControlBkColor
_HMG_aControlSpacing
_HMG_aControlFontColor
к шрифту добраться не получилось через _HMG_aControlFontAttributes
Не знаю фича это или косяк...

Спасибо за работу !!!



Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 767
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.06.15 22:08. Заголовок: Dima пишет: В справ..


Dima пишет:

 цитата:
В справке пишется что бы изменить высоту этого контрола


Мы не можем установить высоту StatusBar, т.к. она устанавливается автоматически в зависимости от выбранного для StatusBar шрифта.

Dima пишет:

 цитата:
Хотел было добраться к остальным параметрам конкретного ITEM


Для установки свойства Caption конкретного ITEM надо использовать
SetProperty( cFormName, cControlName,"Item",nitem, cCaption )
Для установки новой иконки конкретного ITEM надо использовать
SetProperty( cFormName, cControlName,"Icon",nitem,"iconname" )
Для изменения действия по клику мыши можно использовать следующую команду

 цитата:
#command DEFINE STATUSITEM <n> ;
OF <Form> ;
ACTION <action> ;
=> ;
_SetStatusItemAction( <n>, <{action}>, GetFormHandle(<"Form">) )


Изменение остальных свойств в рантайм НЕ предусмотрено, они назначаются при определении этого ITEM

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5001
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.06.15 22:45. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Мы не можем установить высоту StatusBar, т.к. она устанавливается автоматически в зависимости от выбранного для StatusBar шрифта.


Точно , мой косяк....виноват.
Про остальное понял. Спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5002
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.06.15 22:58. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Изменение остальных свойств в рантайм НЕ предусмотрено, они назначаются при определении этого ITEM


У меня получилось , исходник могу выложить. Имею в виду цвет шрифта , фон для итема , align .

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 768
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.06.15 23:09. Заголовок: Dima пишет: исходни..


Dima пишет:

 цитата:
исходник могу выложить


Конечно, выложи
Любые доработки в минигуи приветствуются

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5003
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.07.15 09:28. Заголовок: gfilatov2002 Вот и ..


gfilatov2002
Вот и пример , Америку я конечно не открыл , но возможно кому то будет полезно.
Скрытый текст



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 34
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 09.02.17 15:21. Заголовок: SergKis пишет: FUN..


SergKis пишет:

 цитата:
FUNCTION GetWndMDIChildAll() // Получить массивом все имена доступных дочерних окон LOCAL i, k, aNames:={} k := Len( _HMG_aFormNames ) FOR i := 1 TO k IF _HMG_aFormType=='Y' AAdd(aNames, _HMG_aFormNames ) ENDIF NEXT RETURN aNames



SergKis - функция не работает Выдает ошибку - "Error BASE/1070 Argument error: =="
может чего не хватет ..?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 35
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 09.02.17 15:22. Заголовок: SergKis пишет: FUN..


SergKis пишет:

 цитата:
FUNCTION GetWndMDIChildAll() // Получить массивом все имена доступных дочерних окон LOCAL i, k, aNames:={} k := Len( _HMG_aFormNames ) FOR i := 1 TO k IF _HMG_aFormType=='Y' AAdd(aNames, _HMG_aFormNames ) ENDIF NEXT RETURN aNames



SergKis - функция не работает Выдает ошибку - "Error BASE/1070 Argument error: =="
может чего не хватет ..?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1359
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.02.17 19:44. Заголовок: Alex_Cher пишет може..


Alex_Cher пишет
 цитата:
может чего не хватет ..?


такой текст
 
FUNCTION GetWndMDIChildAll() // Получить массивом все имена доступных дочерних окон
LOCAL i, k, aNames:={}

k := Len( _HMG_aFormNames )

FOR i := 1 TO k
IF _HMG_aFormType[ i ]=='Y'
AAdd(aNames, _HMG_aFormNames[ i ] )
ENDIF
NEXT

RETURN aNames


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 36
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 10.02.17 08:31. Заголовок: SergKis пишет: тако..


SergKis пишет:

 цитата:
такой текст



SergKis - посоветуй, я наверное не там капаю, задача - при переходе с дочернего окна на родительское дочернее
должно закрываться само. Функция GetWndMDIChildAll() при любом раскладе дает пустой массив.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1360
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.17 12:34. Заголовок: Alex_Cher пишет посо..


Alex_Cher пишет
 цитата:
посоветуй


1. GetWndMDIChildAll() для MDI MAIN окна
2. В вашем случае, думаю, надо в родительском окне сделать
 
DEFINE WINDOW WndOwner ...
ON GOTFOCUS OwnerGotFocus()
...

DEFINE WINDOW WndChild_1 ...

Func OwnerGotFocus()
If IsWindowDefined(WndChild_1)
WndChild_1.Release
EndIf
Return Nil


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 37
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 11.02.17 08:05. Заголовок: SergKis пишет: В ва..


SergKis пишет:

 цитата:
В вашем случае, думаю,



SergKis - еще раз огромное Вам спасибо, все оказывается так просто ...

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 96
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 24.04.17 09:07. Заголовок: Добрался до Минигуи,..


Добрался до Минигуи, всё очень круто, особенно примеры, большое спасибо за них!

Но вот такая ситуация: есть поля для ввода данных, переключение между ними по умолчанию клавишей Tab. Хочу сделать Enter. В консоли все было просто: set key to... и процедура с keyboard(). Предполагаю, что и здесь должно быть как-то не сложно, но пока не нашел ничего очевидного.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1090
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.04.17 09:59. Заголовок: Благодарю за добрые ..


Благодарю за добрые слова в адрес библиотеки!

rvu пишет:

 цитата:
переключение между ними по умолчанию клавишей Tab. Хочу сделать Enter


Это вохможно сделать, если добавить следующую команду в начало программы:

 цитата:
SET NAVIGATION EXTENDED


Кстати, полный список новых команд, добавленных в Минигуи, можно см. в файле Doc\Commands.txt

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 97
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 24.04.17 11:41. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
SET NAVIGATION EXTENDED



В самом деле очень просто. Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 98
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 24.04.17 18:03. Заголовок: Интересно, а можно у..


Интересно, а можно убрать самую верхнюю строчку? В которой пишется TITLE, где крестик для закрытия программы.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 352
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 24.04.17 21:19. Заголовок: rvu Изучайте классы ..


rvu Изучайте классы : свойства и методы . Есть MiniGUI.chm - там всё описано достаточно неплохо
для Вашего вопроса :
DEFINE WINDOW <WindowName>
[ AT <nRow> ,<nCol> ]
[ ROW <nRow> ]
[ COL <nCol> ]
[ WIDTH <nWindth> ]
[ HEIGHT <nHeight> ]
[ CLIENTAREA <nClientWidth> , <nClientHeight> ]
[ VIRTUAL WIDTH <nVirtualWindth> ]
[ VIRTUAL HEIGHT <nVirtualHeight> ]
[ TITLE <cTitle> ]


[ NOMINIMIZE ] - не допускать сворачивание окна (соответственно и значёк этой команды недоступен в шапке )
[ NOMAXIMIZE ] - не допускать разворачивание во весь экран
[ NOSIZE ] - не допускать изменение размера
[ NOSYSMENU ] - не показывать системное меню окна
[ NOCAPTION ] - окно без заголовка ( просто рамка)





Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6386
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.04.17 21:29. Заголовок: rvu Изучать придетс..


rvu
Изучать придется много , так что смирись и копай , абы как не получится и Softlog86 прав !

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 353
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 25.04.17 19:53. Заголовок: Сам до сих пор регул..


Сам до сих пор регулярно "туплю" ..... Век живи - век учись .
Чем мне и нравится MiniGui - очень богатый инструментарий !

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 681
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет