Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
| |
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
SergKis
|
| постоянный участник
|
Пост N: 4044
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 10:15. Заголовок: Dima Уточню. Такие..
Dima Уточню. Такие строки не работают с указанным CLR_SELEF, CLR_FOCUSF в oBrw1 ? oTsb1:aColor := { ; { CLR_FOCUSF, CLR_BLACK }, ; { CLR_FOCUSB, {|c,n,b| c := n, iif( b:nCell == n, -CLR_HRED, -RGB( 128, 225, 225 ) ) } }, ; { CLR_SELEF , CLR_BLACK }, ; { CLR_SELEB , {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB( 128, 225, 225 ) ) } } ; } а такой вариант работает с "Пост N: 7563" ? oBrw1:SetColor( { CLR_FOCUSF }, { GetSysColor( COLOR_WINDOWTEXT ) } ) oBrw2:SetColor( { CLR_FOCUSF }, { GetSysColor( COLOR_WINDOWTEXT ) } )
| |
|
Dima
|
| |
Пост N: 7587
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 10:20. Заголовок: SergKis пишет: а та..
SergKis пишет: цитата: | а такой вариант работает с "Пост N: 7563" ? oBrw1:SetColor( { CLR_FOCUSF }, { GetSysColor( COLOR_WINDOWTEXT ) } ) oBrw2:SetColor( { CLR_FOCUSF }, { GetSysColor( COLOR_WINDOWTEXT ) } ) |
| Работает !
| |
|
Dima
|
| |
Пост N: 7588
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 10:21. Заголовок: SergKis пишет: oTs..
SergKis пишет: цитата: | oTsb1:aColor := { ; { CLR_FOCUSF, CLR_BLACK }, ; { CLR_FOCUSB, {|c,n,b| c := n, iif( b:nCell == n, -CLR_HRED, -RGB( 128, 225, 225 ) ) } }, ; { CLR_SELEF , CLR_BLACK }, ; { CLR_SELEB , {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB( 128, 225, 225 ) ) } } ; } |
| Не работает
| |
|
SergKis
|
| постоянный участник
|
Пост N: 4045
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 12:48. Заголовок: Dima Будет время, г..
Dima Будет время, глянь на ftp пример, сделал с трассировкой в _msglog.txt и кинь его обратно (свой с 7-ки), пожалуйста
| |
|
Dima
|
| |
Пост N: 7589
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 12:56. Заголовок: Пример я не пересоби..
Пример я не пересобирал и запустил как есть и все кажет нормально в то время смотрю что в сырце закоментированы строки //oBrw2:SetColor( { CLR_SELEF }, { CLR_BLACK } ) то есть как ты собирал EXE я не знаю с коментом этих строк или нет _msglog.txt закинул
| |
|
SergKis
|
| постоянный участник
|
Пост N: 4046
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 13:12. Заголовок: Dima пишет Пример я ..
Dima пишет цитата: | Пример я не пересобирал и запустил как есть и все кажет нормально в то время смотрю что в сырце закоментированы строки //oBrw2:SetColor( { CLR_SELEF }, { CLR_BLACK } ) |
| Собран пример без этих строк, т.е. с DEFAULT aColor := { ; { CLR_FOCUSF, GetSysColor( COLOR_WINDOWTEXT ) }, ; { CLR_FOCUSB, {|c,n,b| c := n, iif( b:nCell == n, -CLR_HRED, -RGB( 128, 225, 225 ) ) } }, ; { CLR_SELEF , GetSysColor( COLOR_WINDOWTEXT ) }, ; { CLR_SELEB , {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB( 128, 225, 225 ) ) } } } вывел в лог значения цветов на разных этапах. По идее у тебя должно было НЕ работать, а отработало правильно и :nClrFore -> 0 Может Aero стоит ?
| |
|
Dima
|
| |
Пост N: 7590
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 13:13. Заголовок: SergKis пишет: Може..
SergKis пишет: Не стоит , не люблю я его
| |
|
Dima
|
| |
Пост N: 7591
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 13:13. Заголовок: Счас пробну пересобр..
Счас пробну пересобрать пример Пересобрал и снова лажа......
| |
|
Dima
|
| |
Пост N: 7592
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 13:15. Заголовок: закинул новый LOG на..
закинул новый LOG на фтп
| |
|
SergKis
|
| постоянный участник
|
Пост N: 4047
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 13:19. Заголовок: На твоей сборке ..
На твоей сборке ? hb_enumindex(oc), oc:nClrFore, oc:nClrFocuFore, oc:nClrSeleFore дает 1 0 16777215 0 вместо 1 0 0 0 и массив цветов в тсб такой Brw_1 ARRAY[20] {0, 16777215, 0, 13160660, 16777215, {|| ... }, 0, 16777215, 0, 13160660, 0, {|| ... }, 0, 13160660, 8421504, 0, 13160660, 0, 13160660, 255} где цветом должен быть 0 пример такой, для ясности другим Скрытый текст
/* * MINIGUI - Harbour Win32 GUI library Demo * * Copyright 2021 Sergej Kiselev <bilance@bilance.lv> */ #define _HMG_OUTLOG #include "hmg.ch" #include "tsbrowse.ch" REQUEST DBFCDX FUNCTION Main() LOCAL cFont := "Arial" LOCAL nSize := 12 LOCAL cForm := "wMain" LOCAL oBrw1, oBrw2, nY, nX, nH, nW, nG, oTsb1, oTsb2 LOCAL oc rddSetDefault( "DBFCDX" ) SET OOP ON SET EPOCH TO 2000 SET DATE TO GERMAN SET CENTURY ON SET AUTOPEN OFF SET DELETED OFF SET FONT TO cFont, nSize USE ( "CUSTOMER" ) ALIAS CUST1 NEW SHARED USE ( "CUSTOMER" ) ALIAS CUST2 NEW SHARED DEFINE WINDOW &cForm TITLE "Demo 2 TBrowse" MAIN TOPMOST ; ON INIT ( This.Topmost := .F. ) ; ON RELEASE ( dbCloseAll() ) This.Maximize nY := nX := nG := 20 nW := This.ClientWidth - nG * 2 nH := Int( This.ClientHeight / 2 ) - nG - nG / 2 ? procname(), GetSysColor( COLOR_WINDOWTEXT ), CLR_BLACK oTsb1 := oHmgData() oTsb1:lDrawSpecHd := .T. oTsb1:uSelector := .T. oTsb1:nBrw := 1 @ 0, nX LABEL Label_1 VALUE "F1 - window covers the table" FONTCOLOR RED SIZE 8 AUTOSIZE TRANSPARENT oBrw1 := _TBrowse( oTsb1, "CUST1", "Brw_1", nY, nX, nW, nH ) //oBrw1:SetColor( { CLR_SELEF }, { CLR_BLACK } ) oBrw1:bTSDrawCell := {|ob,o,oc| iif(o:lDrawLine, ,_logfile(.T., ob:nColumn(oc:cName), oc:cName, o:nClrFore, o:nClrTo )) } ? ? "Brw_1", oBrw1:aColors, hb_valtoexp(oBrw1:aColors) FOR EACH oc IN oBrw1:aColumns ? hb_enumindex(oc), oc:nClrFore, oc:nClrFocuFore, oc:nClrSeleFore NEXT ? nY += nH + 1 + nG nH -= 1 oTsb2 := oHmgData() oTsb2:lDrawSpecHd := .T. oTsb2:uSelector := .T. oTsb2:nBrw := 2 @ nH + 22, nX LABEL Label_2 VALUE "F2 - window covers the table without a header" FONTCOLOR RED SIZE 8 AUTOSIZE TRANSPARENT oBrw2 := _TBrowse( oTsb2, "CUST2", "Brw_2", nY, nX, nW, nH ) //oBrw2:SetColor( { CLR_SELEF }, { CLR_BLACK } ) oBrw2:bTSDrawCell := {|ob,o,oc| iif(o:lDrawLine, ,_logfile(.T., ob:nColumn(oc:cName), oc:cName, o:nClrFore, o:nClrTo )) } ? ? "Brw_2", oBrw2:aColors, hb_valtoexp(oBrw2:aColors) FOR EACH oc IN oBrw2:aColumns ? hb_enumindex(oc), oc:nClrFore, oc:nClrFocuFore, oc:nClrSeleFore NEXT ? oBrw1:SetFocus() ON KEY TAB ACTION {| cf | cf := ThisWindow.FocusedControl, ; iif( cf == "Brw_1", This.Brw_2.SetFocus, This.Brw_1.SetFocus ) } ON KEY ESCAPE ACTION ( iif( oBrw1:IsEdit, oBrw1:SetFocus(), ; iif( oBrw2:IsEdit, oBrw2:SetFocus(), ; ThisWindow.Release ) ) ) ( This.Object ):Event( 1, {| ow | myWin( ow, "Brw_1", .F. ) } ) ( This.Object ):Event( 2, {| ow | myWin( ow, "Brw_2", .T. ) } ) ON KEY F1 ACTION _wPost( 1 ) ON KEY F2 ACTION _wPost( 2 ) END WINDOW ACTIVATE WINDOW wMain RETURN NIL FUNCTION myWin( oWnd, cBrw, lHead ) LOCAL oBrw, nBrw, nW, nH, nRow, nCol, oTsb, oc1, nw1 SET WINDOW THIS TO oWnd:Name oBrw := This.&(cBrw).OBJECT oTsb := oBrw:Cargo:oParam // parameters oTsb1 or oTsb2 nBrw := oTsb:nBrw oc1 := oBrw:GetCellSize( 1, 1 ) nw1 := oBrw:GetColumn( "SELECTOR" ):nWidth nRow := oc1:nRow nCol := oc1:nCol + 1 nW := GetWindowWidth ( oBrw:hWnd ) - 2 nH := GetWindowHeight( oBrw:hWnd ) - 2 IF Empty( lHead ) nRow -= ( oBrw:nHeightSpecHd + oBrw:nHeightHead ) nRow += 1 nCol += 1 nW -= 1 ELSE nCol += nw1 nRow += 1 nCol += 1 nW -= ( nw1 + GetVScrollBarWidth() + 1 ) nH -= ( oBrw:nHeightHead + oBrw:nHeightSpecHd + GetHScrollBarHeight() + 1 ) ENDIF DEFINE WINDOW wZero AT nRow, nCol WIDTH nW HEIGHT nH MODAL NOCAPTION NOSIZE BACKCOLOR YELLOW This.Cargo := oHmgData() This.Cargo:oParent := oWnd This.Cargo:cBrw := cBrw This.Cargo:oBrw := oBrw This.Cargo:nBrw := nBrw This.Cargo:oTsb := oTsb @ nH / 2 - 20, 0 LABEL Label_0 VALUE "ESC - exit" WIDTH nW HEIGHT 40 FONTCOLOR RED SIZE 28 CENTERALIGN TRANSPARENT ON KEY ESCAPE ACTION ThisWindow.RELEASE END WINDOW ACTIVATE WINDOW wZero SET WINDOW THIS TO oBrw:SetFocus() RETURN NIL
|
| |
|
Dima
|
| |
Пост N: 7593
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 13:22. Заголовок: я сырцы не трогал , ..
я сырцы не трогал , ни примера ни самих сырцов MG Григорий выложил обнову MG и я его накатил на то что есть , так всегда делаю
| |
|
|
SergKis
|
| постоянный участник
|
Пост N: 4048
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 13:33. Заголовок: Dima пишет я сырцы н..
Dima пишет тут еще одна интересная штука ? procname(), GetSysColor( COLOR_WINDOWTEXT ), CLR_BLACK дает в лог MAIN 0 0 а в массив цветов попало уже др. значение (выше цветом выделено) ? "Brw_1", oBrw1:aColors, hb_valtoexp(oBrw1:aColors) не понятка, т.к. в h_tbrowse.prg из aColors => aTmpColor простой перенос 20 элементов IF aColors != NIL IF HB_ISARRAY( aColors ) .AND. Len( aColors ) > 0 .AND. HB_ISARRAY( aColors[ 1 ] ) FOR EACH aClr IN aColors IF HB_ISNUMERIC( aClr[ 1 ] ) .AND. aClr[ 1 ] > 0 .AND. aClr[ 1 ] <= Len( aTmpColor ) aTmpColor[ aClr[ 1 ] ] := aClr[ 2 ] ENDIF NEXT ELSE AEval( aColors, {| bColor, nEle | aTmpColor[ nEle ] := bColor } ) ENDIF ENDIF цветной кусок работает PS Я TsBrowse.lib пересобирал, но исп. только _logfile() для просмотра как данные из входного aColors => в aTmpColor[20] элементов переходят, потом убрал.
| |
|
SergKis
|
| постоянный участник
|
Пост N: 4049
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 13:50. Заголовок: Dima Положил на ftp..
Dima Положил на ftp свою TsBrowse.lib, попробуй с ней собрать пример
| |
|
Dima
|
| |
Пост N: 7594
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 14:02. Заголовок: SergKis пишет: Поло..
SergKis пишет: цитата: | Положил на ftp свою TsBrowse.lib, попробуй с ней собрать пример |
| Все работает штатно и правильно !
| |
|
SergKis
|
| постоянный участник
|
Пост N: 4050
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 14:23. Заголовок: Dima пишет Все работ..
Dima пишет цитата: | Все работает штатно и правильно ! |
| Спасибо Осталось тебе у себя пересобрать либу, запустив TsBrowse\MakeLib.bat и проверить сборку на примере
| |
|
Dima
|
| |
Пост N: 7595
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 14:24. Заголовок: Пересобрал , снова л..
Пересобрал , снова лажа.......
| |
|
Dima
|
| |
Пост N: 7596
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 14:26. Заголовок: видать Григорий что ..
видать Григорий что то не досмотрел и твои сырцы не совпадают с его
| |
|
SergKis
|
| постоянный участник
|
Пост N: 4051
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.02.22 14:32. Заголовок: Dima Так я не менял..
Dima Так я не менял сырцы, как вчера развернул, потыкал _logfile(), убрал и все. Положил h_tbrowse.prg, попробуй у себя с ним собрать.
| |
|
Dima
|
| |
Пост N: 7597
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 14:33. Заголовок: там и размеры разные..
там и размеры разные по ходу счас сделаю
| |
|
Dima
|
| |
Пост N: 7598
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 14:36. Заголовок: чёт меня этот цирк у..
чёт меня этот цирк уже утомил.... пересобрал с твоим h_tbrowse.prg , собрал пример , работает НЕ правильно беру твой tsbrowse.lib и собираю с ним , все ОТЛИЧНО
| |
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
|