On-line: Andrey, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
Andrey
постоянный участник




Пост N: 1929
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)


Всем привет.
Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ?
А заодно может и исправить и добавить новые....

Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах)
Предложение Григорию:
Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ?


Пример: \MiniGUI\SAMPLES\Advanced\DisplayMode - не работает под ХР и далее....


Пример: \MiniGUI\SAMPLES\Advanced\Tsb_filter - вылетает на ХР
--------------------------------------------------------------------------------
Harbour MiniGUI Errorlog File
Harbour MiniGUI Extended Edition 2.0.1 - 2011.09.21
--------------------------------------------------------------------------------
Date: 11/15/2011 Time: 22:13:24
Error BASE/1124 Argument error: LEFT

Called from LEFT(0)
Called from SCANSOFT(195)
Called from MAIN(84)


Пример: \MiniGUI\SAMPLES\BASIC\MsgEdit - не собирается...
Z:\MiniGUI\SAMPLES\BASIC\MsgEdit>call ..\..\..\batch\compile.bat demo /L shell32
Harbour 3.1.0dev (Rev. 17042)
Copyright (c) 1999-2011, http://harbour-project.org/
Compiling 'demo.prg'...
Lines 20133, Functions/Procedures 30
Generating C source output to 'demo.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
demo.c:
Error E2141 demo.prg 993: Declaration syntax error
*** 1 errors in Compile ***

C compile error.



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


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




Пост N: 593
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.07.15 19:42. Заголовок: Dima пишет: пробну ..


Dima пишет:

 цитата:
пробну



так нарисовать в любом окне

ShowNotifyIcon( GetFormHandle('Form_1'), .T., LoadTrayIcon( GetInstance(), "MY.ICO" ), "тултип" )

Так убить ( при убиении окно Form_1 должно жить )
DeleteNotifyIcon( GetFormHandle('Form_1') )

Это сама убивалка
#pragma BEGINDUMP

#include <windows.h>
#include "hbapi.h"

#define WM_TASKBAR WM_USER + 1043

static BOOL DeleteNotifyIcon( HWND hWnd );

HB_FUNC( DELETENOTIFYICON )
{
hb_retl( ( BOOL ) DeleteNotifyIcon( ( HWND ) hb_parnl( 1 ) ) );
}

static BOOL DeleteNotifyIcon( HWND hWnd )
{
BOOL bRet;
NOTIFYICONDATA nid;

ZeroMemory( &nid, sizeof( nid ) );

nid.cbSize = sizeof( NOTIFYICONDATA );
nid.hWnd = hWnd;
nid.uID = 0;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_TASKBAR;

bRet = Shell_NotifyIcon( NIM_DELETE, &nid );

return bRet;
}

#pragma ENDDUMP

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 594
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.07.15 19:50. Заголовок: Andrey пишет: Вс..


Andrey пишет:

 цитата:
что не так



Все так но, Почитай последние сообщения

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




Пост N: 4369
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.07.15 19:57. Заголовок: Везде в примерах: MA..


Везде в примерах:
MAIN NOSHOW ;
....
NOTIFYICON 'AID_MAIN' ;
NOTIFYTOOLTIP PROGRAM ;
ON NOTIFYCLICK ????()

А мне нужен STANDART.
Как можно сделать тогда ?
Сначала сделать окно без иконки, а потом присвоить ему иконку ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 595
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.07.15 20:01. Заголовок: Andrey пишет: Как м..


Andrey пишет:

 цитата:
Как можно сделать тогда ?



Андрей , ты издеваешься ?

Все ж написано , прочитай последние 5 сообщений по твоему вопросу


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




Пост N: 4370
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.07.15 20:05. Заголовок: Haz пишет: Андрей ,..


Haz пишет:

 цитата:
Андрей , ты издеваешься ?


Да не издеваюсь, а уточняю...
Сначала сделать окно без иконки, а потом присвоить ему иконку ? Так ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 596
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.07.15 20:06. Заголовок: Andrey пишет: Да не..


Andrey пишет:

 цитата:
Да не издеваюсь, а уточняю...



я пас

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 597
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.07.15 20:08. Заголовок: Andrey пишет: Снача..


Andrey пишет:

 цитата:
Сначала сделать окно без иконки, а потом присвоить ему иконку ? Так ?


да так

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




Пост N: 4371
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.07.15 20:14. Заголовок: Спасибо ! :sm36: Ч..


Спасибо !
Что-то мозила тормозит... Пока предложение добавишь, а уже ответ есть на незаконченное предложение...

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 598
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.07.15 20:20. Заголовок: Andrey пишет: а уже..


Andrey пишет:

 цитата:
а уже ответ есть


почитай еще это https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb762159(v=vs.85).aspx
там есть метод StFocus. Возможно он дает фокус на скрытую в трее икону ( не пробовал )
Прикрутить можно подправив ChangeNotifyIcon , пример на примере DeleteNotifyIcon скинул


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




Пост N: 4372
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.07.15 20:21. Заголовок: Спасибо БОЛЬШОЕ Haz ..


Спасибо БОЛЬШОЕ Haz !

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5079
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.07.15 21:25. Заголовок: Смотрю движок форума..


Смотрю движок форума на автомате стал закрывать "длинные" темы.

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




Пост N: 4389
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.07.15 11:08. Заголовок: Всем привет. Имею те..


Всем привет.
Имею текст (заголовок) из трех строчек, разделитель CRLF - типа:
"Строка длинная 1"+CRLF+"Строка длинная 2"+CRLF+"Строка длинная 3"
Вверху формы окна делаю вывод:
@ 0, 0 LABEL Label_1 WIDTH nMaxWidth HEIGHT 120 VALUE cTitle ;
SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR aBackColor1 ;
CENTERALIGN VCENTERALIGN

Строка вытягивается в одну строчку. И не влазиет в ширину окна. Если убрать VCENTERALIGN то 3 строки,
но заголовок к верху окна прилипает.
Как отцентовать по вертикали текст из нескольких строчек ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 617
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.07.15 11:40. Заголовок: Andrey пишет: Как о..


Andrey пишет:

 цитата:
Как отцентовать по вертикали текст из нескольких строчек


при выводе текста используется DrawText() или DrawTextEx() где НЕ ПОДДЕРЖИВАЕТСЯ вертикальное выравнивание многострочного текста
https://msdn.microsoft.com/en-us/library/windows/desktop/dd162499(v=vs.85).aspx
Для решения предлагается писать свою выравнивалку
http://forums.codeguru.com/showthread.php?253508-How-to-align-a-text-in-vertical-center&highlight=center%20vertical%20text

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




Пост N: 4390
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.07.15 12:20. Заголовок: Спасибо большое за р..


Спасибо большое за разъяснение !
А то я думал, что опять где-то что-то пропустил...

Haz пишет:

 цитата:
Для решения предлагается писать свою выравнивалку


Да там не на харборе...
Может есть готовый код для Харбора ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5144
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.07.15 12:55. Заголовок: Andrey пишет: Может..


Andrey пишет:

 цитата:
Может есть готовый код для Харбора ?


Так все равно править то придется сишный сырец.

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




Пост N: 4391
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.07.15 13:04. Заголовок: Dima пишет: Так все..


Dima пишет:

 цитата:
Так все равно править то придется сишный сырец.


Я в Си вообще не силён...

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5145
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.07.15 13:12. Заголовок: Andrey пишет: Я в С..


Andrey пишет:

 цитата:
Я в Си вообще не силён...


А может и не Си.
Там 2 сырца я так понял H_label.prg и C_label.c (в последнем я ни нашел DrawText)
Посмотри для начала H_label.prg , возможно там что надо поправить.

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




Пост N: 4400
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.07.15 19:33. Заголовок: Всем привет. Вопрос ..


Всем привет.
Вопрос про окна.
Если я создал окно MODAL и нахожусь на этой форме, то как можно вызвать другое окно CHILD просто для показа ожидания ?
Где то уже осуждали это, не могу найти....
Функция ожидания с окном CHILD - \samples\Basic\WAIT_WINDOW_2)

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




Пост N: 772
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.07.15 13:35. Заголовок: Andrey пишет:Если я ..


Andrey пишет:
 цитата:
Если я создал окно MODAL и нахожусь на этой форме, то как можно вызвать другое окно CHILD просто для показа ожидания ?


Создай сначала CHILD, потом modal

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




Пост N: 4402
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.07.15 17:28. Заголовок: SergKis пишет: Созд..


SergKis пишет:

 цитата:
Создай сначала CHILD, потом modal


Да не могу. Нужно только в этом порядке.

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 622
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 25.07.15 19:15. Заголовок: Andrey пишет: Да не..


Andrey пишет:

 цитата:
Да не могу. Нужно только в этом порядке.


можно в ЛЮБОМ порядке создавать , а обрабатывать (hide, show ...) в нужном

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 791
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 25.07.15 20:08. Заголовок: Andrey пишет: Где т..


Andrey пишет:

 цитата:
Где то уже осуждали это, не могу найти....


Посмотри в этой теме пост №7
http://clipper.borda.ru/?1-1-0-00000434-000-0-0-1425331688

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




Пост N: 4404
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.07.15 20:22. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Посмотри в этой теме пост №7


Спасибо БОЛЬШОЕ ! То что нужно !


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




Пост N: 4405
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.07.15 20:41. Заголовок: Что то не получается..


Что то не получается.
На модальном окне кнопка, по ней отдельная функция в которой делаю:
_HMG_IsModalActive := .F. // разрешить вызов другого окна после модального
// создать окно ожидания
aBegin := WaitWinCreate( 'Загружаю отчёт в EXCEL ...' )
.....
WaitWinClose(aBegin) // убить окно ожидания
_HMG_IsModalActive := .T. // запретить вызов другого окна после модального

RETURN NIL

После отработки этой функции я могу попадать в ЛЮБОЕ ОКНО - а не возвращаюсь в это модальное окно.
Что не так делаю ?

Спасибо: 0 
Профиль
nick_mi



Пост N: 177
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 27.07.15 15:15. Заголовок: А что, по умолчанию ..


А что, по умолчанию теперь в MiniGui берется минимальный размер шрифта?
По крайней для ...SAMPLES\BASIC GRID_X и Tree это верно. Размер шрифта
меню - как по умолчанию в системе, а все Control's имеют микроскопический шрифт.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5153
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.07.15 15:25. Заголовок: nick_mi Да вроде вс..


nick_mi
Да вроде все норм.
В каком примере такая не понятка ?

Спасибо: 0 
Профиль
nick_mi



Пост N: 178
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 27.07.15 15:32. Заголовок: ...SAMPLES\BASIC..


...SAMPLES\BASIC\GRID_1, ...SAMPLES\BASIC\GRID_2, ...SAMPLES\BASIC\TREE
...SAMPLES\ADVANCED\ACHOICE

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5154
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.07.15 15:56. Заголовок: nick_mi пишет: SAMP..


nick_mi пишет:

 цитата:
SAMPLES\BASIC\TREE


Да вроде в норме все , по остальным тоже
Скрин покажи

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 792
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 27.07.15 15:58. Заголовок: nick_mi пишет: Разм..


nick_mi пишет:

 цитата:
Размер шрифта
меню - как по умолчанию в системе


Да, теперь так

nick_mi пишет:

 цитата:
все Control's имеют микроскопический шрифт


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

 цитата:
set font to _GetSysFont() , 10



Спасибо: 0 
Профиль
nick_mi



Пост N: 179
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 27.07.15 16:08. Заголовок: gfilatov2002 ]Лечит..


gfilatov2002

 цитата:
]Лечится в одну строку в начале программы


Это конечно хорошо, что лечится, лечится также, если в окне
явно указать шрифт и размер шрифта. Но если не очень подготовленный
пользователь , или, предположим, просмотреть несколько примеров,
как в моем случае я проматривал GRID-ы, и в каждом примере править
править пример?
Мне кажется не кошерно как-то.



Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 793
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 27.07.15 16:40. Заголовок: nick_mi пишет: Мне ..


nick_mi пишет:

 цитата:
Мне кажется не кошерно как-то


Так в чем тут проблема-то - в том, что используется шрифт (и его размер) СИСТЕМЫ по умолчанию ?


Спасибо: 0 
Профиль
nick_mi



Пост N: 180
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 28.07.15 08:58. Заголовок: Я конечно, дико изви..


Я конечно, дико извиняюсь, но проблема осталась. Я только что проверил системные
настройки для оформления экрана , кругом, где только допускалось, шрифты проставлены.
У меня дома на WINDOWS 7 все нормально. На работе на WINDOWS XP шрифты
микроскопические

click here

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5161
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.07.15 09:18. Заголовок: nick_mi пишет: У ме..


nick_mi пишет:

 цитата:
У меня дома на WINDOWS 7 все нормально.


То же на 7 все хорошо
XP не могу проверить , слез с нее.

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




Пост N: 4414
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.07.15 12:57. Заголовок: nick_mi пишет: Я ко..


nick_mi пишет:

 цитата:
Я конечно, дико извиняюсь, но проблема осталась.


Да поставь свои шрифты - любые. Одна строчка всего:
SET FONT TO "Tahoma", 16


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




Пост N: 773
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.07.15 14:55. Заголовок: Andrey пишет:Да пост..


Andrey пишет:
 цитата:
Да поставь свои шрифты - любые. Одна строчка всего:
SET FONT TO "Tahoma", 16


Это спорный вопрос, т.к. было (теперь когда то, вер. 2.4.8. уже была изменена)
1.
_HMG_DefaultFontName := 'Arial'
_HMG_DefaultFontSize := 9
стало
2.
_HMG_DefaultFontName := _GetSysFont ()
_HMG_DefaultFontSize := GetDefaultFontSize ()
пробнул на двух компах с 8.1 (разные разрешения) на одном приемлемо, на другом почти приемлемо, но мелковато.
Если расчеты размеров контролов, окон от первого варианта, то при переходе на второй - все сыпется в разной степени и это не есть хорошо, надо править старые тексты ...
Я согласен с nick_mi
 цитата:
Мне кажется не кошерно как-то.




Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5163
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.07.15 14:57. Заголовок: SergKis пишет: Я со..


SergKis пишет:

 цитата:
Я согласен с nick_mi


+1

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




Пост N: 774
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.07.15 16:23. Заголовок: SergKis пишет:Было ...


SergKis пишет:
 цитата:
Было ...
1.
_HMG_DefaultFontName := 'Arial'
_HMG_DefaultFontSize := 9
стало
2.
_HMG_DefaultFontName := _GetSysFont ()
_HMG_DefaultFontSize := GetDefaultFontSize ()


Если глянем, например, h_button.prg FUNCTION _DefineButton (...), размеры button по умолчанию
hb_default( @w, 100 )
hb_default( @h, 28 )
это соответствует для Arial, 9 (расчет из инчес в пиксели), т.е. размеры заявлены для h_init.prg п.1
Что получим с применением пункта 2 для размеров ?
И это относится не только к button, По мне пункт 2 становися все не более не кошерным.
Но может я гляжу не стой колокольни на изменения ?


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5169
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.07.15 22:04. Заголовок: nick_mi Можешь выло..


nick_mi
Можешь выложить скрины одного и того же окна в XP и в семерке ?
Что то микро-шрифта я не увидел. ХЗ может зрение упало.

Спасибо: 0 
Профиль
nick_mi



Пост N: 181
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 29.07.15 22:44. Заголовок: На скрине размер шри..


На скрине размер шрифта в меню-10. Уменьши изображение так
чтобы шрифт на меню примерно соответствовал размеру 10. Тогда
шрифт на GRID будет очень мелким.
Завтра выложу с XP . С семерки
выкладываю

C опцией уменьшить до 640х480
click here

и без опции уменьшить до 640х480
click here


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5175
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.07.15 22:49. Заголовок: nick_mi OK , ждем...


nick_mi
OK , ждем.

Спасибо: 0 
Профиль
nick_mi



Пост N: 182
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 30.07.15 08:37. Заголовок: И тот же GRID в XP С..


И тот же GRID в XP
С опцией Уменьшить до 640х480
click here

Без опции Уменьшить до 640х480
click here

И еще я выполнил программу с
SergKis

 цитата:
_HMG_DefaultFontName := _GetSysFont ()
_HMG_DefaultFontSize := GetDefaultFontSize ()



Для WIN 7
_GetSysFont ()         = Segoe UI   
GetDefaultFontSize () = 9

Для WIN XP
_GetSysFont ()         = Tahoma 
GetDefaultFontSize () = 4


Хотя в настройках экрана я нигде не ставил шрифт размера 4


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




Пост N: 776
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.07.15 11:38. Заголовок: nick_mi пишет:И еще ..


nick_mi пишет:
 цитата:
И еще я выполнил программу с
SergKis


Теперь такая настройка стоит в h_init.prg (уст. значений переменным _HMG_...). Если не ставим специально set font ... , то работают такие значения для фонта

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 795
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.07.15 13:26. Заголовок: SergKis пишет: Тепе..


SergKis пишет:

 цитата:
Теперь такая настройка стоит в h_init.prg


С учетом этого обсуждения изменил определение размера шрифта на

 цитата:
_HMG_DefaultFontSize := Max( 9, GetDefaultFontSize () )




Спасибо: 1 
Профиль
SergKis
постоянный участник




Пост N: 778
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.07.15 16:21. Заголовок: gfilatov2002 :sm36:..


gfilatov2002

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 623
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 07.08.15 14:32. Заголовок: нехорошее поведение функции EnumWindows из примеров


Столкнулся с проблемой жора памяти при использовании функции EnumWindows из примеров минигуи. Каждый ее вызов отгрызает память . Как бороть ?

Вот самодостаточный пример . При нажатии кнопки старт наглядно виден аппетит EhumWindows и прога падает без слов
 
#include "hbthread.ch"
#include "minigui.ch"

Function Main
local nFreeMem := MemoryStatus(2)
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 365 HEIGHT 245 ;
TITLE "Free memory status" ;
MAIN

@ 20,145 BUTTON Button_1 ;
CAPTION "Start" ;
ACTION { || hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @Start() ) } ;
WIDTH 80 HEIGHT 26 DEFAULT

@ 70,31 PROGRESSBAR Progress_1 ;
RANGE 0, nFreeMem ;
WIDTH 300 HEIGHT 26 ;
TOOLTIP ""


END WINDOW

DEFINE TIMER Timer_1 OF Form_1 INTERVAL 100 ACTION {|| Form_1.Progress_1.Value := MemoryStatus(2) }



CENTER WINDOW Form_1

ACTIVATE WINDOW Form_1

Return Nil


Func start()
local aWin := {}
while .t.
aWin := EnumWindows ()
end
return nil

#pragma BEGINDUMP

#include <windows.h>

#include "hbapi.h"
#include "hbapiitm.h"

static PHB_ITEM pArray;

BOOL CALLBACK EnumWindowsProc (HWND hWnd, LPARAM lParam)
{
hb_arrayAddForward (pArray, hb_itemPutNLL (NULL, (LONG) hWnd));
return TRUE;
}


HB_FUNC ( ENUMWINDOWS )
{
pArray = hb_itemArrayNew ( 0 );

EnumWindows ((WNDENUMPROC) EnumWindowsProc, (LPARAM) 0);

hb_itemReturnRelease ( pArray );
pArray = NULL;
}

#pragma ENDDUMP




Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5203
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.08.15 21:22. Заголовок: Haz пишет: Столкнул..


Haz пишет:

 цитата:
Столкнулся с проблемой жора памяти при использовании функции EnumWindows из примеров минигуи. Каждый ее вызов отгрызает память . Как бороть ?


Проверил , так и есть.......тихо схлопнулась прога и гудбай....
В рабочих программах юзать ее в таком виде как есть (не доведенном до ума) опасно.

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 626
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.08.15 16:42. Заголовок: Haz пишет: Столкнул..


Haz пишет:

 цитата:
Столкнулся с проблемой жора памяти при использовании функции EnumWindows из примеров минигуи. Каждый ее вызов отгрызает память . Как бороть ?



Поборол, Работает корректно.
  
Func EnumWindows()
local aWin := {}
EnumWin( {|hWin, nLParam| AADD( aWin, hWin ) } )
return aWin

#pragma BEGINDUMP


#include <hbapi.h>
#include <hbapiitm.h>
#include <windows.h>

void hb_evalBlock( PHB_ITEM pCodeBlock, ... );

static PHB_ITEM pCodeBlock = NULL;

BOOL CALLBACK static EnumWinProc( HWND hWnd, LPARAM lParam )
{
PHB_ITEM pHWnd = hb_itemPutNL( NULL, ( LONG ) hWnd );
PHB_ITEM pParam = hb_itemPutNL( NULL, ( LONG ) lParam );

if( pCodeBlock )
hb_evalBlock( pCodeBlock, pHWnd, pParam, 0 );

hb_itemRelease( pHWnd );
hb_itemRelease( pParam );

return TRUE;
}

HB_FUNC( ENUMWIN )
{
LPARAM lParam = ( LPARAM ) hb_parnl( 2 );
pCodeBlock = hb_param( 1, HB_IT_BLOCK );
hb_retl( EnumWindows( (WNDENUMPROC) EnumWinProc, lParam));
pCodeBlock = NULL;
}

#pragma ENDDUMP




PS.
Григорий
В примерах MiniGui есть другой вариант EnumWindows , выше в своем сообщении приводил тест, подтверждающий жор памяти.
Может в библиотеку включить из этого поста, нормально работающую ?

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




Пост N: 4456
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.08.15 17:30. Заголовок: Если допустим в цикл..


Если допустим в цикле вывожу список полей базы на форму:

ELSEIF cType == 'N' .OR. cType == 'D' .OR. cType == 'C'
xRet := FIELDGET( FIELDNUM( cPole ) )
cRet := "A"+ TRANSFORM( xRet, cPicture ) + "A"
nWFld := GetTxtWidth( cRet, aFontFields[ 2 ], aFontFields[ 1 ] )

@ nRowFld, nColFld GETBOX &cObj VALUE xRet ;
PICTURE cPicture ;
WIDTH nWFld HEIGHT aFontFields[ 2 ] *2.5 - nDelHeight ;
FONT aFontFields[ 1 ] SIZE aFontFields[ 2 ] ;
BACKCOLOR { aBackColorPage, {255,255,200},{200,255,255}} ;
FONTCOLOR { aClrFld , {255,255,200},{0,0,255}}

ТО как мне определить, было ли исправлено хоть одно значение в GETBOX ?


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 814
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.08.15 17:56. Заголовок: Haz пишет: Может в ..


Haz пишет:

 цитата:
Может в библиотеку включить из этого поста, нормально работающую ?


Благодарю за помощь
Конечно, сделаю...

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 815
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.08.15 21:00. Заголовок: Haz Предлагаю прове..


Haz
Предлагаю проверить еще такой вариант этой функции:
static PHB_ITEM pArray; 

#if defined( __BORLANDC__ )
#pragma argsused
#endif

BOOL CALLBACK EnumWindowsProc( HWND hWnd, LPARAM lParam )
{
PHB_ITEM pHWnd = hb_itemPutNL( NULL, ( LONG ) hWnd );
#if defined( __MINGW32__ )
UNREFERENCED_PARAMETER( lParam );
#endif
hb_arrayAddForward( pArray, pHWnd );
hb_itemRelease( pHWnd );

return TRUE;
}

HB_FUNC ( ENUMWINDOWS )
{
pArray = hb_itemArrayNew( 0 );

EnumWindows( ( WNDENUMPROC ) EnumWindowsProc, ( LPARAM ) 0 );

hb_itemReturnRelease( pArray );
pArray = NULL;
}


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 627
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 19.08.15 21:17. Заголовок: Григорий Предлагаю п..


Григорий

 цитата:
Предлагаю проверить еще такой вариант этой функции:


протестирую завтра, на первый взгляд она практически та же, что я выкладывал в примере жора памяти.
Разница в этом
 
#if defined( __BORLANDC__ )
#pragma argsused
#endif

и в передаче параметра в функцию
 
hb_arrayAddForward( pArray, pHWnd )

не уверен что это поможет, но всяко бывает )

ПОМОГЛО ! увидел в чем проблема
hb_itemRelease( pHWnd ) - лечит жор

PS
Григорий в официале HMG тоже жор будет вот из последнего
 
BOOL CALLBACK EnumWindowsProc (HWND hWnd, LPARAM lParam)
{
UNREFERENCED_PARAMETER (lParam);
hb_arrayAddForward (pArray, hb_itemPutNLL (NULL, (LONG_PTR) hWnd));
return TRUE;
}





Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 816
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.08.15 21:40. Заголовок: Haz пишет: ПОМОГЛО ..


Haz пишет:

 цитата:
ПОМОГЛО ! увидел в чем проблема


Благодарю за подтверждение
Тогда буду использовать этот вариант в примерах новой сборки

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 628
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 19.08.15 21:43. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Тогда буду использовать этот вариант в примерах новой сборки



спасибо

PS
Григорий в официале HMG тоже жор будет вот из последнего
  
BOOL CALLBACK EnumWindowsProc (HWND hWnd, LPARAM lParam)
{
UNREFERENCED_PARAMETER (lParam);
hb_arrayAddForward (pArray, hb_itemPutNLL (NULL, (LONG_PTR) hWnd));
return TRUE;
}




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




Пост N: 4486
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.08.15 17:42. Заголовок: Делаю следующее: ..


Делаю следующее:
@ 0, 50 LABEL Label_1 VALUE .... СENTERALIGN VCENTERALIGN

Как можно потом снять у этого объекта СENTERALIGN и VCENTERALIGN ?

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 822
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.08.15 21:03. Заголовок: Andrey пишет: Как м..


Andrey пишет:

 цитата:
Как можно потом снять у этого объекта СENTERALIGN и VCENTERALIGN ?


Это можно сделать с помощью функции ChangeStyle(), см. пример ниже
/* 
* MINIGUI - Harbour Win32 GUI library Demo
*
*/

#include "minigui.ch"

#include "i_winuser.ch"


Function Main

DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 300 ;
TITLE "MiniGUI Label Demo" ;
MAIN ;
FONT "Arial" SIZE 10

@ 010,10 LABEL Label_1 VALUE "Label_1" WIDTH 200 TOOLTIP "Label 1" CENTERALIGN VCENTERALIGN backcolor GRAY

END WINDOW

DeleteStyleCenter( GetControlHandle('Label_1','Form_1') )
Form_1.Label_1.Value := 'New Value'

CENTER WINDOW Form_1

ACTIVATE WINDOW Form_1

Return Nil


Function DeleteStyleCenter( hControl )

ChangeStyle( hControl, , ES_CENTER, .F. )
ChangeStyle( hControl, , SS_CENTERIMAGE, .F. )

return .t.


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




Пост N: 4487
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.08.15 22:20. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Это можно сделать с помощью функции ChangeStyle(), см. пример ниже


Спасибо БОЛЬШОЕ !

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




Пост N: 4504
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.09.15 13:30. Заголовок: Со сменой версии (не..


Со сменой версии (не помню с какой) теперь какая то фигня с окнами.
Создаю основное окно MAIN - не на весь экран. Из него WINDOWTYPE STANDARD. Оно становиться активным и в нем работаю.
И стало теперь ВСЕГДА при вызове MODAL окна - появляться MAIN окно !
Т.е. какой то бутерброд: STANDARD окно,поверх MAIN окно, а потом MODAL окно.
А должно быть просто STANDARD окно, а потом MODAL окно.
Как исправить (убрать) появление MAIN окна поверх STANDARD окна ?


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 826
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.09.15 14:37. Заголовок: Andrey пишет: Как и..


Andrey пишет:

 цитата:
Как исправить (убрать) появление MAIN окна поверх STANDARD окна ?


Есть два пути на выбор:
1) изменить при определении окна класс STANDARD на CHILD;
2) скрывать (а затем снова показывать) главное окно MAIN при вызове MODAL окна.


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




Пост N: 4505
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.09.15 15:11. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
2) скрывать (а затем снова показывать) главное окно MAIN при вызове MODAL окна.



Вот это мне больше нравиться !
А как скрывать ? Делать HIDE или минимизировать окно ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 654
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 03.09.15 15:29. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как скрывать


из толкового словаря русского языка ( Ожегова )
 
СКРЫТЬ, Спрятать, чтобы кто-н. не обнаружил.


т.е. Если минимизировать, то кто -то может обнаружить

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




Пост N: 4514
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.09.15 15:19. Заголовок: Всем привет. Хочу в ..


Всем привет.
Хочу в GETBOX адреса, отвечающим за буквы сделать перекодировку автоматом латинские буквы в русские.
Как это сделать ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 659
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 08.09.15 17:12. Заголовок: Andrey пишет: Как э..


Andrey пишет:

 цитата:
Как это сделать ?


самое простое - в процедуре по ON CHANGE делай замену через CharRepl , типа
 
SetProperty('Form_1', 'GetBox_1', 'Value', CharRepl("qwert", GetProperty('Form_1', GetBox_1', 'Value'), "йцуке" )


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




Пост N: 4515
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.09.15 18:01. Заголовок: Haz пишет: самое пр..


Haz пишет:

 цитата:
самое простое - в процедуре по ON CHANGE делай замену через CharRepl , типа


Спасибо !

Как получить список устанновленных SET RELATION по базе ?
Хотя это вопрос не по МиниГуи, но нужно получить список для контроля.


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 660
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 08.09.15 18:17. Заголовок: Andrey пишет: Как п..


Andrey пишет:

 цитата:
Как получить список устанновленных SET RELATION по базе


начать читать справку, для начала эту
http://harbour.edu.pl/clipper/en/ng2dfcc.html

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




Пост N: 4516
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.09.15 18:33. Заголовок: Haz пишет: начать ч..


Haz пишет:

 цитата:
начать читать справку, для начала эту
http://harbour.edu.pl/clipper/en/ng2dfcc.html


Классная справка. И не знал что есть такая, более подробная чем xHarbour Language Reference Guide.chm

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 661
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 08.09.15 21:51. Заголовок: Andrey пишет: Класс..


Andrey пишет:

 цитата:
Классная справка


эта функция из Clipper, ей 25 лет примерно

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




Пост N: 4517
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.09.15 22:37. Заголовок: Haz пишет: эта функ..


Haz пишет:

 цитата:
эта функция из Clipper, ей 25 лет примерно


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

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




Пост N: 4531
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.09.15 17:10. Заголовок: Привет всем. Вопрос..


Привет всем.
Вопрос возник по окнам STANDARD.

На главной форме Form_Main есть кнопка. В этой кнопке:
ACTION { || Form_Main.Minimize,;
Form_MyTable(),;
Form_Main.Restore }


Один раз (первый) срабатывает как положено. На второй раз нет. Почему ?
Т.е. я хочу чтобы окно STANDARD во второй раз открылось на экране, а главная форма минимизировалась.
Скрытый текст


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




Пост N: 4549
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.10.15 20:53. Заголовок: Привет всем ! Вот во..


Привет всем !
Вот вопрос возник:


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 843
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.10.15 23:36. Заголовок: Andrey Цветной Таб ..


Andrey
Цветной Таб настроен для размера шрифта до 12 пунктов.
Настройка, оптимизированная для шрифтов большего размера, как на рисунке, будет доступна в следующей сборке (уже поправил исходник)

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




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


gfilatov2002 пишет:

 цитата:
будет доступна в следующей сборке (уже поправил исходник)


Ура ! Спасибо !

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




Пост N: 4553
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.10.15 21:18. Заголовок: Заодно ещё вопрос по..


Заодно ещё вопрос по Tab:


Спасибо: 0 
Профиль
krutoff





Пост N: 178
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 15.11.15 13:16. Заголовок: Ошибка в RichEdit


У меня в программе во всех меню пропали иконки. Начал разбираться и вычислил проблему в
использовании RichEdit, который я брал практически один в один из примеров.

Нашел ошибку в папке RichEditEx.
Если вставить оператор SET MENUSTYLE EXTENDED то иконки показываться не будут вообще.
В папке RichEditEx_2 такой ошибки уже нет.
Скорей всего ошибка в модуле l_richeditbox.prg. Там проги на C, поэтому не докопал...
Поменял этот модуль и у меня все заработало.



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




Пост N: 4574
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.11.15 20:24. Заголовок: Почему не компилируе..


Почему не компилируется вот такое:
Form_AYC.Image_0.BackgroundColor := aBColor

Синтаксис объекта IMAGE отличается от других объектов ? И в хелпе нет ничего по этому свойству.
Как тогда мне "передёрнуть" цвет у уже выведенной PNG картинки на форме ?

Спасибо: 0 
Профиль
Softlog86



Пост N: 270
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 17.11.15 10:05. Заголовок: Andrey , я у себя та..


Andrey , я у себя такие штуки делаю через
SETPROPERTY('Form_AYC','Image_0','BackgroundColor',aBColor)
И всё компилируется отлично :)

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




Пост N: 4575
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.11.15 10:19. Заголовок: Softlog86 пишет: И ..


Softlog86 пишет:

 цитата:
И всё компилируется отлично :)


Компилируется да. Спасибо.
Только вот цвет на ходу не передёргивается ...
Наверно еще что-то нужно подшаманить...

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




Пост N: 4576
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.11.15 10:31. Заголовок: Не, не шаманиться.....


Не, не шаманиться....
Делаю так:
ACTION { || aBColor := GetColor(),;
Form_AYC.Label_1.BackColor := aBColor,;
Form_AYC.Label_2.BackColor := aBColor,;
Form_AYC.Label_3.BackColor := aBColor,;
Setproperty(ThisWindow.Name,'Image_0','Visible',.F.),;
Setproperty(ThisWindow.Name,'Image_0','BackgroundColor',aBColor),;
Setproperty(ThisWindow.Name,'Image_0','Visible',.T.),;
RedrawAll() }


Может ещё как то надо ?

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




Пост N: 4577
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.11.15 11:03. Заголовок: Я понял из примера M..


Я понял из примера MiniGUI\SAMPLES\BASIC\IMAGE_2
что объект надо убить... А потом заново нарисовать....
Ну блин, ...

Спасибо: 0 
Профиль
Softlog86



Пост N: 271
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 18.11.15 12:19. Заголовок: Не убить , а измени..


Не убить , а [выключить] изменить и [включить] :)

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




Пост N: 4578
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.11.15 16:00. Заголовок: Softlog86 пишет: Не..


Softlog86 пишет:

 цитата:
Не убить , а [выключить] изменить и [включить] :)


А я что делаю:
Setproperty(ThisWindow.Name,'Image_0','Visible',.F.),;
Setproperty(ThisWindow.Name,'Image_0','BackgroundColor',aBColor),;
Setproperty(ThisWindow.Name,'Image_0','Visible',.T.),;



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




Пост N: 4598
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.15 18:58. Заголовок: Как правильно поднят..


Как правильно поднять EXCEL и оставить его на экране в МиниГуи ?

Т.е. я создаю файл EXCEL переключаюсь на него и нужно остаться в EXCEL-е.
А у меня управление возвращается на мою программу и она выходит на первый план.

.....
hWnd := oExcel:hWnd
ShowWindow( hWnd, 3 ) //SW_MAXIMIZE=3 SW_NORMAL=1 SW_MINIMIZE=6
BringWindowToTop( hWnd )

// вот здесь в терминалке я ставил INKEY(0) и было для юзера удобно !
// Что поставить для МиниГуи ?

RETURN NIL


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




Пост N: 4601
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.12.15 17:04. Заголовок: Всем привет ! Непоня..


Всем привет !
Непонятка одна... Читаем доку:
@ <nRow> ,<nCol> GETBOX <ControlName>
.....
[ NOBORDER ]
Классный вид, т.е. привычный юзеру.

А если я хочу включить "бордюр" для уже выведенного объекта на форме ?
SetProperty( ..., ..., "NoBorder" , .F./.T. ) SetProperty( ..., ..., "Border" , .F./.T. ) - не работает...


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5403
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.12.15 17:34. Заголовок: Andrey пишет: SetPr..


Andrey пишет:

 цитата:
SetProperty( ..., ..., "NoBorder" , .F./.T. )


Может включить надо так ?
SetProperty( ..., ..., "NoBorder" , .F. )

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 714
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.12.15 19:28. Заголовок: Dima пишет: Может в..


Dima пишет:

 цитата:
Может включить надо так ?
SetProperty( ..., ..., "NoBorder" , .F. )


Дима, так скорее не получится. думаю надо стиль окна Getbox менять.
Во всяком случае проперти GetBoх сделать это не позволяют ( в исходниках нет такой возможности ).

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 863
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.12.15 19:53. Заголовок: Haz пишет: надо сти..


Haz пишет:

 цитата:
надо стиль окна Getbox менять


С этим засада - стиль WS_BORDER не будет устанавливаться после определения контрола (по-видимому, ограничение WinAPI).

Поэтому можно решить "в лоб" эту задачу таким образом (см. ниже)
Скрытый текст


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




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


gfilatov2002 пишет:

 цитата:
С этим засада - стиль WS_BORDER не будет устанавливаться после определения контрола (по-видимому, ограничение WinAPI).

Поэтому можно решить "в лоб" эту задачу таким образом (см. ниже)



Спасибо БОЛЬШОЕ Григорий !
Эх, опять кучу текста переделывать нужно....

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




Пост N: 4603
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.12.15 14:05. Заголовок: Привет всем ! Можно ..


Привет всем !
Можно ли заранее определить какой ПОСЛЕДНИЙ тип окна уже открыт ?
Т.е. если последнее окно у меня открыто MODAL, то при открытии из него другого типа окна кроме MODAL приводит программу к ошибке и закрытию программы...
Или можно поступить как то по другому в этом случае ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 715
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.12.15 14:23. Заголовок: Andrey пишет: Или м..


Andrey пишет:

 цитата:
Или можно поступить как то по другому в этом случае ?


Можно не открывать из модального окна немодальные.
Не понятно зачем самому себе раскладывать грабли ?

ЗЫ в минигуи есть псевдопеременная _HMG_IsModalActive, она устанавливается при активации модального окна. См. исходники

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




Пост N: 838
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.12.15 14:41. Заголовок: Andrey пишет:Можно л..


Andrey пишет:
 цитата:
Можно ли заранее определить какой ПОСЛЕДНИЙ тип окна уже открыт ?


GetWindowType ( FormName ) - даст тип окна
посмотри содержимое:
aEval(_HMG_aFormNames, {|n,i| MsgDebug(i, n, _HMG_aFormType [ i ], _HMG_aFormActive [ i ]) })

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 716
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.12.15 14:49. Заголовок: Andrey пишет: какой..


Andrey пишет:

 цитата:
какой ПОСЛЕДНИЙ тип окна


В данном контексте вопрос звучит странно . т.к если открыто модальное окно - ПОСЛЕДНИМ может быть ТОЛЬКО модальное
"Non Modal Window can't be activated when a Modal window is active."

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




Пост N: 4604
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.12.15 03:04. Заголовок: А можно сделать функ..


Всем доброй ночи !
А можно сделать функцию, которая бы показывалась ВЕЗДЕ при нажатии комбинаций клавиш ?
Попробовал сделать как в примере SAMPLES\Applications\FOCUS_IT, но у меня в других окнах эти клавиши не срабатывают....
Но может я тест простой написал ? ОДНО окно (CHILD и MODAL) без других объектов...




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




Пост N: 4615
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.12.15 16:02. Заголовок: Привет всем ! Как сд..


Привет всем !
Как сделать конструкцию из терминалки nKey := INKEY(nTime) в МиниГуи ?
? LASTKEY(nKey)

Можно так сделать nKey := INKEYGUI(nTime*1000) ?
Или INKEYGUI() ничего не возвращает ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 727
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 17.12.15 16:26. Заголовок: Andrey пишет: Или I..


Andrey пишет:

 цитата:
Или INKEYGUI() ничего не возвращает ?


Посмотри в C:\MiniGUI\Doc\ChangeLog.txt что возвращает

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




Пост N: 4625
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.12.15 13:07. Заголовок: http://f1.s.qip.ru/~..




Почему не всегда показывается картинка на форме ?
У меня показывает, на Win2008 нет...


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5418
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.15 14:10. Заголовок: Andrey пишет: У мен..


Andrey пишет:

 цитата:
У меня показывает


На футболке ?
Хоть бы код показал которым выводишь пикчу , по ходу если дергаешь ее из файла
то скорее всего забыл его сложить на сервант 2008.

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




Пост N: 4626
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.12.15 14:41. Заголовок: Вот код: FUNCTION W..


Вот код:

FUNCTION WinOpenDbf( cTitle )
.....
DEFINE WINDOW Form_TrsfDbf ;
.....
WINDOWTYPE MODAL ;
NOSHOW ;

@ 30, (nWidth-nImgWidth)/2 IMAGE Image_1 ;
PICTURE cImgRes ;
WIDTH nImgWidth ;
HEIGHT nImgHeight
....
Form_TrsfDbf.Center
Activate Window Form_TrsfDbf NoWait
ProcessMessages() // ОБЯЗАТЕЛЬНО ! Чтобы форма ОБНОВИЛАСЬ !
Form_TrsfDbf.Hide // скрыть окно

RETURN aRet


Строю скрытое окно, а там дальше проверяю, если нужно показать, то делаю
domethod("Form_TrsfDbf","Show") // показать окно
и включаю бегунки...

Ресурсы все в ехе-нике.
У меня Win8.1 и у других нормально. А на Win2008 сбоит и то не всегда.
Что ещё можно сделать для прорисовки картинки ?


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




Пост N: 4627
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.12.15 16:18. Заголовок: А как подключить рус..


А как подключить русский язык для архиватора zip из библиотеки Минигуи ?
Дело в том что русские имена файлов в архиве становятся кракозябами...

Использую оператор:
COMPRESS aFiles ;
TO cBackupZip ;
BLOCK { | cFile, nPos | ProgressUpdate( nPos, cFile, aSizeFiles, .T. ) } ;
LEVEL 7 ;
OVERWRITE ;
STOREPATH ;
FILEPROGRESS { | nPos, nTotal | ProgressFile( nPos, nTotal, .T. ) } ;
RESULT lSuccess


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5443
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.12.15 17:04. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как подключить русский язык для архиватора zip из библиотеки Минигуи ?


Самодостаточный пример сюда сложи.
PS
Русский язык указывается заданием "нужной" кодовой страницы.

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




Пост N: 4633
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.12.15 02:12. Заголовок: Dima пишет: Самодос..


Dima пишет:

 цитата:
Самодостаточный пример сюда сложи.


Сделал и выложил. В папке \FR3\ файлы с русскими буквами.
Файл с русскими буквами преобразуется в архиве кракозябами...
https://cloud.mail.ru/public/8MDq/upmSqF2xn

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 742
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.12.15 12:13. Заголовок: Andrey пишет: Файл ..


Andrey пишет:

 цитата:
Файл с русскими буквами преобразуется в архиве кракозябами...



Андрей , имена файлов в ZIP-архиве хранятся в кодировке DOS, соответствующей языку локали.
это СТАНДАРТ
для понимания -> http://www.opennet.ru/tips/info/2494.shtml

т.к. в самой библе минизип нет установки нужной OEM кодировки нужно обеспечить выполнение архивирования в кодовой странице "RU866" для русского языка
проблему с именами ВНУТРИ архива это решит, но появится новая - GUI интерфейс работает не в OEM
так что придется еще и кой какой вывод транслировать в ANSI


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




Пост N: 4635
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.12.15 18:00. Заголовок: Haz пишет: т.к. в с..


Haz пишет:

 цитата:
т.к. в самой библе минизип нет установки нужной OEM кодировки нужно обеспечить выполнение архивирования в кодовой странице "RU866" для русского языка



А есть функция определения русского языка в строке ?
Хотя это не сложно сделать, но хочется посмотреть, как делают другие...

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 743
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.12.15 20:31. Заголовок: Andrey пишет: хочет..


Andrey пишет:

 цитата:
хочется посмотреть, как делают другие...


Другим тоже хочется посмотреть как делают другие , тем более

 цитата:
это не сложно сделать




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




Пост N: 4638
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.12.15 22:37. Заголовок: Haz пишет: Другим т..


Haz пишет:

 цитата:
Другим тоже хочется посмотреть как делают другие , тем более


Вот мой вариант:
FUNCTION IsRusChar(cStr)
LOCAL lRet := .F., nI, cBukva

FOR nI := 1 TO LEN(cStr)
cBukva := SUBSTR(cStr,nI,1)
IF ASC(cBukva) > 127
lRet := .T.
EXIT
ENDIF
NEXT

RETURN lRet


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




Пост N: 4640
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.12.15 14:15. Заголовок: Haz пишет: Андрей ,..


Haz пишет:

 цитата:
Андрей , имена файлов в ZIP-архиве хранятся в кодировке DOS, соответствующей языку локали.
это СТАНДАРТ


Спасибо БОЛЬШОЕ за разъяснения !

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 744
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 31.12.15 14:59. Заголовок: Andrey пишет: Вот м..


Andrey пишет:

 цитата:
Вот мой вариант:


тоже самое ( но нужен hbxpp )
 
Func test( str)
local c
for each c in str
if asc(c) < 127
exit
end
end
return asc(c) < 127


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5453
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 31.12.15 15:16. Заголовок: Haz пишет: тоже сам..


Haz пишет:

 цитата:
тоже самое ( но нужен hbxpp )


Да похоже что не нужен уже , проверил работает и без него.
Я про строку for each c in str

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




Пост N: 4643
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.01.16 20:56. Заголовок: А как при выводе в E..


А как при выводе в EDITBOX объекта Edit_Memo - показывать последнюю строку переменной ?
Т.е. я всегда добавляю в переменную и хочу в окне EDITBOX видеть последнюю строку.
cText := Form_Main.Edit_Memo.Value + CRLF
....
cText += " .... -> FMEMO" + CRLF
Form_Main.Edit_Memo.Value := cText
Form_Main.Edit_Memo.Setfocus

Исходник - https://cloud.mail.ru/public/Cp97/yM2KA9ba3

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 868
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.01.16 21:48. Заголовок: Andrey пишет: как п..


Andrey пишет:

 цитата:
как при выводе в EDITBOX объекта Edit_Memo - показывать последнюю строку переменной ?


Посмотри пример ниже
Скрытый текст


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




Пост N: 4645
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.01.16 00:12. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Посмотри пример ниже



Спасибо ОГРОМНОЕ ! То что надо !

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




Пост N: 4646
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.01.16 18:49. Заголовок: Имею проблему с ресу..


Имею проблему с ресурсами....
На компе с Server Win2003 использую удалённый рабочий стол в сети.
На главной форме моей программы располагаются кнопки с иконками 96х96 color - WinXP (т.е. полная палитра цвета).
При старте иконки нормально показываются, но поработав некоторое время в программа, пропадают иконки в меню, даже в других окнах....
Т.е. программа работает а иконок и картинок нет....
С чем это связано ? Как исправить баг ?
Работал с несколькими другими удалёнными рабочими столами, такого не было...

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 745
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.01.16 12:31. Заголовок: Andrey пишет: Т.е. ..


Andrey пишет:

 цитата:
Т.е. программа работает а иконок и картинок нет...


Это не относится к Minigui. Поищи в гугле , может кто решил. Если это утешит - то вот тут друзья по несчастью из 1С
http://forum.infostart.ru/forum10/topic32848/

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




Пост N: 4647
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.01.16 19:20. Заголовок: Спасибо большое, Haz..


Спасибо большое, Haz !
Я подозревал, что дело не в МиниГуи, просто не мог заказчику это обосновать...
Под Win2008 и 2012 такого нет.

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




Пост N: 4648
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.01.16 16:27. Заголовок: Всем привет ! Почему..


Всем привет !
Почему при команде на кнопке:
SetProperty( сForm, cObj, "Enabled", .F. )
одни иконки дают четкую серую картинку, а другие просто квадрат ?



Я понимаю что это не МиниГуи виноват, просто нужно чтобы всегда была картинка !
Фон у этих иконок прозрачный !



Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5459
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.01.16 17:05. Заголовок: Наверное фон разный ..


Наверное фон разный у этих иконок или связано с прозрачностью.

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 762
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.01.16 11:38. Заголовок: Подниму сюда глюк ScrillBar в TsBrowse при RDDADS


Подниму сюда глюк ScrollBar в TsBrowse при RDDADS, флейм не все читают, а тут прочитав уже народ в курсе будет . Скажу сразу как победить не нашел, похоже с этим надо смириться.

Описание глюка:
При использовании SQL запросов содержащих сложный ORDER BY ( из двух и более значений ) в RDDADS нет способа возврата индекса сортировки ( логического порядкового номера записи).
Когда результат такого запроса показываем в TSBrowse , то скроллбар при навигации по базе скачет вверх-вниз беспорядочно,
Причина в том что скрол пытаясь получить значение для расчета позиции , получает физический номер записи , а не логический
Кому интересно - тут пример
https://yadi.sk/d/9wpBy1V2nrfWG
Что в примере
В примере создается тестовая база и смотрится в бровсе. В EditBox показан запрос , по которому ее видим.
SELECT * FROM ScrollFuck /*ORDER BY FirstName, LastName*/
комменты в запросе игнорируются , т.е. выполнен только
SELECT * FROM ScrollFuck
В этом случае скроллбар адекватен и все ОК.
Меняем запрос удаляя знаки коммента , получив
SELECT * FROM ScrollFuck ORDER BY FirstName, LastName
Нажимаем кнопку SQL и при навигации стрелками вверх-низ с клавы или колесом мыши , видим всю дурь скрола.

PS. Перерыл весь исходник RDDADS по слогам - в нем нет способа получить логический номер. Выкурил хелп от ADS - аналогично.
Короче бросил ) Если что. привинчу костыли на скрол в виде получения позиции из специально построенного хеш массива

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




Пост N: 4675
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.01.16 12:51. Заголовок: Спасибо за сообщение..


Спасибо за сообщение !
Будем знать.

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




Пост N: 4676
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.01.16 14:28. Заголовок: А как сделать, чтобы..


А как сделать, чтобы при 1-ом показе Tsbrowse показывалась пустая таблица ?
А уже потом, после нажатия кнопки - показывались данные....

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 764
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.01.16 14:39. Заголовок: Выполнить первый зап..


Выполнить первый запрос с условием которое вернет пустую таблицу.
К примеру поле ID типа AutoInc и не может принимать значения < 0
тогда запрос
SELECT * FROM ScrollFuck WHERE ID < 0
даст пусто

в примере можно так
cSql := "SELECT * FROM ScrollFuck /*ORDER BY FirstName, LastName*/"
DOSQL('SF', cSql + " WHERE ID < 0 ")


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




Пост N: 4677
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.01.16 18:00. Заголовок: Haz пишет: Выполнит..


Haz пишет:

 цитата:
Выполнить первый запрос с условием которое вернет пустую таблицу.


Таблица то пустая, а в ней нет строк.... А я хочу чтобы была пустая таблица, с линиями...
Юзеру будет легче понять - я уже показывал такой вариант.
Юзера тормозят... Говорят а почему нет таблицы ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 765
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.01.16 18:08. Заголовок: Andrey пишет: А я х..


Andrey пишет:

 цитата:
А я хочу чтобы была пустая таблица, с линиями...


Строки в таблице рисуются по записям.
Какие строки на пустой базе ? Сделать можно что угодно
1. При первом показе пихать клон базы с пустыми полями
2. При первом показе делать аппенды в базу и показывать только их , потом тереть
3. При первом показе поверх бровса выводить разграфленный битмап, потом его прятать

Только зачем ????

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5472
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.01.16 18:13. Заголовок: Haz пишет: Только з..


Haz пишет:

 цитата:
Только зачем ????


Он хочет как в ёкселе :)
Там разметка есть всегда.

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




Пост N: 4678
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.01.16 18:18. Заголовок: Haz пишет: Только з..


Haz пишет:

 цитата:
Только зачем ????


Чтобы юзера не доставали.... Картинка им не нравиться.
Пустая таблица, а ячеек нет. В Екселе пустая таблица - ячейки есть, а здесь нет.

Haz пишет:

 цитата:
1. При первом показе пихать клон базы с пустыми полями


Наверное это самый лучший вариант !

Haz пишет:

 цитата:
3. При первом показе поверх бровса выводить разграфленный битмап, потом его прятать


Для разных разрешений наверно будет трудно это сделать ?
Хотя картинку легче прятать...

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




Пост N: 4681
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.01.16 00:11. Заголовок: При ошибках: Turbo I..


При ошибках:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland
Error: Unresolved external '_HB_FUN_MYPATHFILES' referenced from W:\HB_PROJECT\ кракозябы \OBJ\TestHMG1.OBJ
hbmk2[IEntrepreneur]: Error: Running linker. 2

Как убрать кракозябы в файле ошибок ?
Это папка на русском. Если на английском, то пишется нормально.


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




Пост N: 4694
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.02.16 19:49. Заголовок: Всем привет ! Если ..


Всем привет !

Если я задаю при старте изменения размера окна, а потом блокирую на время это таким кодом:
// ------- заблокировать изменение размеров окна ----------
SetProperty(cForm, "Sizable" , .F. ) // NOSIZE
SetProperty(cForm, "MaxButton" , .F. ) // NOMAXIMIZE
SetProperty(cForm, "MinButton" , .F. ) // NOMINIMIZE
То размеры объектов на окне меняются. Так должно быть или что то не так делаю ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 776
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 14.02.16 20:46. Заголовок: Andrey пишет: Если ..


Andrey пишет:

 цитата:
Если я задаю при старте изменения размера окна, а потом блокирую на время это таким кодом:


самодостаточный дай, как написал выше ничего не должно менять в контролах

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




Пост N: 4695
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.02.16 22:02. Заголовок: Пример сложно дать. ..


Пример сложно дать. Он большой... Постараюсь сделать...

А на картинке выглядит так:


Еще после запрета изменения размеров формы в Tbrowse накладывается фильтр на базу и кол-во записей меняется и вертикальный скролинг уходит и появляется ПУСТОТА между окном и Tbrowse.
Это глюк или я что то не так делаю ?

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




Пост N: 4697
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.02.16 22:57. Заголовок: Вот ещё одна картинк..


Вот ещё одна картинка:


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 777
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.02.16 11:14. Заголовок: Andrey пишет: верти..


Andrey пишет:

 цитата:
вертикальный скролинг уходит


::ResetVscroll(lInit) делал перед ::Refresh() ?

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




Пост N: 4699
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.02.16 12:48. Заголовок: Не помогает... Пробо..


Не помогает... Пробовал по разному: и после и перед oBrw1:Refresh(.T.) и с параметрами и без параметров.
У меня на кнопку повешен блок:
{ || MyButtonRun2(), DbSetorder(1), ;
oBrw1:Reset(), oBrw1:ResetVScroll(.T.), oBrw1:Refresh(.T.) , ;
SetProperty(oBrw1:cParentWnd, oBrw1:cControlName, "Enabled", .T.),;
DoMethod(oBrw1:cParentWnd, oBrw1:cControlName, "SetFocus") }

в MyButtonRun2():
SetProperty(oBrw1:cParentWnd, oBrw1:cControlName, "Enabled", .F.)
// ------- заблокировать изменение размеров окна ----------
SetProperty(cForm, "Sizable" , .F. ) // NOSIZE
SetProperty(cForm, "MaxButton" , .F. ) // NOMAXIMIZE
SetProperty(cForm, "MinButton" , .F. ) // NOMINIMIZE
....



Спасибо: 0 
Профиль
Haz
администратор




Пост N: 781
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.02.16 13:41. Заголовок: вертикальный скролл ..


вертикальный скролл автоматом пропадает когда строк меньше чем может показать бровс.
 
If ::nLen <= ::nRowCount()
nMin := nMax := 0
Else
nMin := Min( 1, ::nLen )
nMax := Min( ::nLen, MAX_POS )
EndIf


Можно его включить принудительно кодом
 
If oBrw:oVScroll != Nil
oBrw:oVScroll:SetRange( nMin, nMax )
:oBrwoVScroll:SetPos( oBrw:RelPos( oBrw:nLogicPos() ) )
EndIf


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




Пост N: 4701
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.02.16 14:18. Заголовок: http://f6.s.qip.ru/~..




А почему так ?
На ХР маленькая дырка, на Win7-8 больше.
Разве функции
nFWidth := GetClientWidth( GetFormHandle( _HMG_ThisFormName ) )
nFHeight := GetClientHeight( GetFormHandle( _HMG_ThisFormName ) )
не определяют правильно размеры ?
Или Tsbrowse сам меняет размеры - при смене изменений:
// ------- заблокировать изменение размеров окна ----------
SetProperty(cForm, "Sizable" , .F. ) // NOSIZE
SetProperty(cForm, "MaxButton" , .F. ) // NOMAXIMIZE
SetProperty(cForm, "MinButton" , .F. ) // NOMINIMIZE


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




Пост N: 4704
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.02.16 17:13. Заголовок: Haz пишет: Можно ег..


Haz пишет:

 цитата:
Можно его включить принудительно кодом


Спасибо, сделал, только чуток исправив код.
Появился скролинг, но дырка остается....


Наверно все таки сам Tsbrowse меняет свои размеры ? Или я неправ ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 785
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.02.16 17:18. Заголовок: Andrey пишет: Навер..


Andrey пишет:

 цитата:
Наверно все таки сам Tsbrowse меняет свои размеры ? Или я неправ ?


Сам не меняет точно. Это можно сделать только изменив размеры окна oBrw:hWnd принудительно

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




Пост N: 4705
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.02.16 17:46. Заголовок: Странненько.... Взя..


Странненько....

Взял после изменения - добавил пересчёт размеров формы.
oBrw1:Reset()
oBrw1:Refresh(.T.)
oBrw1:ResetVScroll(.T.)

If oBrw1:oVScroll != Nil
oBrw1:oVScroll:SetRange( nMin, nMax )
oBrw1:oVScroll:SetPos( oBrw1:RelPos( oBrw1:nLogicPos() ) )
EndIf

SetProperty(oBrw1:cParentWnd, oBrw1:cControlName, "Enabled", .T.)

ResizeForma1(.F.) // без перерисовок кнопок

RETURN NIL

И получается фигня - размеры LABEL объектов тоже другие, кнопки налезают на бровс.



Может при создании окна бровса нужно делать что то такое ?
DEFINE TBROWSE oBrw1 ;
AT 1 + iif( IsVistaOrLater(), GetBorderWidth()/2, 0 ), ;
1 + iif( IsVistaOrLater(), GetBorderHeight()/2, 0 ) ;
WIDTH test.WIDTH - 2 * GetBorderWidth() ;
HEIGHT test.HEIGHT - GetTitleHeight() ....

Хотя у меня при изменении размера стоит так:
Скрытый текст



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




Пост N: 4706
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.02.16 18:10. Заголовок: Нашёл где собака зар..


Нашёл где собака зарыта:

ДО:
actpos= {0, 0, 1259, 979}
HStBar= 70 w= 1259 h= 761

// ------- заблокировать изменение размеров окна ----------
SetProperty(cForm, "Sizable" , .F. ) // NOSIZE
SetProperty(cForm, "MaxButton" , .F. ) // NOMAXIMIZE
SetProperty(cForm, "MinButton" , .F. ) // NOMINIMIZE

ПОСЛЕ:
actpos= {0, 0, 1269, 989}
nHStBar= 70 w= 1269 h= 771

Т.е. после запрета изменения размера окна, размер окна меняется на 10х10 пикселей !!!
Разве так должно быть ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 786
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.02.16 18:13. Заголовок: 1 Если после первого..


1 Если после первого показа бровса сразу вызвать пересчет , то что ?
2 Перепроверь свой пересчет размеров, возможно там не то считает.


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 787
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.02.16 18:15. Заголовок: Haz пишет: Т.е. пос..


Haz пишет:

 цитата:
Т.е. после запрета изменения размера окна, размер окна меняется на 10х10 пикселей !!!
Разве так должно быть ?


скорее всего косяк

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




Пост N: 4719
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.16 16:41. Заголовок: Всем привет ! Вопро..


Всем привет !

Вопрос такой созрел: как из другого объекта можно раскрыть комбобох ?
Т.е. допустим при нажатии мышкой на картинке , открылся комбобох.

@ 10, nFWidth - 30 IMAGE Image_1 PICTURE aFlags[M->nPubLang] WIDTH 26 HEIGHT 26 ;
OnMouseHover RC_CURSOR( "MINIGUI_FINGER" ) ..... ;
ACTION { || Forma_1.ComboEx_1.Show, Forma_1.ComboEx_1.?????? }





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




Пост N: 861
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.16 16:59. Заголовок: Andrey пишет: как из..


Andrey пишет:
 цитата:
как из другого объекта можно раскрыть комбобох


PostMessage( GetControlHandle(<ComboBoxName>, cFormName), WM_KEYDOWN, VK_F4, 0)

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




Пост N: 4721
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.16 17:44. Заголовок: SergKis пишет: Post..


SergKis пишет:

 цитата:
PostMessage( GetControlHandle(<ComboBoxName>, cFormName), WM_KEYDOWN, VK_F4, 0)



Не срабатывает !
ACTION { || Forma_1.ComboEx_1.Show ,;
PostMessage( GetControlHandle( "ComboEx_1", "Forma_1" ), WM_KEYDOWN, VK_F4, 0) }


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




Пост N: 862
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.16 19:43. Заголовок: Andrey а так ACTION..


Andrey
а так
ACTION { |hCB| Forma_1.ComboEx_1.Show , hCB := GetControlHandle( "ComboEx_1", "Forma_1" ), ;
SetFocus(hCB), PostMessage( hCB, WM_KEYDOWN, VK_F4, 0) }

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




Пост N: 4722
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.16 23:11. Заголовок: SergKis пишет: а та..


SergKis пишет:

 цитата:
а так


Тоже не работает ...

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 886
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.02.16 23:46. Заголовок: Andrey Посмотри фун..


Andrey
Посмотри функцию ComboboxShowList() в примере samples\Advanced\FileMan

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




Пост N: 864
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.16 23:54. Заголовок: Andrey пишет:Тоже не..


Andrey пишет:
 цитата:
Тоже не работае


у меня просто combobox и msvc работает, твой вариант работает так:
 
ACTION { || Forma_1.ComboEx_1.Show, ;
SetFocus(GetControlHandle( "ComboEx_1", "Forma_1" )), ;
_PushKey ( VK_F4 ) }


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




Пост N: 4723
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.16 23:58. Заголовок: SergKis пишет: у ме..


SergKis пишет:

 цитата:
у меня просто combobox и msvc работает, твой вариант работает так:


Ура ! Заработало ! Спасибо !

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




Пост N: 4724
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.16 23:58. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Посмотри функцию ComboboxShowList() в примере samples\Advanced\FileMan


Спасибо !

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




Пост N: 4741
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.02.16 15:23. Заголовок: Всем привет ! Возмож..


Всем привет !
Возможно ли закрыть показ вывода объектов на форму ?
А потом разрешить показ.
А то забодало мельтешение объектов на форме при пересчете формы.


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


Пост N: 519
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 23.02.16 15:10. Заголовок: Toolbar В Дизайнере


Создаем в дизайнере форму, добавляем Тоолбар и ... все вываливается с ошибкой.

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 887
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.02.16 16:49. Заголовок: Vlad04 пишет: вывал..


Vlad04 пишет:

 цитата:
вываливается с ошибкой


Благодарю за сообщение!
Поправил эту ошибку - обновить Ide можно через меню Help->Update

C праздником!

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


Пост N: 520
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 23.02.16 17:25. Заголовок: Спасибо огромное за ..


Спасибо огромное за оперативность! Вас так же!

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


Пост N: 521
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 23.02.16 17:37. Заголовок: И еще просьба. Не м..


И еще просьба. Не могли бы повторить один из примеров
c:\MiniGUI\SAMPLES\BASIC\mdi\**
но с использованием Дизайнера.
(Что поделаешь - нравится мне работать с Дизайнером, точнее - комбинированный метод)

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




Пост N: 4745
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.02.16 13:10. Заголовок: Почему криво работае..


Почему криво работает функция ChangeFileExt() ?
Делаю так
cFileDbf := "Customer.dbf"
cFileDbfNew := ChangeFileExt( cFileDbf, "_new.dbf" )
cFileDbfMemo := ChangeFileExt( cFileDbf, "_new.fpt" )

Возвращает спереди ещё дополнительный знак "\", т.е. "\Customer_new.dbf" и "\Customer_new.fpt"
Или так задумано ?
И чем тогда обрезать расширение файла, по старинке - как в Клипере SUBSTR(cFile,1,RAT(".",cFile)-1 ) ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5486
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.02.16 15:01. Заголовок: Andrey Живет она в ..


Andrey
Живет она в i_pseudofunc.ch , переделай если надо.

Andrey пишет:

 цитата:
cFileDbfNew := ChangeFileExt( cFileDbf, "_new.dbf" )


Работает она я так понял с расширением (глубже не копал ) а ты указал часть имени + расширение

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 809
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.02.16 15:32. Заголовок: Dima пишет: Или так..


Andrey пишет:

 цитата:
Или так задумано ?


так задумано
 
#xtranslate ChangeFileExt( <cFile>, <cExt> ) ;
=> ;
cFilePath( <cFile> ) + "\" + cFileNoExt( <cFile> ) + <cExt>



 цитата:
И чем тогда обрезать расширение файла, по старинке - как в Клипере SUBSTR(cFile,1,RAT(".",cFile)-1 ) ?


по старинке или используй
 
hb_FNameSplit( cFileSpec, @cPath, @cFile, @cExt )


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




Пост N: 4746
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.02.16 16:40. Заголовок: Haz пишет: или испо..


Haz пишет:

 цитата:
или используй


Спасибо БОЛЬШОЕ !

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




Пост N: 4747
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.02.16 16:45. Заголовок: Dima пишет: а ты ук..


Dima пишет:

 цитата:
а ты указал часть имени + расширение


Понял. Если бы полный путь указал, не было бы ошибки.

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




Пост N: 4748
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.02.16 16:52. Заголовок: Вопрос по окнам созр..


Вопрос по окнам созрел.

Делаю MAIN окно. Из него вызываю WINDOWTYPE STANDARD , а из этого окна вызываю карточку, окно:
MODAL NOSYSMENU ;
После переключения программы, мне нужно переключаться на MAIN окно, там оказывается сидит эта карточка.
Но иконка и надпись в MAIN окна - свои. Юзера путаются.
Что делать ?
1) менять тип окна карточки ?
2) менять иконку и надпись MAIN окна на карточку, а потом возвращать ?


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




Пост N: 4838
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.04.16 16:59. Заголовок: Всем привет ! А как..


Всем привет !

А как сделать в объекте TEXTBOX не показывался ноль ?
INPUTMASK '@Z 99999' - не прокатывает...
FORMAT '@Z 99999' - тоже не прокатывает...

@ 20, 80 TEXTBOX TextBox_Dolg VALUE 0 WIDTH 175 HEIGHT nFontSize*2 ;
BACKCOLOR WHITE NUMERIC INPUTMASK '99999' RIGHTALIGN ;
ON CHANGE {|| nDolg := Form_1.TextBox_Dolg.Value }







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




Пост N: 4839
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.04.16 16:35. Заголовок: Подскажите люди добр..


Подскажите люди добрые, как получить инвертный цвет из любого цвета ?
Может функция есть для этого ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 884
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.04.16 17:01. Заголовок: Andrey пишет: Подск..


Andrey пишет:

 цитата:
Подскажите люди добрые, как получить инвертный цвет из любого цвета ?
Может функция есть для этого ?


Гуглить
http://www.cyberforum.ru/csharp-net/thread302302.html

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




Пост N: 4840
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.04.16 17:04. Заголовок: C# public Color inve..


C#
public Color invert(Color c)
{
return Color.FromArgb(c.A, 0xFF - c.R, 0xFF - c.G, 0xFF - c.B);
}


Блин, и как это переделать ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 885
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.04.16 17:09. Заголовок: Andrey пишет: Блин,..


Andrey пишет:

 цитата:
Блин, и как это переделать ?


а что тут сложного ?
1 разложить цвет на компоненты R,G,B
2 получить новые компоненты R1 := oxFF - R , G1 := 0XFF -G и B1 := 0xFF - B
3 собрать цвет nColor := RGB( R1, G1, B1 )

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




Пост N: 4841
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.04.16 00:02. Заголовок: Haz пишет: 2 получи..


Haz пишет:

 цитата:
2 получить новые компоненты R1 := oxFF - R , G1 := 0XFF -G и B1 := 0xFF - B



Вот так понятней ! Спасибо !

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




Пост N: 4842
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.04.16 00:04. Заголовок: Ещё вопрос возник по..


Ещё вопрос возник по кнопке.
Надписи не всегда в кнопке помещаются.... Обрезает кнопка.
Как определить - поместиться надпись в кнопке или нет (чтобы шрифт потом уменьшить) ?

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




Пост N: 943
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.04.16 00:09. Заголовок: Andrey ты в своем п..


Andrey
ты в своем примере уже проделывал такое
клиент.width и подбираешь размер фонта под width

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




Пост N: 4843
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.04.16 00:39. Заголовок: SergKis пишет: ты в..


SergKis пишет:

 цитата:
ты в своем примере уже проделывал такое
клиент.width и подбираешь размер фонта под width


Под Tsbrowse делал. А под кнопку нет.
Кнопка же с картинкой, слева или справа. Т.е. какая ширина картинки в кнопке ?
Отступы разные в кнопке. Какая ширина между картинкой и надписью ?
Можно коеффицент ввести, но на разных разрешениях экрана использую разную ширину кнопок, вот и проблема...
1) Как подсчитать разрешённый максимальный размер ширины надписи на кнопке ????
2) Кол-во строк в кнопке тоже бывает не видно. Значит нужно подсчитать кол-во видимых строк в кнопке. Как ?

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




Пост N: 4844
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.04.16 09:49. Заголовок: Вот так получается: ..


Вот так получается:


Нужно уменьшать шрифт. А как ?

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




Пост N: 4856
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.04.16 16:00. Заголовок: Не работают клавиши ..


Не работают клавиши PgUp и PgDw на форме.

Код примерно такой:

Скрытый текст


Что не так делаю ?

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 932
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 20.04.16 10:33. Заголовок: Andrey пишет: Что н..


Andrey пишет:

 цитата:
Что не так делаю ?


Поскольку эти клавиши определяются для окна типа STANDARD (а не для основного окна приложения) надо заменить

 цитата:
Application.Handle


на

 цитата:
GetFormHandle("Form_1")




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




Пост N: 4857
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.16 14:48. Заголовок: Спасибо БОЛЬШОЕ, Гри..


Спасибо БОЛЬШОЕ, Григорий !

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




Пост N: 4858
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.16 19:07. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
GetFormHandle("Form_1")



Не заработало...

Поставил GetFormHandle("Win_2") - только тогда заработало !

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




Пост N: 4870
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.04.16 21:00. Заголовок: Всем привет ! Опять..


Всем привет !

Опять непонятка с окнами...

С окна WINDOWTYPE STANDARD c Tsbrowe вызываю первое окно MODAL (тоже c Tsbrowe).
Далее вызываю прелодер с ожиданием (тоже MODAL), строю другое (второе) MODAL окно с шестью Tab+Tsbrowse, заполняю данными,
закрываю прелодер и вуаля - НЕТ этого MODAL окно с шестью Tab+Tsbrowse. Это окно под ПЕРВЫМ MODAL.
Переключиться не могу. Только после закрытия ПЕРВОГО MODAL могу переключиться на второе окно.
Как сделать активным второй MODAL ?

Пробовал на второе окно ставить
SetProperty("Form_2", "Topmost", .T.) - окно на переднем плане, но нажать на нём ничего нельзя..., только после закрытия первого MODAL можно работать со вторым окном.



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




Пост N: 4873
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.04.16 12:49. Заголовок: Andrey пишет: Далее..


Andrey пишет:

 цитата:
Далее вызываю прелодер с ожиданием (тоже MODAL)


Убрал это прелодер.
Второе модал окно заработало ! Т.е. нормально работает, фокус на втором окне сразу.

Вывод:
В прелодере (\SAMPLES\BASIC\WAIT_WINDOW_2\demo2.prg) что-то портит вывод MODAL окон !
Подскажите пожалуйста, что-там нужно исправить ?

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




Пост N: 4875
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.16 13:46. Заголовок: Подскажите пожалуйст..


Подскажите пожалуйста, как курсор мышки программно убрать с окна или передвинуть на нужные координаты ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5632
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.04.16 14:05. Заголовок: Andrey пишет: Подск..


Andrey пишет:

 цитата:
Подскажите пожалуйста, как курсор мышки программно убрать с окна или передвинуть на нужные координаты ?


Смотри пост Григория намбер 597

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




Пост N: 4876
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.16 19:38. Заголовок: Dima пишет: Смотри ..


Dima пишет:

 цитата:
Смотри пост Григория намбер 597


Подскажи как смотреть/искать посты по номерам ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5634
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.04.16 19:48. Заголовок: Andrey http://clipp..

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




Пост N: 4877
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.16 19:55. Заголовок: Dima , спасибо ! :s..


Dima , спасибо !

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




Пост N: 4878
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.16 20:35. Заголовок: Не совсем то получае..


Не совсем то получается.

Создаю форму: cFormName, на форму ставлю картинку, форму центрирую.
В процедуре делаю следующее:
ON INIT {|| SetProperty( cFormName, "Image_0","Setfocus"), SetCursorPos( nImgRow, nImgCol ) }

Как узнать координаты окна cFormName относительно начала окна 0,0 ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 910
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.04.16 21:14. Заголовок: Andrey пишет: Как у..


Andrey пишет:

 цитата:
Как узнать координаты окна cFormName относительно начала окна 0,0


Гусары молчать
Свои примеры глянь getclientrect как то так

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




Пост N: 4879
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.16 21:37. Заголовок: Я нашел функцию h..


Я нашел функцию
hWnd := GetFormHandle(cFormName)
GetClientRect(hWnd, actpos) // размеры окна
MsgDebug(actpos)
Но она же выдаёт размеры окна, т.е. типа 0,0,1024,660
Окно же само по центру экрана. Можно же конечно посчитать разрешение экрана - размеры окна, поделить на 2 минус... и т.д.

Есть готовая функция или нет ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 911
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.04.16 21:40. Заголовок: Andrey пишет: Но он..


Andrey пишет:

 цитата:
Но она же выдаёт размеры окна, т.е. типа 0,0,1024,660


Это точно? Пробовал ? Вроде всегда выдавала координаты.
Проперти окна проверял?
Пишу с мобилы. Но вопрос чес слово не серьезный.

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




Пост N: 4880
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.16 21:45. Заголовок: Да, пробовал. Не то ..


Да, пробовал. Не то я делал. Нужно было другую функцию брать.

GetWindowRect( hWnd, actpos ) и всё...

Всем спасибо !


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 912
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.04.16 22:24. Заголовок: Andrey пишет: Нужно..


Andrey пишет:

 цитата:
Нужно было другую функцию брать.

GetWindowRect( hWnd, actpos ) и всё...


Кстати не знал что меж ними разница есть
GetClientRect() лишняя какая то получается , GetWindowRect() более информативна

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




Пост N: 4881
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.16 22:50. Заголовок: Haz пишет: GetClien..


Haz пишет:

 цитата:
GetClientRect() лишняя какая то получается


Нет не лишняя. Очень часто использую.

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 913
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.04.16 23:03. Заголовок: Andrey пишет: Очень..


Andrey пишет:

 цитата:
Очень часто использую.


для чего ?

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




Пост N: 4883
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.04.16 06:31. Заголовок: Haz пишет: для чего..


Haz пишет:

 цитата:
для чего ?



nHStBar := GetWindowHeight(GetControlHandle('STATUSBAR', 'Form_0')) // высота StatusBar

и т.д.

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




Пост N: 4885
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.04.16 08:10. Заголовок: Как убрать предупреж..


Как убрать предупреждение при компиляции с ключом -w2 -es2:
form_test.prg(351) Warning W0004 Codeblock parameter 'A' declared but not used in function "CREATEBROWSE"

Я понимаю, что переменную такую не использую, но и удалить её не хочется (на будущее пригодиться):
// переназначим цвет: строка маркера/курсора текущй записи базы
oBrwA:SetColor( { 6 }, { { |a,b,c| IF( c:nCell == b,{ 4915199, 255 }, { Rgb( 255, 192, 160 ), Rgb( 255, 226, 0 ) }) } } )



Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 935
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.04.16 10:10. Заголовок: Andrey пишет: Как у..


Andrey пишет:

 цитата:
Как убрать предупреждение


{ |a,b,c| IF( c:nCell == b,{ 4915199, 255 }, { Rgb( 255, 192, 160 ), Rgb( 255, 226, 0 ), a:=NIL }



Спасибо: 0 
Профиль
Haz
администратор




Пост N: 914
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 29.04.16 10:44. Заголовок: Haz пишет: GetClien..


Haz пишет:

 цитата:
GetClientRect() лишняя какая то получается , GetWindowRect() более информативна


Уяснил для себя разницу в функциях GetClientRect() GetWindowRect()
http://shot.qip.ru/00Qiof-3ZkNFxXnN/


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




Пост N: 964
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.04.16 12:14. Заголовок: Haz пишет:Уяснил для..


Haz пишет:
 цитата:
Уяснил для себя разницу в функциях GetClientRect() ...


Функция применима и к контролам и к окнам, пример исп. есть в TBrw_create(...) \Advanced\Tsb_seek_2

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 915
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 29.04.16 13:11. Заголовок: SergKis пишет: Функ..


SergKis пишет:

 цитата:
Функция применима и к контролам и к окнам


Спасиб. И без примера понятно , функция возвращает размер рабочего поля окна в относительных координатах начиная с 0, 0 .


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




Пост N: 4919
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.05.16 18:12. Заголовок: Всем привет ! Исполь..


Всем привет !
Использую объект TAB. На маленьких разрешениях объекты которые положил на TAB уезжают вниз экрана.
Можно ли как то сделать виртуальный TAB, чтобы объекты на нём можно было сдвигать вверх или вниз ?
Как в примере MiniGUI\SAMPLES\BASIC\ExtractIcon\demo2.prg

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




Пост N: 4944
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.05.16 15:18. Заголовок: Использую объект Get..


Использую объект GetBox.
1) Как в нём сделать переход на другие объекты (КНОПКУ) по клавише ENTER ?
2) Как сделать для числа отбивку влево (как у текста) ?

Заранее спасибо за помощь !

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 976
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.05.16 16:40. Заголовок: Andrey пишет: 1) Ка..


Andrey пишет:

 цитата:
1) Как в нём сделать переход на другие объекты (КНОПКУ) по клавише ENTER ?


В примере C:\MiniGUI\SAMPLES\BASIC\GetBox\demo.prg вроде так и есть



 цитата:
2) Как сделать для числа отбивку влево (как у текста) ?


Изучить наконец шаблоны и функции GET объектов, они унаследованы еще из CLIPPERа
а то подобные вопросы , учитывая твой стаж просто ставят в тупик


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




Пост N: 4945
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.05.16 17:10. Заголовок: Haz пишет: Изучить ..


Haz пишет:

 цитата:
Изучить наконец шаблоны и функции GET объектов, они унаследованы еще из CLIPPER


А я думал как у TEXTBOX типа RIGHTALIGN и NUMERIC и ON ENTER ( Форма.Кнопка.Setfocus ) ....
Понял. Спасибо.

Haz пишет:

 цитата:
В примере C:\MiniGUI\SAMPLES\BASIC\GetBox\demo.prg так и есть


Да я его до этого смотрел. Не то...

Делаю на форме один GETBOX и две кнопки. На кнопках стоит NOTABSTOP.
Как после ввода в GETBOX при нажатии на ENTER перейти на кнопку ( Форма.Кнопка.Setfocus ) ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 977
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.05.16 17:15. Заголовок: Andrey пишет: Да я ..


Andrey пишет:

 цитата:
Да я его до этого смотрел. Не то...
Делаю на форме один GETBOX и две кнопки. На кнопках стоит NOTABSTOP.


попробуй на Valid это повесить

 цитата:
( Форма.Кнопка.Setfocus )



Спасибо: 0 
Профиль
Haz
администратор




Пост N: 978
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.05.16 17:21. Заголовок: Andrey пишет: На кн..


Andrey пишет:

 цитата:
На кнопках стоит NOTABSTOP.


в этом кстати какой смысл ?

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




Пост N: 4946
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.05.16 17:56. Заголовок: Haz пишет: в этом ..


Haz пишет:

 цитата:

в этом кстати какой смысл ?


SergKis посоветовал.

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




Пост N: 4947
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.05.16 18:03. Заголовок: Кто как делает для Б..


Кто как делает для Больших Фонтов - Крупный размер 120 (точек/дюйм) в объекте GETBOX ?
Приходиться писать так:
@ 40, 40 GETBOX Get_1 .... ;
HEIGHT nFontSize*IIF(LargeFonts(),3,2) ;

Для LABEL есть AUTOSIZE, а для GETBOX что можно использовать ?


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 979
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 21.05.16 18:06. Заголовок: Andrey пишет: SergK..


Andrey пишет:

 цитата:
SergKis посоветовал.


Однако аргумент
а самому-то зачем

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




Пост N: 4966
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.06.16 13:30. Заголовок: Всем привет ! Как с..


Всем привет !

Как сделать курсор мышки - песочные часы ?
Есть ли в МиниГуи готовая модель или самому нужно делать (искать) ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5710
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.06.16 13:34. Заголовок: Andrey пишет: (иска..


Andrey пишет:

 цитата:
(искать)


Ага в примерах Минигуи ))
C:\MiniGUI\SAMPLES\BASIC\CURSOR

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




Пост N: 4967
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.06.16 13:38. Заголовок: Dima пишет: Ага в п..


Dima пишет:

 цитата:
Ага в примерах Минигуи ))


Это видел, спасибо.

Мне песочные часы нужно. Если нет, то нет...

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




Пост N: 4969
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.06.16 14:42. Заголовок: Ещё вопрос по курсор..


Ещё вопрос по курсорам возник.
Мне нужен кусор мышки ожидания при переходе с Tbrowse на карточку. Как это сделать ?

Судя по описанию:
SetWaitCursor( Application.Handle ) // Курсор мышки - ожидание
нужно передавать Application.Handle в ту функцию, где курсор нужно убирать ? Или я неправ.

Но у меня курсор ожидания так и не выходит... вообще ....




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




Пост N: 4976
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.06.16 17:11. Заголовок: Всем привет ! Вопро..


Всем привет !

Вопрос простой возник.
На форме есть кнопка BUTTONEX Button_Dbf с обработкой ACTION {|| ..... }

Как эмулировать нажатие на эту кнопку ?
Т.е. хочу в ON INIT формы поставить "нажатие на эту кнопку".

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




Пост N: 1027
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.06.16 17:59. Заголовок: Andrey поставь фоку..


Andrey
поставь фокус на нее и пошли _pushkey(VK_SPACE)

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




Пост N: 4977
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.06.16 18:37. Заголовок: Спасибо большое ! :..


Спасибо большое !

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




Пост N: 4989
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.07.16 21:47. Заголовок: Всем привет ! Испол..


Всем привет !

Использую текстовый GETBOX
Как сделать чтобы центровка текста была по центру ?
В свойствах нашёл только RIGHTALIGN ....

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5838
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.07.16 22:08. Заголовок: Andrey пишет: Как с..


Andrey пишет:

 цитата:
Как сделать чтобы центровка текста была по центру ?


Похоже пока ни как.

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




Пост N: 1063
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.16 22:39. Заголовок: Andrey пишет: Как сд..


Andrey пишет:
 цитата:
Как сделать чтобы центровка текста была по центру ?


SetWidowStyle(hWnd, ES_LEFT\ES_CENTER\ES_RIGHT, .T.\.F.)
в минигуи вроде такая


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




Пост N: 4990
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.07.16 22:45. Заголовок: SergKis пишет: SetW..


SergKis пишет:

 цитата:
SetWidowStyle(hWnd, ES_LEFT\ES_CENTER\ES_RIGHT, .T.\.F.)
в минигуи вроде такая


А как её прикрутить к GETBOX ?
cObj := "GetBox_"+HB_NtoS(nJ)+"x"+HB_NtoS(nI)
@ nRowGet, nCol GETBOX &cObj VALUE aTxtDim[nJ,nI] ;
WIDTH nGetWidth HEIGHT nFontSize*IIF(LargeFonts(),3,2) ;
BACKCOLOR { aBackColor, aBackColor, {200,255,255} } ;
FONTCOLOR { aFontColor, aFontColor, aFontColor } ;
ON CHANGE { || aTxtDim[nJ,nI] := SetProperty( ThisWindow.Name, cObj, "Value" ) }


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5839
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.07.16 23:00. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как её прикрутить к GETBOX ?


Как то так SetWidowStyle(GetFormHandle( "Form_1" ), ES_CENTER, .T.) только Минигуи ни чё не знает
о SetWidowStyle

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




Пост N: 1064
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.16 23:00. Заголовок: Andrey пишет А как е..


Andrey пишет
 цитата:
А как её прикрутить к GETBOX ?


@ ... GETBOX ...
SetWindowStyle(GetControlHandle(cGetBoxName, cFormName), ES_CENTER, .T.)

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




Пост N: 1065
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.16 23:05. Заголовок: Dima пишет только Ми..


Dima пишет
 цитата:
только Минигуи ни чё не знает о SetWidowStyle


должна знать, c_window.c
 
HB_FUNC( SETWINDOWSTYLE )
{
LONG_PTR Style = GetWindowLongPtr( ( HWND ) HB_PARNL( 1 ), GWL_STYLE );

SetWindowLongPtr( ( HWND ) HB_PARNL( 1 ), GWL_STYLE,
( hb_parl( 3 ) ) ? Style | ( LONG_PTR ) HB_PARNL( 2 ) : Style & ( ~( LONG_PTR ) HB_PARNL( 2 ) ) );
}

сам пользую самопальную

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5840
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.07.16 23:07. Заголовок: SergKis пишет: SetW..


SergKis пишет:

 цитата:
SetWidowStyle


похоже n пропущена вот у меня и не нашло

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




Пост N: 1066
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 03.07.16 23:13. Заголовок: Dima пишет похоже n ..


Dima пишет
 цитата:
похоже n пропущена


n пропустил это да - маленький экран и клава - не увидел

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




Пост N: 4991
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.07.16 00:00. Заголовок: Не собирается, выдаё..


Не собирается, выдаёт ошибку:
form_PrnA20.prg(300) Warning W0001 Ambiguous reference 'ES_CENTER'
No code generated.
hbmk2[form_1]: Error: Running Harbour compiler (embedded). 1


Проехали...
Подключил #include "i_winuser.ch"

Красиво получается !!! Спасибо БОЛЬШОЕ !

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




Пост N: 5034
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.08.16 11:19. Заголовок: Григорий, в МиниГуи ..


Григорий, в МиниГуи есть у тебя функция MsgDebug() - удачная функция.
Но вот стандартной функции отладки вывода в файл нет.
Я понимаю, каждый пишет свои функции, но для полноты содержания отладки было бы неплохо иметь такую функцию.
Может поместишь в библиотеку функцию SergKis - MsgLog() ?
Она короткая и удобная.


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5941
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.08.16 12:03. Заголовок: Andrey StrFile()..


Andrey
StrFile()

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




Пост N: 5035
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.08.16 12:44. Заголовок: Dima пишет: Andrey ..


Dima пишет:

 цитата:
Andrey
StrFile()


Неудобен. Нет вывода массива, и т.д., т.е. нужно ручками преобразовывать в строку нужные тебе переменные.
А в функции MsgLog() это делается автоматом... И не задумываешься, что делать, написал MsgLog("aDim=", aDim) и всё.
Я эту функцию тащу в каждый свой проект. Даже небольшой пример и то удобней с ней отлаживать.
Вот и хотелось бы иметь встроенную функцию MsgLog(), как и MsgDebug() !



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




Пост N: 1126
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.08.16 13:38. Заголовок: Andrey пишет Может п..


Andrey пишет
 цитата:
Может поместишь в библиотекуфункцию SergKis - MsgLog() ?


тогда другой вариант Скрытый текст



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




Пост N: 1127
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.08.16 13:52. Заголовок: Andrey пишет Я эту ф..


Andrey пишет
 цитата:
Я эту функцию тащу в каждый свой проект


А сделать общую для всех проектов lib и туда складывать полезное и одинаково используемое пробовал ?

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




Пост N: 5036
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.08.16 14:58. Заголовок: SergKis пишет: А сд..


SergKis пишет:

 цитата:
А сделать общую для всех проектов lib и туда складывать полезное и одинаково используемое пробовал ?


Нет. Люблю держать всё в исходниках. Очень редко использую свои Lib.
Но это дело вкуса...

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




Пост N: 1128
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.08.16 15:42. Заголовок: Andrey пишет Очень р..


Andrey пишет
 цитата:
Очень редко использую свои Lib


тогда положи в ch файл и подключай в исходнике

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5942
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.08.16 16:20. Заголовок: Andrey пишет: Может..


Andrey пишет:

 цитата:
Может поместишь в библиотеку функцию SergKis - MsgLog()


Почему бы нет , я за

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




Пост N: 5046
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.08.16 17:58. Заголовок: Вопрос по ходу созда..


Вопрос по ходу создания кода на МиниГуи.
Нужны периодически делать разные менюшки. Всегда делаю ручками. Устал... Времени тратиться куча.

Кто на чём делает менюшки, типа вот такую надо ?



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


Пост N: 1249
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 12.08.16 18:35. Заголовок: Andrey пишет: Кто н..


Andrey пишет:

 цитата:
Кто на чём делает менюшки, типа вот такую надо ?


А где там меню?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 5963
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.08.16 19:36. Заголовок: Петр пишет: А где т..


Петр пишет:

 цитата:
А где там меню?


+1

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




Пост N: 5066
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.09.16 19:06. Заголовок: SergKis пишет: тог..


SergKis пишет:

 цитата:

тогда другой вариант
FUNCTION MLogFile( cFile ) // Получить \ установить имя файла вывода ф-ии MLog(...)
LOCAL cOld
STATIC MLog_File := "_MsgLog.txt"
cOld := MLog_File
If cFile != NIL; MLog_File := cFile
EndIf
RETURN cOld




Что то сменить имя файла вывода не получается. Постоянно выводит _MsgLog.txt

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




Пост N: 1197
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.09.16 19:42. Заголовок: Andrey используй ..


Andrey
используй
SET LOGFILE TO "_debug.txt"
? ...,...
это уже в МиниГуи есть и глянь
FUNCTION _SetGetLogFile( cFile )
и
FUNCTION _LogFile( lCrLf, ... )
сам же просил

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




Пост N: 5067
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.09.16 20:05. Заголовок: SergKis пишет: сам ..


SergKis пишет:

 цитата:
сам же просил


Да не знал, что Григорий так быстро вставил в эту версию.

А как быть с
#command ? [<explist,...>] => _LogFile( <explist> )
#command ?a [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( ne, xv ) })
#command ?v [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( ne, iif(valtype(xv) == "A", hb_valtoexp(xv), xv )) })

У меня первый параметр вывода пропадает...


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




Пост N: 5068
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.09.16 20:10. Заголовок: Сделал так: #command..


Сделал так:
#command ? [<explist,...>] => _LogFile( .t.,<explist> )
#command ?a [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( .t., ne, xv ) })
#command ?v [<arr>] => aEval(<arr>, {|xv,ne| _LogFile( .t., ne, iif(valtype(xv) == "A", hb_valtoexp(xv), xv )) })


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




Пост N: 1198
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.09.16 20:24. Заголовок: Andrey пишет Сделал ..


Andrey пишет
 цитата:
Сделал так ...


в i_ini.ch и так все нормально
 
#command ? [<explist,...>] => _LogFile( .T., <explist> )
#command ?? [<explist,...>] => _LogFile( .F., <explist> )
#command ?a [<arr>] => aEval( <arr>, { |xv, ne| _LogFile( .T., ne, xv ), _LogFile() } )
#command ?v [<arr>] => aEval( <arr>, { |xv, ne| _LogFile( .T., ne, iif( Valtype(xv)=="A", hb_valtoexp(xv), xv ) ), _LogFile() } )



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




Пост N: 5069
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.09.16 22:33. Заголовок: SergKis пишет: в i_..


SergKis пишет:

 цитата:
в i_ini.ch и так все нормально



А я через свой mydefines.ch делал...

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




Пост N: 5108
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.09.16 22:34. Заголовок: Всем привет ! Решил..


Всем привет !

Решил добавить на кнопки (объект BUTTONEX ) вызов контекстного меню.
Не получается, выдаёт ошибку:
Error BASE/1132 Переполнение массива: Неверное количество аргументов
Called from _ENDMENU(530)
Called from METRO_BUTTON(382)
Called from (b)ADDITION_MAINFORMS(161)
Called from AEVAL(0)
Called from ADDITION_MAINFORMS(161)
Called from (b)MAIN(96)
Called from (b)_DEFINESPLASHWINDOW(134)


По коду у меня это выглядит так:
Скрытый текст


Если убрать DEFINE CONTEXT MENU CONTROL &cObject ... то всё работает нормально !
Что за ошибка такая ? Как преодолеть её ?


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




Пост N: 5109
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.09.16 00:12. Заголовок: Разгадал загадку... ..


Разгадал загадку...
Достаточно было поставить - DEFINE CONTEXT MENU CONTROL &cObject OF &cForm

Хотя на маленьком примере можно и не ставить OF &cForm ... и без него работает...


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




Пост N: 5110
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.09.16 01:10. Заголовок: По доке: Enable and ..


По доке:
Enable and disable Context Menu Control
SET CONTEXT MENU CONTROL <cControlName> OF <cParentName> ON | OFF

Что то не работает...
SET CONTEXT MENU CONTROL "oBut_6" OF 'Form_Main' OFF
Всё равно по правой кнопки мышки появляется контекстное меню...


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1008
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.09.16 10:21. Заголовок: Andrey пишет: Что т..


Andrey пишет:

 цитата:
Что то не работает...
SET CONTEXT MENU CONTROL "oBut_6" OF 'Form_Main' OFF


А если попробовать записать без кавычек

SET CONTEXT MENU CONTROL oBut_6 OF Form_Main OFF



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




Пост N: 5111
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.09.16 15:40. Заголовок: Понял. Спасибо ! :s..


Понял. Спасибо !


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




Пост N: 5114
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.09.16 16:57. Заголовок: Вопрос насчёт курсор..


Вопрос насчёт курсора.

Имеется таблица.
При нажатии Enter или мышкой открывается карточка.
Открытие карточки бывает с задержкой (комп тормознутый, да и пока поля из базы по сетке прочитаешь)...
Как прикрутить курсор ожидания ?
Пробовал делать ДО создания окна карточки (не работает!):
SetWaitCursor( Thiswindow.Handle ) или SetWaitCursor( Application.Handle )

А восстановление курсора делаю в последней строчке ON INIT окна карточки:
SetArrowCursor( Thiswindow.Handle )

Разъясните пожалуйста как нужно правильно делать операции с курсором.


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6041
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.09.16 17:12. Заголовок: А если в Init окна п..


А если в Init окна первой строкой...



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




Пост N: 5115
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.09.16 20:46. Заголовок: Dima пишет: А если ..


Dima пишет:

 цитата:
А если в Init окна первой строкой...


Да без разницы.
Нет мышки-курсора ожидания, вообще.

Нужно чтобы сразу после нажатия в таблице - появлялся курсор ожидания.
Не получается у меня это.
Как это сделать ?


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1010
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.09.16 21:38. Заголовок: Andrey пишет: Как э..


Andrey пишет:

 цитата:
Как это сделать ?


Посмотри рабочий пример ниже (процедура ONDBLCLICK() )
Скрытый текст


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




Пост N: 5117
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.10.16 03:01. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Посмотри рабочий пример ниже (процедура ONDBLCLICK()



Чуток понял. Вопрос остался...

Скрытый текст


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




Пост N: 5122
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.10.16 18:53. Заголовок: Григорий, всё получи..


Григорий, всё получилось ! Спасибо большое !

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




Пост N: 5123
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.10.16 22:21. Заголовок: Всем привет. Вопрос ..


Всем привет.
Вопрос назрел давно уже. Имею кнопки объекта BUTTONEX типа такого:


Есть ли функции, которые позволяют определить, ширину название кнопки и поместилась ли нормально название на саму кнопку ?
Если задать шрифт BOLD, то название кнопки иногда не помещается, обрезается по краям...
Как можно рассчитать такую ситуацию ?

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


Пост N: 1304
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 08.10.16 13:10. Заголовок: Andrey пишет: Как м..


Andrey пишет:

 цитата:
Как можно рассчитать такую ситуацию ?



Сбросьте где-то на форму и попробуйте, сначала как есть, потом раскомментируйте строку Form1.Button2.Width

  
cCaptionLong := "Click here for update Data"
cCaptionShort := "Click here.."

@ 90,150 BUTTON Button2 CAPTION "?!" TOOLTIP "?!"

// Form1.Button2.Width := GetTextWidth( , cCaptionLong, ) + 20
Form1.Button2.Caption := If( GetTextWidth( , cCaptionLong, ) >= Form1.Button2.Width, cCaptionShort, cCaptionLong )
IF Form1.Button2.Caption == cCaptionLong
SetToolTip( Form1.Button2.Handle, cCaptionShort, GetFormToolTipHandle( "Form1" ) )
ELSE
SetToolTip( Form1.Button2.Handle, cCaptionLong, GetFormToolTipHandle( "Form1" ) )
ENDIF


Поищите в примерах и исходниках применение GetTextWidth.
Если мне не изменяет память, вы уже и задавали подобный вопрос. А может и не вы..


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


Пост N: 1305
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 08.10.16 13:26. Заголовок: Можете так попробова..


Можете так попробовать выкрутиться

 
cCaptionLong := "Click here for update Data"

@ 90, 150 BUTTON Button2 CAPTION cCaptionLong TOOLTIP cCaptionLong

DO WHILE GetTextWidth( , cCaptionLong, ) > ( Form1.Button2.Width - GetTextWidth( , "..", ) )
cCaptionLong := Left( cCaptionLong, Len( cCaptionLong ) - 1 )
ENDDO
Form1.Button2.Caption := cCaptionLong + ".."



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




Пост N: 5128
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.10.16 18:10. Заголовок: Петр пишет: Если мн..


Петр пишет:

 цитата:
Если мне не изменяет память, вы уже и задавали подобный вопрос.


Да может и задавал. Только до сих пор не решил этот вопрос, из-за этого ещё раз задаю вопрос.

Петр пишет:

 цитата:
Поищите в примерах и исходниках применение GetTextWidth.


Этой функцией пользуюсь, только в таком синтаксисе не пробовал: GetTextWidth( , cCaptionLong, )

Просто хотелось бы знать, на какой размер шрифта помещается в название кнопки, т.е. когда название обрезается и потом уже самостоятельно буду уменьшать размер шрифта кнопки.


Спасибо: 0 
Профиль
Softlog86



Пост N: 328
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 11.10.16 19:03. Заголовок: FUNCTION GetTxtWidth..


FUNCTION GetTxtWidth( cText, nFontSize, cFontName ) // get the width of the text
LOCAL hFont, nWidth

IF Valtype(cText) == 'N'
cText := Replicate('A', cText)
ENDIF

DEFAULT cText := Replicate('A', 2), ;
cFontName := _HMG_DefaultFontName, ;
nFontSize := _HMG_DefaultFontSize

hFont := InitFont(cFontName, nFontSize)
nWidth := GetTextWidth(0, cText, hFont)

DeleteObject (hFont)

RETURN nWidth


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




Пост N: 5130
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.10.16 00:30. Заголовок: GetTextWidth( , cCap..


GetTextWidth( , cCaptionLong, ) - не всегда верно даст результат.
Например я на форме устанавливаю один размер шрифта, а на кнопках другой.
Я это имел ввиду. И саму функция мне не нужно приводить.
Я понял как мне делать ! Спасибо за подсказки !


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




Пост N: 5149
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.10.16 01:44. Заголовок: Всем привет. Есть л..


Всем привет.

Есть ли в самой библиотеки МиниГуи окно без ожиданием ?
Как в примере MiniGUI\SAMPLES\BASIC\WAIT_WINDOW\demo2.prg
Делаю тестовые примеры, а тащить в свой проект отдельную функцию НЕ ХОЧУ !
Иначе теряется простота примера.

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




Пост N: 5170
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.11.16 13:48. Заголовок: Всем трудоголикам пр..


Всем трудоголикам привет !

Как определить - запущено ли MAIN окно ?


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




Пост N: 1295
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.11.16 14:03. Заголовок: Andrey пишет Как опр..


Andrey пишет
 цитата:
Как определить - запущено ли MAIN окно ?


Самое простое
If empty(_HMG_MainHandle)
MsgBox("Not found main window", "INFO")
EndIf

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




Пост N: 5206
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.12.16 15:49. Заголовок: Как цвет из BLUE, RE..


Как цвет из BLUE, RED и т.д. перевести в число ?
Есть функция в МиниГуи, или самому ваять нужно (хотя делал уже такую) ?

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


Пост N: 1363
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 04.12.16 17:59. Заголовок: Andrey пишет: Есть ..


Andrey пишет:

 цитата:
Есть функция в МиниГуи



Есть, RGB() называется. Также макрос в bostaurus.ch

#define ArrayRGB_TO_COLORREF(aRGB) RGB(aRGB[1],aRGB[2],aRGB[3])


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




Пост N: 5210
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.12.16 18:07. Заголовок: Хотел укоротить конс..


Хотел укоротить конструкцию:
aClr := BLUE
oText:Font:Color = RGB(aClr[1],aClr[2],aClr[3])

Сделал как раньше у себя:
oText:Font:Color = MyRGB(BLUE)



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




Пост N: 5307
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.01.17 17:12. Заголовок: Проект не трогал, по..


Проект не трогал, под новой версией МиниГуи стала появляться ошибка:
Error BASE/5056 MiniGUI Error: _SETFONTHANDLE
Called from _SETFONTHANDLE(0)
Called from _DEFINEOWNERBUTTON(497)
Called from METRO3BUTTON(69)


Один раз меню работает, второй раз вылетает. Что это за ошибка ?
функция METRO3BUTTON(69)
    DEFINE BUTTONEX &cObject 
PARENT &cForm
.....
FONTNAME cFont
FONTSIZE nFontSize
......
END BUTTONEX // вот эта 69 строка




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


Пост N: 1407
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 31.01.17 21:19. Заголовок: Andrey пишет: Что э..


Andrey пишет:

 цитата:
Что это за ошибка ?



Функция _SetFontHandle() в качестве второго параметра требует валидный хэндл шрифта.

Почему этот хэндл не валидный, по приведенному щедрому отрывку кода установить не имеется возможности.

Для инкапсуляции ошибки в файле h_button.prg
строку 496
IF FontHandle != 0
замените на
IF ( GetObjectType( FontHandle ) == 6 )
и перекомпилируйте библиотеку.


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




Пост N: 5340
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.03.17 18:02. Заголовок: Перенес тему сюда: ..


Перенес тему сюда:

gfilatov2002 пишет:

 цитата:
Разобрался с этим...
Дело в том, что Минигуи использует в качестве цвета фона окна по умолчанию системный цвет COLOR_BTNFACE.
Для 7-й Винды этот цвет как раз {240,240,240}, а не чисто белый, как было сделано в примере.
Думаю, что теперь вопрос закрыт



Открываю заново вопрос.
В обычной системе картинка серенькая на сером фоне. На другой системе
Система Win2008, удалёнка (везде на удалёнке) - вот такая картинка получается:


Что делать ? Как сделать, чтобы окно было всегда одинаковым ?

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


Пост N: 1436
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 01.04.17 01:08. Заголовок: Andrey пишет: Что д..


Andrey пишет:

 цитата:
Что делать ? Как сделать, чтобы окно было всегда одинаковым ?



И кто ж вам не видя кода чего-то посоветует?

Для SAMPLES\BASIC\WAIT_WINDOW_2\demo2.prg
фон окна вывода оставьте по умолчанию для системы (не указывайте BACKCOLOR), а gif файлы сконвертируйте в png с поддержкой альфа канала (очень легко сделать используя функцию пакетной обработки в IrfanView).

Upd.: можно еще для картинки добавить ALPHALEVEL 150 - это сгладит возможные визуальные артефакты.
Upd.2: .rc файл конечно-же поправить



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




Пост N: 5341
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.04.17 14:02. Заголовок: Петр пишет: gif фай..


Петр пишет:

 цитата:
gif файлы сконвертируйте в png с поддержкой альфа канала (очень легко сделать используя функцию пакетной обработки в IrfanView).


Понял, спасибо !
Буду пробовать...

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




Пост N: 5342
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.04.17 20:27. Заголовок: Привет всем ! Попроб..


Привет всем !
Попробовал прозрачный PNG в ресурсах и обломался. Все равно показывается серая картинка на белом фоне.

Нашёл решение.
прозрачные PNG делаю белыми. Тогда выходит картинка белая на белом фоне.

Только по удалёнке небольшой артефакт появляется, чёрные точечки....
Вот такая картинка по удалёнке:


Исправленные примеры здесь - https://cloud.mail.ru/public/9An6/Yo6pW6d7o



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


Пост N: 1300
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.04.17 20:48. Заголовок: Андрей, не по поводу..


Андрей, не по поводу цвета, а по поводу надписей: раз уж ты так ревностно относишься к этой картинке, то будет правильней заменить "Time is passed" на "Elapsed time". Как-то оно благозвучней на мой взгляд)))) Без обид, ок?

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




Пост N: 5343
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.04.17 00:26. Заголовок: PSP пишет: то будет..


PSP пишет:

 цитата:
то будет правильней заменить "Time is passed" на "Elapsed time". Как-то оно благозвучней на мой взгляд)))) Без обид, ок?


Так Гугл мне перевел. Согласен с твоим переводом.
Только это уже Григория нужно просить, чтобы исправил в библиотеке.
Какие могут быть обиды, я ещё только разбираюсь в МиниГуи.

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


Пост N: 686
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 05.04.17 10:27. Заголовок: Andrey Ты чего по н..


Andrey
Ты чего по ночам не спишь? Вредно !

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


Пост N: 1437
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.04.17 10:46. Заголовок: Andrey пишет: Попро..


Andrey пишет:

 цитата:
Попробовал прозрачный PNG в ресурсах



MiniGUI работает только с PNG32, PNG8 не поддерживается.

Andrey пишет:

 цитата:
Только по удалёнке небольшой артефакт появляется, чёрные точечки....



Черные точечки у вас ведь на картинках присутствуют.
И тип ресурса указывайте правильно.


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




Пост N: 5346
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.04.17 17:54. Заголовок: Петр пишет: MiniGUI..


Петр пишет:

 цитата:
MiniGUI работает только с PNG32, PNG8 не поддерживается.


Поставил прогу IrfanView и конвертировал в PNG32 - прозрачный !
Как сделать с белым фоном я не нашел ?
Пришлось каждую картинку заливать белым фоном.
Черные точки у себя на картинах не наблюдаю....

Петр пишет:

 цитата:
И тип ресурса указывайте правильно.


Да, с этим пролетел, исправил.
Удивительно, но сборщик проглотил этот формат файлов, значит не сильно отличается.

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


Пост N: 1438
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 07.04.17 21:13. Заголовок: Andrey пишет: Приш..


Andrey пишет:

 цитата:
Пришлось каждую картинку заливать белым фоном.


Какой слой заливали и зачем? И в чем теперь преимущество PNG перед GIF?

Andrey пишет:

 цитата:
Черные точки у себя на картинах не наблюдаю....


Не знаю, на тех картинках, что вы выкладывали не заметить точки - это надо еще постараться.

Andrey пишет:

 цитата:
Удивительно, но сборщик проглотил этот формат файлов, значит не сильно отличается


А при чем там сборщик (наверное вы хотели все таки сказать компилятор ресурсов), что скормили, то сьел.

Какое разрешение и глубина цвета поддерживается "по удаленке"? Вы это как-то учитываете?




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




Пост N: 5349
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.04.17 22:01. Заголовок: Петр пишет: Какой с..


Петр пишет:

 цитата:
Какой слой заливали и зачем? И в чем теперь преимущество PNG перед GIF?


Делал залифку прозрачного фона на белый.
GIF картинка сейчас всегда серая.... Раньше была белой.
Из-за этого и перешёл на PNG, хотя можно было и JPG использовать.

Петр пишет:

 цитата:
Какое разрешение и глубина цвета поддерживается "по удаленке"? Вы это как-то учитываете?



Использую стандартные параметры 32бита.
Сейчас нормально картинка отображается, кроме черных точек.
Наверное как то преобразовать GIF в PNG надо по другому, с белым фоном - тогда чёрных точек наверное не будет.
Картинки я просматриваю через Shagit с увеличением - он чёрных точек не показывает...

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


Пост N: 1439
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 07.04.17 22:57. Заголовок: Andrey пишет: GIF ..


Andrey пишет:

 цитата:
GIF картинка сейчас всегда серая.... Раньше была белой.



Код вывода для GIF покажите, что-то вроде

 цитата:
 
@ 40, (420-128)/2 IMAGE Image_1 PICTURE aStatPictWait[1] ;
STRETCH ;
TRANSPARENT




Раньше деревья высокими были.. Версия MiniGUI какая (раньше была)?


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


Пост N: 1440
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 07.04.17 23:04. Заголовок: Петр пишет: Картинк..


Петр пишет:

 цитата:
Картинки я просматриваю через Shagit с увеличением - он чёрных точек не показывает...


Что вы монитор рассматриваете.. Вы что через тот же Irfan на исходные картинки посмотреть не можете?
У вас какие-то артефакты на альфа-канале, а вы прямо на вопрос ответить не хотите:
на тех картинках, что вы выкладывали ((папка FRAME *.png)) вы точки видите или нет ?



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




Пост N: 5362
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.04.17 22:40. Заголовок: В своём файле сборки..


В своём файле сборки 2Tbrw_table.hbp использую команду:
-prgflag=-w2 -es1

С некоторых пор перестал собираться ехе-ник без ошибок, выдаёт непонятные мне ошибки:
hbmk2[2Tbrw_table]: Warning: Non-portable output filename: '-o2Tbrw_table.exe' 
in 2Tbrw_table.hbp:19. Delete '.exe' extension.

C:\MiniGUI\include\i_controlmisc.ch(52) Warning W0002 Redefinition or duplicate definition of #define S_OK

C:\MiniGUI\include\i_controlmisc.ch(53) Warning W0002 Redefinition or duplicate definition of #define S_FALSE

C:\MiniGUI\include\i_controlmisc.ch(58) Warning W0002 Redefinition or duplicate definition of #define OBJ_PEN

C:\MiniGUI\include\i_controlmisc.ch(59) Warning W0002 Redefinition or duplicate definition of #define OBJ_BRUSH

C:\MiniGUI\include\i_controlmisc.ch(60) Warning W0002 Redefinition or duplicate definition of #define OBJ_DC

C:\MiniGUI\include\i_controlmisc.ch(61) Warning W0002 Redefinition or duplicate definition of #define OBJ_METADC

C:\MiniGUI\include\i_controlmisc.ch(62) Warning W0002 Redefinition or duplicate definition of #define OBJ_PAL

C:\MiniGUI\include\i_controlmisc.ch(63) Warning W0002 Redefinition or duplicate definition of #define OBJ_FONT

C:\MiniGUI\include\i_controlmisc.ch(64) Warning W0002 Redefinition or duplicate definition of #define OBJ_BITMAP

C:\MiniGUI\include\i_controlmisc.ch(65) Warning W0002 Redefinition or duplicate definition of #define OBJ_REGION

C:\MiniGUI\include\i_controlmisc.ch(66) Warning W0002 Redefinition or duplicate definition of #define OBJ_METAFILE

C:\MiniGUI\include\i_controlmisc.ch(67) Warning W0002 Redefinition or duplicate definition of #define OBJ_MEMDC

C:\MiniGUI\include\i_controlmisc.ch(68) Warning W0002 Redefinition or duplicate definition of #define OBJ_EXTPEN

C:\MiniGUI\include\i_controlmisc.ch(69) Warning W0002 Redefinition or duplicate definition of #define OBJ_ENHMETADC

C:\MiniGUI\include\i_controlmisc.ch(70) Warning W0002 Redefinition or duplicate definition of #define OBJ_ENHMETAFILE

C:\MiniGUI\include\i_controlmisc.ch(71) Warning W0002 Redefinition or duplicate definition of #define OBJ_COLORSPACE

C:\MiniGUI\include\i_controlmisc.ch(76) Warning W0002 Redefinition or duplicate definition of #define IDC_ARROW

C:\MiniGUI\include\i_controlmisc.ch(77) Warning W0002 Redefinition or duplicate definition of #define IDC_IBEAM

C:\MiniGUI\include\i_controlmisc.ch(78) Warning W0002 Redefinition or duplicate definition of #define IDC_WAIT

C:\MiniGUI\include\i_controlmisc.ch(79) Warning W0002 Redefinition or duplicate definition of #define IDC_CROSS

C:\MiniGUI\include\i_controlmisc.ch(80) Warning W0002 Redefinition or duplicate definition of #define IDC_UPARROW

C:\MiniGUI\include\i_controlmisc.ch(81) Warning W0002 Redefinition or duplicate definition of #define IDC_SIZENWSE

C:\MiniGUI\include\i_controlmisc.ch(82) Warning W0002 Redefinition or duplicate definition of #define IDC_SIZENESW

C:\MiniGUI\include\i_controlmisc.ch(83) Warning W0002 Redefinition or duplicate definition of #define IDC_SIZEWE

C:\MiniGUI\include\i_controlmisc.ch(84) Warning W0002 Redefinition or duplicate definition of #define IDC_SIZENS

C:\MiniGUI\include\i_controlmisc.ch(85) Warning W0002 Redefinition or duplicate definition of #define IDC_SIZEALL

C:\MiniGUI\include\i_controlmisc.ch(86) Warning W0002 Redefinition or duplicate definition of #define IDC_NO

C:\MiniGUI\include\i_controlmisc.ch(87) Warning W0002 Redefinition or duplicate definition of #define IDC_APPSTARTING

C:\MiniGUI\include\i_controlmisc.ch(88) Warning W0002 Redefinition or duplicate definition of #define IDC_HELP

C:\MiniGUI\include\i_controlmisc.ch(151) Warning W0002 Redefinition or duplicate definition of #define SM_CXSCREEN

C:\MiniGUI\include\i_controlmisc.ch(152) Warning W0002 Redefinition or duplicate definition of #define SM_CYSCREEN

C:\MiniGUI\include\i_controlmisc.ch(153) Warning W0002 Redefinition or duplicate definition of #define SM_CXVSCROLL

C:\MiniGUI\include\i_controlmisc.ch(154) Warning W0002 Redefinition or duplicate definition of #define SM_CYHSCROLL

C:\MiniGUI\include\i_controlmisc.ch(155) Warning W0002 Redefinition or duplicate definition of #define SM_CYCAPTION

C:\MiniGUI\include\i_controlmisc.ch(156) Warning W0002 Redefinition or duplicate definition of #define SM_CYMENU

C:\MiniGUI\include\i_controlmisc.ch(158) Warning W0002 Redefinition or duplicate definition of #define SM_CXFRAME

C:\MiniGUI\include\i_controlmisc.ch(159) Warning W0002 Redefinition or duplicate definition of #define SM_CYFRAME

C:\MiniGUI\include\i_controlmisc.ch(160) Warning W0002 Redefinition or duplicate definition of #define SM_CXSIZEFRAME

C:\MiniGUI\include\i_controlmisc.ch(161) Warning W0002 Redefinition or duplicate definition of #define SM_CYSIZEFRAME

C:\MiniGUI\include\i_controlmisc.ch(163) Warning W0002 Redefinition or duplicate definition of #define SM_CXEDGE

C:\MiniGUI\include\i_controlmisc.ch(164) Warning W0002 Redefinition or duplicate definition of #define SM_CYEDGE

C:\MiniGUI\include\i_controlmisc.ch(169) Warning W0002 Redefinition or duplicate definition of #define SW_HIDE

C:\MiniGUI\include\i_controlmisc.ch(170) Warning W0002 Redefinition or duplicate definition of #define SW_SHOWNORMAL

C:\MiniGUI\include\i_controlmisc.ch(171) Warning W0002 Redefinition or duplicate definition of #define SW_NORMAL

C:\MiniGUI\include\i_controlmisc.ch(172) Warning W0002 Redefinition or duplicate definition of #define SW_SHOWMINIMIZED

C:\MiniGUI\include\i_controlmisc.ch(173) Warning W0002 Redefinition or duplicate definition of #define SW_SHOWMAXIMIZED

C:\MiniGUI\include\i_controlmisc.ch(174) Warning W0002 Redefinition or duplicate definition of #define SW_MAXIMIZE

C:\MiniGUI\include\i_controlmisc.ch(175) Warning W0002 Redefinition or duplicate definition of #define SW_SHOWNOACTIVATE

C:\MiniGUI\include\i_controlmisc.ch(176) Warning W0002 Redefinition or duplicate definition of #define SW_SHOW

C:\MiniGUI\include\i_controlmisc.ch(177) Warning W0002 Redefinition or duplicate definition of #define SW_MINIMIZE

C:\MiniGUI\include\i_controlmisc.ch(178) Warning W0002 Redefinition or duplicate definition of #define SW_SHOWMINNOACTIVE

C:\MiniGUI\include\i_controlmisc.ch(179) Warning W0002 Redefinition or duplicate definition of #define SW_SHOWNA

C:\MiniGUI\include\i_controlmisc.ch(180) Warning W0002 Redefinition or duplicate definition of #define SW_RESTORE

C:\MiniGUI\include\i_controlmisc.ch(181) Warning W0002 Redefinition or duplicate definition of #define SW_SHOWDEFAULT

C:\MiniGUI\include\i_controlmisc.ch(261) Warning W0002 Redefinition or duplicate definition of #define hb_OsNewLine

C:\MiniGUI\include\i_controlmisc.ch(339) Warning W0002 Redefinition or duplicate definition of #define WM_SYSCOMMAND

C:\MiniGUI\include\i_controlmisc.ch(340) Warning W0002 Redefinition or duplicate definition of #define SC_CLOSE

Harbour 3.2.0dev (r1704251545)
Copyright (c) 1999-2016, http://harbour-project.org/
......


Что за - Warning W0002 Redefinition or duplicate definition ?
Как их убрать ?

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


Пост N: 1305
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 28.04.17 08:55. Заголовок: Andrey пишет: Что з..


Andrey пишет:

 цитата:
Что за - Warning W0002 Redefinition or duplicate definition ?


Повторное или дублирующее определение. Одинаковые #define два или более раз

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




Пост N: 5393
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.05.17 18:16. Заголовок: Создаю на форме вирт..


Создаю на форме виртуал-окно с вертикальным скролингом.

DEFINE WINDOW Win_2 ;
............
VIRTUAL HEIGHT nHeight*2 ;
......
WINDOWTYPE PANEL

Повесил на кнопки:
hWnd := GetFormHandle('Win_2')
ON KEY PRIOR ACTION SendMessage( hWnd, WM_VSCROLL, SB_PAGEUP, 0 )
ON KEY NEXT ACTION SendMessage( hWnd, WM_VSCROLL, SB_PAGEDOWN, 0 )
ON KEY UP ACTION SendMessage( hWnd, WM_VSCROLL, SB_LINEUP, 0 )
ON KEY DOWN ACTION SendMessage( hWnd, WM_VSCROLL, SB_LINEDOWN, 0 )

А как на колёсико мышки повесить листание вверх/вниз ?



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


Пост N: 1472
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 17.05.17 20:41. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как на колёсико мышки повесить листание вверх/вниз ?



С помощью ON KEY боюсь, что никак.

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




Пост N: 5394
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.05.17 23:05. Заголовок: Петр пишет: С помощ..


Петр пишет:

 цитата:
С помощью ON KEY боюсь, что никак.


А почему в TsBrowse колёсико мышки очень шустро бегает ?
Оттуда нельзя взять передвижение ?


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


Пост N: 1473
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 17.05.17 23:59. Заголовок: Andrey пишет: А поч..


Andrey пишет:

 цитата:
А почему в TsBrowse колёсико мышки очень шустро бегает ?



TsBrowse обрабатывает сообщение WM_MOUSEWHEEL.

МiniGUI, кстати тоже, если для окна указано VIRTUAL HEIGHT.
Поэтому не очень понимаю зачем вам свой город городить.
Но если будете, то скорее всего с помощью set events func to и WM_MOUSEWHEEL, а не ON KEY.


Спасибо: 0 
Профиль
ММК
постоянный участник


Пост N: 289
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 18.05.17 10:13. Заголовок: Andrey пишет: Оттуд..


Andrey пишет:

 цитата:
Оттуда нельзя взять передвижение ?



Кнопки, мышки ... Пора переходить на голосовое управление.

http://subscribe.ru/group/internet-dlya-nachinayuschih-polzovatelej/12274362/?utm_campaign=subscribe-group-grp&utm_source=subscribe-groups&utm_medium=email

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




Пост N: 5396
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.05.17 21:38. Заголовок: Как узнать где текущ..


Как узнать где текущий фокус объекта в окне ?
Т.е. если фокус не на таблице, то кнопку сделать серой (не выбираемой) !

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


Пост N: 1474
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 22.05.17 22:21. Заголовок: Andrey пишет: Т.е...


Andrey пишет:

 цитата:
Т.е. если фокус не на таблице, то кнопку сделать серой (не выбираемой)


Для реализации этого точное место нахождения фокуса не нужно.

У browse, к примеру, есть события ON GOTFOCUS/ON LOSTFOCUS

Все, что вам нужно - это при получении фокуса таблицей сделать кнопку доступной, при потере - ну вы понимаете..

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




Пост N: 5397
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.05.17 23:20. Заголовок: Спасибо ! :sm36: ..


Спасибо !

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




Пост N: 5401
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.05.17 11:22. Заголовок: Подскажите пожалуйст..


Подскажите пожалуйста, можно ли изменить ранее определённый LOSTFOCUS ?

Вот код:
         @ nRow, nCol GETBOX &cObj VALUE xRet   ; 
................
ON CHANGE { || xRet := GetProperty(cForm, cObj, "Value" ) } ;
ON LOSTFOCUS { || WrtiteFldGetBox( cForm,cObj,cPole,xRet ) }

На новый LOSTFOCUS:
          ON LOSTFOCUS { || WrtiteFldGetBox( cForm,cObj,cPole,xRet ), MyRunGetBox(cFunc) }





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




Пост N: 1454
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.05.17 12:17. Заголовок: Andrey _SetControlA..


Andrey
_SetControlAction(cControl, cForm, bBlock [, cEvent])
где cEvent :=
'ONCHANGE'
'ONGOTFOCUS'
'ONLOSTFOCUS'
'ONDBLCLICK'
по умолчанию на _HMG_aControlProcedures [ i ] := bBlock, т.е. ACTION

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




Пост N: 5402
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.05.17 12:24. Заголовок: SergKis пишет: _Set..


SergKis пишет:

 цитата:
_SetControlAction(cControl, cForm, bBlock [, cEvent])



bBlock := { || WrtiteFldGetBox( cForm,cObj,cPole,xRet ), MyRunGetBox(cFunc) }
_SetControlAction(cObj, cForm, bBlock , 'ONLOSTFOCUS' )

Так заработало ! Спасибо БОЛЬШОЕ !

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




Пост N: 5426
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.06.17 18:23. Заголовок: Пере собрал прошлого..


Пере собрал прошлогодний проект.
Вылезли вот такие ошибки:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland
Error: Unresolved external '_HB_FUN_WIN_PRINTEREXISTS' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbprn
Error: Unresolved external '_HB_FUN_WIN_PRINTERGETDEFAULT' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbprn
Error: Unresolved external '_HB_FUN_WIN_PRINTERSTATUS' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbprn
Error: Unresolved external '_HB_FUN_WIN_PRINTERPORTTONAME' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbprn
Error: Unresolved external '_HB_FUN_WIN_PRINTFILERAW' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbprn
Error: Unresolved external '_HB_FUN_WIN_PRINTERLIST' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbprn
Error: Unresolved external '_HB_FUN_WIN_PRINTERSETDEFAULT' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbprn
hbmk2[IniFileHL]: Error: Running linker. 2

Почему ?
Неужели придётся старым МиниГуи собирать ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6469
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.06.17 18:30. Заголовок: Andrey Мне кажется ..


Andrey
Мне кажется HBWIN нужно прицепить еще

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




Пост N: 5427
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.06.17 18:47. Заголовок: Точно ! Заработало....


Точно ! Заработало...
Хотя в прошлом году можно было и без него !
Спасибо !

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6470
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.06.17 19:08. Заголовок: Andrey пишет: Хотя ..


Andrey пишет:

 цитата:
Хотя в прошлом году можно было и без него


Ты помнишь что было в том году , цеплял ты Hbwin или нет , цеплял скорее всего.

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




Пост N: 5428
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.06.17 19:29. Заголовок: Dima пишет: Ты помн..


Dima пишет:

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


Нет не цеплял. В папке лежит IniFileLoad.hbp - без hbwin.lib и компилировалось нормально.


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6504
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.07.17 14:01. Заголовок: Пример C:\MiniGU..


Пример C:\MiniGUI\SAMPLES\Advanced\GoogleDirections\ , собрал , запустил...бах , ошибка сценария.
Как лечить ?
Как сделать что бы юзался не Explorer а например FireFox ?

ЗЫ
Вылечил

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




Пост N: 1604
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.07.17 17:08. Заголовок: Dima пишет Вылечил Ч..


Dima пишет
 цитата:
Вылечил


Что и как ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6506
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.07.17 17:32. Заголовок: SergKis oActiveX..


SergKis
oActiveX:silent := 1 // вот эту строку добавил
oActiveX:Navigate(CurDrive() + ":\" + CurDir() + "\rtemp.html" )


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




Пост N: 1605
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.07.17 17:48. Заголовок: Dima пишет oActiveX:..


Dima пишет
 цитата:
oActiveX:silent := 1 // вот эту строку добавил


Вроде, заработало
Смотрю, сам начал строгать, не нашел прогу ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6507
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.07.17 17:56. Заголовок: SergKis А этот вари..


SergKis
А этот вариант думаю мне подойдет , только переработаю.
Игорь подсказал с этой строкой

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




Пост N: 5436
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.07.17 22:02. Заголовок: Какой есть аналог фу..


Какой есть аналог функции МиниГуи - Lastkey() ?

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




Пост N: 5437
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.07.17 22:07. Заголовок: Нашёл только для oBr..


Нашёл только для oBrw:oWnd:nLastKey

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1111
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.07.17 11:38. Заголовок: Контекстное меню


Коллеги, подскажите как выйти из следующей ситуации:

Есть форма 1 , на ней контекстное меню которое открывает форму 2.
Пока форма 2 активна ( минимизирована или скрыта формой 1 ) контекстное меню на форме 1 не вызывается , ну никакой реакции на клики


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




Пост N: 1613
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.07.17 14:08. Заголовок: Haz Примерчик бы. А..


Haz
Примерчик бы. А то вопросы по типам окон.
1 - sdi ?
2 - standart\child
или
0 - sdi
1 - ?
2 - ?

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 140
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет