Автор | Сообщение |
Vlad04
|
| постоянный участник
|
Пост N: 420
Зарегистрирован: 13.10.05
|
|
Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи (продолжение)
TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений К примеру цитата: | DEFINE TBROWSE oBrw2 ; AT 60,450 ; ALIAS cAlias ; OF Form1 ; WIDTH 330 ; HEIGHT 340 ; FONT "Verdana" ; SIZE 9 ; ON DBLCLICK CopyRec(); ON GOTFOCUS fModelo_Hab(2) ; AUTOFILTER ; CELLED EDIT; VALUE nRec; GRID |
| Здесь я собрал параметры из разных tBrows Можно или нет и какие парметры заменить выражением ( и каким) ? oBrw2:.... oBrw2:....
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
Haz
|
| |
Пост N: 1680
Зарегистрирован: 20.02.11
|
|
Отправлено: 24.05.21 15:12. Заголовок: Не пойму как spinner..
Не пойму как spinner в tsBrowse работает. при достижении нуля скачет на другую строку , как исправить никто не знает ? Берем базовый пример TsBtest в строке 522 пишем Brw_6:SetSpinner( 10, .t., 1,1, {|| 0 }, {|| 100 } ) в любой строке ( в первой нагляднее ) в 10 колонке вбиваем ручками значение 2 и затем мышью или кнопками пытаемся установить 0. При переходе с 1 на 0 курсор улетает. Есть мысли где копать ? хоть какой модуль дурит ? исходники по слову spinner просмотрел - не нашел где подкрутить.
|
|
|
Dima
|
| |
Пост N: 7373
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.05.21 21:10. Заголовок: Haz пишет: Берем ба..
Haz пишет: цитата: | Берем базовый пример TsBtest |
| Не нашел такой
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3730
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.05.21 11:50. Заголовок: Dima пишет Не нашел ..
Dima пишет это Advanced\TsBrowse\TsBtest.prg Haz пишет цитата: | Brw_6:SetSpinner( 10, .t., 1,1, {|| 0 }, {|| 100 } ) |
| У меня работает, доходит до 0 и курсор не теряется, а нажав Esc, курсор уходит с тсб, надо кликать по тсб поищи Far-ом в source\TsBrowse Alt+F7 "spinn" выдаст все, там надо смотреть
|
|
|
Haz
|
| |
Пост N: 1681
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.05.21 19:33. Заголовок: Специально записал в..
Специально записал видео скомпилировал пример с нуля для надежности Сергей, обрати внимание на то что в первой колонки строки и позицию вертикального скроллера до перехода в ноль и после вот ссылка на видео https://drive.google.com/file/d/1BgXBWAyya-wn3P0DO34pM_2sXznafw7o/view?usp=sharing ЗЫ по слову спин обыскался в исходниках. Не пойму как решить проблему. Ладно бы у себя в проекте накосячил, так это стандартный пример с чистой версии минигуи
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3731
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.05.21 19:55. Заголовок: Haz пишет Специально..
Haz пишет Ты про верт. скролл бар ? Почему он перемешается, не знаю ? Он не должен иметь к spinner отношения. Spinner это увеличение\уменьшение числового значения в GetBox, по мне. цитата: | по слову спин обыскался в исходниках |
| (см. выше) Far, Alt+F7 файлы *.prg,*,c,.ch ищем "spinn" => c_TBrowse.c h_tbrowse.prg TBtnBox.prg TGetBox.prg TSCOLUMN.PRG возможно h_events.prg, но надо смотреть блоки кода установленные в колонках и создаваемые в TBtnBox и TGetBox когда они срабатывают и почему и где воздействуют на VScrollBar объект. Сам не использую spinner, как то более наглядно через кнопочки +,-
|
|
|
Haz
|
| |
Пост N: 1682
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.05.21 21:29. Заголовок: SergKis пишет: Ты п..
SergKis пишет: цитата: | Ты про верт. скролл бар ? Почему он перемешается, не знаю ? Он не должен иметь к spinner отношения. Spinner это увеличение\уменьшение числового значения в GetBox, по мне. |
| Да вертикальный скролл уезжает, а вмести с ним и весь бровс Спиннер реализован на на BtnGet, никакого отношения в бровсу не должен иметь, просто рисуется в окне ячейки и имеет свой hWnd. НО ... шлет сообщения бровсу , если большое число спиннить непрерывно видна перерисовка бровса. Пытался делать тассировку сообщений через HandleEvent и при работе спиннера сообшения долетают до class Tcontrol. На этом я потерялся Идея с двумя кнопками интересна, покажи скрин реализации
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3732
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.05.21 22:47. Заголовок: Haz пишет Идея с дву..
Haz пишет цитата: | Идея с двумя кнопками интересна, покажи скрин реализации |
| Скрин не покажу (там сервер нужен и ...), проще в пример перенести, модифицированный GetBox_3 тут https://TransFiles.ru/qo4ol
|
|
|
Haz
|
| |
Пост N: 1683
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.05.21 11:02. Заголовок: SergKis пишет: прощ..
SergKis пишет: цитата: | проще в пример перенести, модифицированный GetBox_3 |
| Идея понятна, нужно посмотреть как она впишется в BtnGet TsBrows . Спасибо за нее.
|
|
|
Haz
|
| |
Пост N: 1684
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.05.21 12:52. Заголовок: Haz пишет: нужно по..
Haz пишет: цитата: | нужно посмотреть как она впишется в BtnGet TsBrows |
| к сожалению не вписывается , в btnGet одна кнопка.. печаль.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3734
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.05.21 13:10. Заголовок: Haz пишет к сожалени..
Haz пишет цитата: | к сожалению не вписывается , в btnGet одна кнопка.. печаль. |
| На модальном окне без заголовка (в размер ячейки) вписывается нормально или вариант, как в Excel строка с GetBox отдельно от тсб и по смене строк, меняешь их содержимое (расположение строки может быть горизонтальным, вертикальным) , можно кнопки сделать с +,- в toolbar или над колонкой. Можно сделать доп. колонки с +,- рядом с нужной и по edit вносишь константу, двойными кликами по ячейкам с +,- делаешь +1,-1
|
|
|
Haz
|
| |
Пост N: 1685
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.05.21 13:33. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно сделать доп. колонки с +,- рядом с нужной и по edit вносишь константу, двойными кликами по ячейкам с +,- делаешь +1,-1 |
| это уже тестирую , как вариант
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3735
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.05.21 13:45. Заголовок: Haz пишет это уже те..
Haz пишет SergKis пишет цитата: | На модальном окне без заголовка (в размер ячейки) вписывается нормально |
| В этом варианте полный аналог из примера на GetBox, на :bPrevEdit подключаешь и если в модал окне Esc - не пишешь результат в ячейку.
|
|
|
Haz
|
| |
Пост N: 1686
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.05.21 16:42. Заголовок: SergKis пишет: В эт..
SergKis пишет: цитата: | В этом варианте полный аналог из примера на GetBox, на :bPrevEdit подключаешь и если в модал окне Esc - не пишешь результат в ячейку. |
| Ну так то и обычный спиннер вписать можно в модальное. Жаль что в TS этот элемент криво работает
|
|
|
Haz
|
| |
Пост N: 1687
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.05.21 11:23. Заголовок: SergKis пишет: На м..
SergKis пишет: цитата: | На модальном окне без заголовка (в размер ячейки) |
| Спасибо , создал модальное , изменил стиль окна и вписал туда обычный спиннер. Все работает
|
|
|
Haz
|
| |
Пост N: 1688
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.05.21 13:41. Заголовок: Попутно добавил у се..
Попутно добавил у себя в h_tbrowse.prg в описании данных DATA lShowNone AS LOGICAL INIT .T. // enable/disable DatePicker ShowNone in inplace Editing в методе Edit local lShowNone ... lShowNone := ::lShowNone ( после lPicker := ::lPickerMode // MWS Sep 20/07 ) и далее oCol:oEdit := TDatePicker():New( nRow, nCol, bSETGET( uValue ), Self, nWidth, nHeight, ; cPicture,, nClrFore, nClrBack, hFont, ::cChildControl,, cWnd, ; cMsg,,,,, bChange,,, lShowNone, ::lUpDown ) теперь достаточно указать oBrw:lShowNone := FALSE ,а то пользователи ( некоторые ) с этим квадратом справиться не могут
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3736
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.05.21 14:34. Заголовок: Haz пишет Попутно до..
Haz пишет цитата: | Попутно добавил у себя в h_tbrowse.prg |
| Оч. хорошая добавка цитата: | создал модальное , изменил стиль окна и вписал туда обычный спиннер. Все работает |
| Спиннер, конечно, хорошо, но у него очень малая область для кликов мышкой, особенно при работе с тачпад Что добавил в стиль модального окна ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1862
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.05.21 15:00. Заголовок: SergKis пишет: хоро..
SergKis пишет: Добавил эту переменную в новую сборку также Благодарю за помощь
|
|
|
Haz
|
| |
Пост N: 1689
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.05.21 15:09. Заголовок: SergKis пишет: Что ..
SergKis пишет: цитата: | Что добавил в стиль модального окна ? |
|
так, больше для красоты SetWindowLong(hWnd, GWL_STYLE, WS_BORDER)
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3737
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.05.21 10:12. Заголовок: Haz пишет для красот..
Haz пишет Спасибо. Можно еще такой вариант делать DEFINE WINDOW &(oCol:cName) AT nY,nX WIDTH nW HEIGHT nH MODAL NOSIZE NOSYSMENU NOCAPTION BACKCOLOR BLUE @ 2,2 GETBOX _Get_ HEIGHT nH-4 WIDTH This.ClientWidth-4 VALUE oBrw:GetValue(oCol) ON KEY RETURN ACTION ( cRet := This._Get_.Value, ThisWindow.Release ) ON KEY ESCAPE ACTION ThisWindow.Release END WINDOW ACTIVATE WINDOW &(oCol:cName)
|
|
|
Haz
|
| |
Пост N: 1690
Зарегистрирован: 20.02.11
|
|
Отправлено: 29.05.21 11:13. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно еще такой вариант делать |
| Примерно так и сделал. Заказчик захотел спиннер, на нем висит блок кода визуально отражающий итоговый денежный поток при сдвигах платежей во времени. Спасибо Григорий подкинул хелп по расчёту рмчёрту , иначе не разобрался бы
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|