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




Пост N: 5760
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.06.16 21:20. Заголовок: [?] Простой вопрос


Есть главное окно программы , в нем живут несколько CHILD окон (не MDI).
В процедуре ON INTERACTIVECLOSE главного окна есть блок кода , если он вернет
TRUE тогда закроется главное окно и программа завершится.
А вот если блок кода вернул FALSE , то как вернуть фокус ввода на окно на котором
был фокус ввода до нажатия крестика главного окна ?

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


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




Пост N: 5831
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.06.16 11:20. Заголовок: SergKis пишет: там..


SergKis пишет:

 цитата:

там не активное основное окно, поверх лежит модал окно NOSIZE NOMINIMIZE NOMAXMIZE


Все верно и оно затемнено (основное) , вот так и мне надо бы.
Или как тут http://windowstips.ru/notes/4507 но затемнить нужно конкретное окно

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




Пост N: 1059
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.06.16 11:36. Заголовок: Dima для начала кла..


Dima
для начала клади модал окно поверх, отладив, занимайся сменой цветов в основном

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




Пост N: 5832
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.06.16 11:48. Заголовок: SergKis пишет: для ..


SergKis пишет:

 цитата:
для начала клади модал окно поверх


положил , но окно (не главное) из которого его вызвал хотел затемнить , вот и все.
могу сделать его прозрачным , но это не то , нужно затемнение.

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




Пост N: 1060
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.06.16 11:58. Заголовок: Dima пишет нужно зат..


Dima пишет
 цитата:
нужно затемнение.


таких алгоритмов в минигуи не видел

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




Пост N: 5833
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.06.16 12:25. Заголовок: SergKis пишет: аких..


SergKis пишет:

 цитата:
аких алгоритмов в минигуи не видел


есть не что похожее
C:\MiniGUI\SAMPLES\Advanced\BosTaurus\Demo5
При запуске сразу идем в меню и давим любой пункт , вылазит MsgInfo а окно за ним становится серым.
Попробовал переделать Grayness_effect_start и Grayness_effect_end подавая на вход
имя своего окна , не пашет однако.

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




Пост N: 1023
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.06.16 12:55. Заголовок: Это не то. Пример за..


Это не то. Пример затемняет только фон окна. все контролы на окне остаются как были.
Попробуй пробежаться по свойсьву BackColor окна и ВСЕХ его контролов.

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




Пост N: 957
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.06.16 14:08. Заголовок: Haz пишет: Попробуй..


Haz пишет:

 цитата:
Попробуй пробежаться по свойству BackColor окна и ВСЕХ его контролов.


Эти две фукции могут в этом деле помочь

/******************************************************************************/ 
Procedure ChangeAllBackcolor
/******************************************************************************/
LOCAL i, nFormCount := Len( _HMG_aFormNames )
LOCAL nI, cCtrlName, cFormName
LOCAL aCtrls

FOR i := 1 TO nFormCount
cFormName := _HMG_aFormNames [ i ]
IF _IsWindowDefined ( cFormName )
SetProperty( cFormName, "BACKCOLOR", GRAY )
aCtrls := _GetArrayOfAllControlsForForm( cFormName )
FOR nI := 1 TO Len( aCtrls )
cCtrlName := aCTrls[ nI ]
SetProperty( cFormName, cCtrlName, "BACKCOLOR", GRAY )
SetProperty( cFormName, cCtrlName, "FONTCOLOR", WHITE )
NEXT
ENDIF
NEXT

Return


/******************************************************************************/
FUNCTION _GetArrayOfAllControlsForForm ( cFormName )
/******************************************************************************/
LOCAL nFormHandle, i, nControlCount, aRetVal := {}, x

nFormHandle := GetFormHandle ( cFormName )
nControlCount := Len ( _HMG_aControlHandles )
FOR i := 1 TO nControlCount
IF _HMG_aControlParentHandles[ i ] == nFormHandle
IF ValType( _HMG_aControlHandles[ i ] ) == 'N'
IF ! Empty( _HMG_aControlNames[ i ] )
IF AScan( aRetVal, _HMG_aControlNames[ i ] ) == 0
AAdd( aRetVal, _HMG_aControlNames[ i ] )
ENDIF
ENDIF
ELSEIF ValType( _HMG_aControlHandles[i ] ) == 'A'
FOR x := 1 TO Len ( _HMG_aControlHandles[ i ] )
IF !Empty( _HMG_aControlNames[ i ] )
IF AScan( aRetVal, _HMG_aControlNames[ i ] ) == 0
AAdd( aRetVal, _HMG_aControlNames[ i ] )
ENDIF
ENDIF
NEXT x
ENDIF
ENDIF
NEXT i

RETURN ASort( aRetVal )


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




Пост N: 1061
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.06.16 14:24. Заголовок: Haz пишет Попробуй п..


Haz пишет
 цитата:
Попробуй пробежаться по свойсьву BackColor окна и ВСЕХ его контролов.


тогда контролам и disable добавить можо

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




Пост N: 1024
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.06.16 14:28. Заголовок: SergKis пишет: тогд..


SergKis пишет:

 цитата:
тогда контролам и disable добавить можо


да, вполне логично это сделать

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




Пост N: 4987
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.06.16 18:02. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Эти две фукции могут в этом деле помочь



Не совсем понятно....
Имею кнопку на форме, при нажатии должны: затемнить текущая форма + вызов новой формы, после закрытия новой формы нужно разтемнить текущую форму.

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




Пост N: 1062
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.06.16 18:57. Заголовок: Andrey пишет Не совс..


Andrey пишет
 цитата:
Не совсем понятно....


добавь
local b, f, aClrOld := {}
...
cCtrlName := aCTrls[ nI ]
b := GetProperty( cFormName, cCtrlName, "BACKCOLOR" )
f := GetProperty( cFormName, cCtrlName, "FONTCOLOR" )
aAdd(aClrOld, {cFormName, cCtrlName, b, f})
SetProperty( cFormName, cCtrlName, "BACKCOLOR", GRAY )
SetProperty( cFormName, cCtrlName, "FONTCOLOR", WHITE )
...
Return aClrOld
на вызове новой формы или на нажатии темнишь и получаешь старые значения
на release новой возвращаешь старые значения на форму - разтемняешь


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




Пост N: 4988
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.06.16 20:51. Заголовок: У Дмитрия красивое з..


У Дмитрия красивое затенение окна.

Примерно так хочется - кнопка BUTTONEX Button_Test с обработкой:
ACTION {|| aObj := ChangeAllBackcolor(ThisWindow.Name) ,;
MsgDebug("Test Change All Backcolor Form") ,;
ChangeAllBackRestore(aObj,ThisWindow.Name) }


Фон менять нужно у всех объектов, включая TsBrowse ....
С картинкой только это не выйдет, я имею ввиду PNG со свойством TRANSPARENT BACKGROUNDCOLOR aBackColor ....


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




Пост N: 5834
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 02.07.16 12:43. Заголовок: При нажатии кнопки н..


При нажатии кнопки на форме , каким образом запомнить фон цвета не активного курсора бровса ,
сменить его и затем снова восстановить.
Объясню зачем.
Кнопка на форме скипает бровс.
У нее такая процедура ACTION {|| tmpbrw:GoDown(),tmpbrw:SetFocus() }
При нажатии на нее бровс теряет фокус ввода и затем снова его получает , в результате
имеем на бровсе "подмигивание" курсора.

Попробовал в кнопке
ON GOTFOCUS {|| tmpbrw:setcolor({12},{Rgb( 198, 226, 255 ), Rgb( 159, 207, 255 )})}
Но тогда при наведении на кнопку , дергается весь бровс

Проехали

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


Пост N: 596
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 07.07.16 09:49. Заголовок: У разных языков раз..


У разных языков разные реализации.
У Делфи у формы есть свойство AlphaBlend (и параметр) - устанавливает прозрачность.
А дальше все просто - надо затенить основную форму - поверх ее (а можно и на весь Экран) открываешь вторую с нужной прозрачность и оттенком.
На Основной ничего делать с контролами не надо.Кстати, так и Локеры пишутся

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




Пост N: 1026
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.07.16 23:12. Заголовок: Влад, идея понятна. ..


Влад, идея понятна. Думаю будет работать.
Спасибо

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




Пост N: 5851
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.07.16 08:11. Заголовок: Как узнать что кнопк..


Как узнать что кнопка имеет фокус ввода ?

PS
Проехали сделал через переменную

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




Пост N: 1067
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.07.16 15:02. Заголовок: Dima пишет:Как узнат..


Dima пишет:
 цитата:
Как узнать что кнопка имеет фокус ввода ?


 
IF ( nI := ascan(_HMG_aControlHandle, GetFocus()) ) > 0 // фокус на контроле МиниГуи
IF _HMG_aControlType [ nI ] == "BUTTON" .and. _HMG_aControlNames [ nI ] == ButtonName // нужный button (или другой контрол) нашли и он в фокусе
...
ENDIF
ENDIF


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




Пост N: 5852
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.07.16 15:32. Заголовок: SergKis Спасибо !..


SergKis
Спасибо
Это я так понял для всех окон а если для конкретного окна , то как ?

И еще вопрос: как узнать установлен ли конкретный шрифт в системе ?

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




Пост N: 1068
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.07.16 17:10. Заголовок: Dima GetFocus() дае..


Dima
GetFocus() дает handle контрола в фокусе (окно тоже)
 
ParentFormHandle :=_HMG_aControlParenthandles [ nI ]
If ( nK := ascan(_HMG_aFormHandles, ParentFormHandle) ) > 0
cFormName := _HMG_aFormNames[ nK ]
EndIf


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




Пост N: 1069
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.07.16 17:15. Заголовок: Dima пишет как узна..


Dima пишет
 цитата:
как узнать установлен ли конкретный шрифт в системе ?


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

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

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