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 
ПрофильЦитата Ответить
Ответов - 160 , стр: 1 2 3 4 5 6 7 8 All [только новые]





Пост N: 99
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 27.04.17 17:23. Заголовок: Dima пишет: смирись..


Dima пишет:

 цитата:
смирись и копай



Копаю, копаю...

Никак не найду, как меняются цвета данных в активном поле в DEFINE TEXTBOX
Там белый на синем по умолчанию видимо?



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




Пост N: 6390
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.04.17 17:28. Заголовок: есть справка вообще ..


есть справка вообще то и примеры
вот навскидку C:\MiniGUI\SAMPLES\Advanced\ComboSearchGrid\combosearchgrid.prg


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



Пост N: 100
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.04.17 10:15. Заголовок: Dima пишет: есть сп..


Dima пишет:

 цитата:
есть справка вообще то и примеры



В справке ничего не нашел. А про примеры, мы точно об одном и том же?
Я не про BACKCOLOR и FONTCOLOR в TEXTBOX.

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




Пост N: 6391
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.04.17 11:23. Заголовок: rvu Про это речь ? ..


rvu
Про это речь ?
DEFINE TEXTBOX &( textboxname )
ROW nR
Col nC
WIDTH nW
HEIGHT 24
ONGOTFOCUS SetProperty( ThisWindow.Name, textboxname, "FontColor", RED )
ONLOSTFOCUS SetProperty( ThisWindow.Name, textboxname, "FontColor", GRAY )
END TEXTBOX


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


Пост N: 1099
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.04.17 11:29. Заголовок: Dima пишет: ONGOTFO..


Dima пишет:

 цитата:
ONGOTFOCUS SetProperty( ThisWindow.Name, textboxname, "FontColor", RED )
ONLOSTFOCUS SetProperty( ThisWindow.Name, textboxname, "FontColor", GRAY )


Все верно, но можно проще если вместо TEXTBOX использовать GETBOX как более "продвинутый" контрол ввода.
Там эти цвета встроены по умолчанию
 
[ BACKCOLOR <anBackColor> ] // * or <anBackColor, anReadOnlyBackColor, anAciveBackColor>


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



Пост N: 1424
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.04.17 12:05. Заголовок: Haz пишет // * or &..


Haz пишет
 цитата:
[ BACKCOLOR <anBackColor> ] // * or <anBackColor, anReadOnlyBackColor, anAciveBackColor>


или новыми командами
SET GETBOX FOCUS BACKCOLOR [TO <backcolor>]
SET GETBOX FOCUS FONTCOLOR TO <fontcolor>
тогда anAciveBackColor не используем


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



Пост N: 101
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.04.17 12:12. Заголовок: Dima пишет: Про это..


Dima пишет:

 цитата:
Про это речь ?



Понятно. Мы о разном.

Это работает, если на поле мышкой кликать. А если по полям бегать клавишами Tab или Enter, то активное поле имеет цвет белый на синем. И как эти цвета менять пока не нашел.

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



Пост N: 102
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.04.17 12:30. Заголовок: Haz пишет: GETBOX ..


Haz пишет:

 цитата:
GETBOX



Какой там курсор страшный. А можно его размерами управлять? И можно ли его вообще убрать? Наверное, можно. Пошел искать...

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



Пост N: 104
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 05.05.17 10:19. Заголовок: Посмотрел образцы ку..


Посмотрел образцы курсоров (мышиных). А можно его вообще убрать простым способом? Чтобы при вождении мышью вообще ничего не было видно (в смысле, курсор).

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1452
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 05.05.17 11:24. Заголовок: rvu пишет: А можно ..


rvu пишет:

 цитата:
А можно его вообще убрать простым способом?


Добавить в событие ON MOUSEHOVER | ON MOUSEMOVE (для control/window соответственно) вызов FileCursor('')

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



Пост N: 105
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 10.05.17 18:19. Заголовок: Петр пишет: ON MOUS..


Петр пишет:

 цитата:
ON MOUSEMOVE



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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1457
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 10.05.17 19:32. Заголовок: rvu пишет: Если ку..


rvu пишет:

 цитата:
Если курсор на программе стоит, то это срабатывает. А если он после открытия откуда-то пришел, то вполне себе бегает.



И что?

Читайте документацию WinAPI (в данном случае SetCursor):
FileCursor('') - это эквивалент SetCursor( NULL ).
И дальше уже сами определяйтесь, возможно придется обрабатывать события ON GOTFOCUS / ON LOSTFOCUS, откуда я знаю, что и откуда к вам приходит.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1458
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 10.05.17 19:40. Заголовок: rvu пишет: А можно..


rvu пишет:

 цитата:
А можно его вообще убрать простым способом? Чтобы при вождении мышью вообще ничего не было видно (в смысле, курсор).


Кстати такое поведение не является типичным для програм Windows, сответственно никакой волшебной функции по гашению курсора в MiniGUI нет. И, надеюсь, не будет.

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



Пост N: 106
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 12.05.17 15:27. Заголовок: Петр пишет: возмож..


Петр пишет:

 цитата:
возможно придется обрабатывать события ON GOTFOCUS / ON LOSTFOCUS




Наверное. Но вообще, спасибо, за подробное объяснение!

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



Пост N: 1439
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.05.17 17:40. Заголовок: rvu пишет А можно ег..


rvu пишет
 цитата:
А можно его вообще убрать простым способом? Чтобы при вождении мышью вообще ничего не было видно (в смысле, курсор).


Возможно речь о GetBox-ах в состоянии ReadOnly и перевод в рабочее состояние на время ввода ?

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



Пост N: 107
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 16.05.17 14:06. Заголовок: Нет, тут идея другая..


Нет, тут идея другая была. Захотели подключить второй монитор к компьютеру, как информационное табло для клиентов компании. Типа, мы что-нибудь наберем и пусть оно на втором мониторе отображается, пока не поменяем. Идея любопытная, но я имею опыт работы с несколькими мониторами, постоянно курсор на другой монитор убегает. Ну и что он будет бегать перед клиентами, надо бы его как минимум из видимости убрать.

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



Пост N: 1444
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.05.17 16:22. Заголовок: rvu пишет Ну и что о..


rvu пишет
 цитата:
Ну и что он будет бегать перед клиентами, надо бы его как минимум из видимости убрать.


Так может разделить окна:
1 - для основного монитора с курсором
2 - для др. мониторов с Getbox ReadOnly
Ввели в 1-м данные, отобразили во 2-м.
Если это возможно разделить, не имел счастья раб. с неск. мониторами

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



Пост N: 108
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 16.05.17 16:43. Заголовок: Курсор-то по всему р..


Курсор-то по всему рабочему столу ходит. Я не то что окна, я программы разделил, одна для ввода, другая для показа.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1468
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 16.05.17 22:16. Заголовок: rvu пишет: Курсор-т..


rvu пишет:

 цитата:
Курсор-то по всему рабочему столу ходит.



Ну тогда вам сюда


Дополните c_cursor.c


 цитата:

#include "hbapiitm.h"

extern HB_EXPORT BOOL Array2Rect( PHB_ITEM aRect, RECT * rc );
extern HB_EXPORT PHB_ITEM Rect2Array( RECT * rc );

HB_FUNC( CLIPCURSOR )
{
RECT rc;

if( Array2Rect( hb_param( 1, HB_IT_ANY ), &rc ) )
hb_retl( ClipCursor( & rc ) ? HB_TRUE : HB_FALSE );
else
hb_retl( ClipCursor( NULL ) ? HB_TRUE : HB_FALSE );
}

HB_FUNC( GETCLIPCURSOR )
{
RECT rc;

hb_retl( GetClipCursor( &rc ) ? HB_TRUE : HB_FALSE );

hb_itemParamStoreRelease( 1, Rect2Array( &rc ) );
}


и перекомпилируйте библиотеку.

Пример использования

 цитата:

#include "minigui.ch"

Function Main

local oldRect := {0,0,0,0}
local newRect := {0,0,0,0}

DEFINE WINDOW Win_1 ;
CLIENTAREA 400, 400 ;
TITLE 'Hello World!' ;
WINDOWTYPE MAIN ;
ON INIT ;
( ;
GetClipCursor( @oldRect ), ;
GetWindowRect( ThisWindow.Handle, @newRect), ;
ClipCursor( @newRect ) ;
) ;
ON RELEASE ClipCursor( @oldRect )

END WINDOW

Win_1.Center
Win_1.Activate

Return Nil





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1469
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 16.05.17 22:32. Заголовок: rvu пишет: Захотели..


rvu пишет:

 цитата:
Захотели подключить второй монитор к компьютеру, как информационное табло для клиентов компании.


И еще к вам один вопрос - пользуетесь ли вы встроенной в MiniGUI поддержкой работы с несколькими мониторами, насколько она удобна или неудобна?


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

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