Форум » GUI » Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение) » Ответить

Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)

gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №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: Dima Уточню. Такие строки не работают с указанным CLR_SELEF, CLR_FOCUSF в oBrw1 ? [pre2] 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 ) } ) [/pre2]

Dima: SergKis пишет: а такой вариант работает с "Пост N: 7563" ? oBrw1:SetColor( { CLR_FOCUSF }, { GetSysColor( COLOR_WINDOWTEXT ) } ) oBrw2:SetColor( { CLR_FOCUSF }, { GetSysColor( COLOR_WINDOWTEXT ) } ) Работает !

Dima: 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: Dima Будет время, глянь на ftp пример, сделал с трассировкой в _msglog.txt и кинь его обратно (свой с 7-ки), пожалуйста

Dima: Пример я не пересобирал и запустил как есть и все кажет нормально в то время смотрю что в сырце закоментированы строки //oBrw2:SetColor( { CLR_SELEF }, { CLR_BLACK } ) то есть как ты собирал EXE я не знаю с коментом этих строк или нет _msglog.txt закинул

SergKis: Dima пишет Пример я не пересобирал и запустил как есть и все кажет нормально в то время смотрю что в сырце закоментированы строки //oBrw2:SetColor( { CLR_SELEF }, { CLR_BLACK } ) Собран пример без этих строк, т.е. с [pre2] 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 ) ) } } } [/pre2] вывел в лог значения цветов на разных этапах. По идее у тебя должно было НЕ работать, а отработало правильно и :nClrFore -> 0 Может Aero стоит ?

Dima: SergKis пишет: Может Aero стоит ? Не стоит , не люблю я его

Dima: Счас пробну пересобрать пример Пересобрал и снова лажа......

Dima: закинул новый LOG на фтп

SergKis: На твоей сборке ? 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 пример такой, для ясности другим [pre2] /* * 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 [/pre2]

Dima: я сырцы не трогал , ни примера ни самих сырцов MG Григорий выложил обнову MG и я его накатил на то что есть , так всегда делаю

SergKis: Dima пишет я сырцы не трогал тут еще одна интересная штука ? procname(), GetSysColor( COLOR_WINDOWTEXT ), CLR_BLACK дает в лог MAIN 0 0 а в массив цветов попало уже др. значение (выше цветом выделено) ? "Brw_1", oBrw1:aColors, hb_valtoexp(oBrw1:aColors) не понятка, т.к. в h_tbrowse.prg из aColors => aTmpColor простой перенос 20 элементов[pre2] 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 [/pre2] цветной кусок работает PS Я TsBrowse.lib пересобирал, но исп. только _logfile() для просмотра как данные из входного aColors => в aTmpColor[20] элементов переходят, потом убрал.

SergKis: Dima Положил на ftp свою TsBrowse.lib, попробуй с ней собрать пример

Dima: SergKis пишет: Положил на ftp свою TsBrowse.lib, попробуй с ней собрать пример Все работает штатно и правильно !

SergKis: Dima пишет Все работает штатно и правильно ! Спасибо Осталось тебе у себя пересобрать либу, запустив TsBrowse\MakeLib.bat и проверить сборку на примере

Dima: Пересобрал , снова лажа.......

Dima: видать Григорий что то не досмотрел и твои сырцы не совпадают с его

SergKis: Dima Так я не менял сырцы, как вчера развернул, потыкал _logfile(), убрал и все. Положил h_tbrowse.prg, попробуй у себя с ним собрать.

Dima: там и размеры разные по ходу счас сделаю

Dima: чёт меня этот цирк уже утомил.... пересобрал с твоим h_tbrowse.prg , собрал пример , работает НЕ правильно беру твой tsbrowse.lib и собираю с ним , все ОТЛИЧНО



полная версия страницы