Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть V) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №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
[только новые]
|
|
gfilatov2002
|
| moderator
|
Пост N: 760
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.06.15 19:47. Заголовок: Dima пишет: не вижу..
|
|
|
Dima
|
| |
Пост N: 4911
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.06.15 21:32. Заголовок: gfilatov2002 Понял ..
gfilatov2002 Понял , не понял пока одного , для чего выкладывать обрезанную версию под MINGW если есть полная ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 762
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.06.15 23:01. Заголовок: Dima пишет: для чег..
Dima пишет: цитата: | для чего выкладывать обрезанную версию под MINGW |
| Библиотека BosTaurus является сопутствующей (не основной) для минигуи, поэтому для уменьшения установочного файла она не была включена в поставку для компилятора MINGW Добавление этой либы самостоятельно - довольно простая задача Но если есть потребность, я могу добавить ее в поставку на постоянной основе. Пишите...
|
|
|
Dima
|
| |
Пост N: 4915
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.06.15 23:15. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Но если есть потребность, я могу добавить ее в поставку на постоянной основе. |
| Вопрос не в этом Я просто ожидал что сборка под BCC и MINGW будет одинакова , по меньшей мере в плане библиотек. PS Xharbour сборку не копал но судя по тому что она "компактная" в ней тоже нет всего того что есть в сборке под BCC , о либах я. С примерами все ясно.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 763
Зарегистрирован: 11.02.10
|
|
Отправлено: 24.06.15 10:05. Заголовок: Новый релиз библиоте..
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4304
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.06.15 15:54. Заголовок: Пересобрал несколько..
Пересобрал несколько проектов. Полёт нормальный !
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4305
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.06.15 10:31. Заголовок: Григорий, смотрю что..
Григорий, смотрю что в новом релизе нет примера из Прием-передача данных5.7z между программами ? Классный пример же, можно присоединить к любой программе и записывать действия пользователя или делать обмен между своими программами.
|
|
|
Dima
|
| |
Пост N: 5127
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.07.15 17:09. Заголовок: gfilatov2002 METHOD..
gfilatov2002 METHOD ReSize Для правильной установки автоширины было AEval( ::aColSizes, {|n| nTotPix += n } ) стало AEval( ::aColumns, {|n| IF( n:lVisible, nTotPix += n:nWidth, nil ) } ) do events ******************************************* Что бы курсор не мигал при достижении верхней/нижней видимой границы бровса. METHOD GoUp было If ! ::lHitTop If ! ::lAppendMode ::DrawLine() EndIf стало If ! ::lHitTop If ! ::lAppendMode .and. ::nRowPos > 1 ::DrawLine() EndIf METHOD GoDown было If ! ::lHitBottom If ! ::lAppendMode .and. ! ::lIsTxt ::DrawLine() EndIf стало If ! ::lHitBottom If ! ::lAppendMode .and. ! ::lIsTxt .and. ::nRowPos < nLines ::DrawLine() EndIf Сырец c_TBrowse.c HARBOUR HB_FUN_TSBRWSCROLL () было rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell ); стало rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell ); if( iRows > 0 ) rct.bottom -= nHeightCell; else rct.top += nHeightCell; ************************************************************ Тот же сырец. void DrawBitmap Что бы BMP был прозрачным в бровсе было dwRaster = SRCCOPY; стало dwRaster = SRCAND; ********************************************************** Теперь глюк , METHOD PageUp Поймать его сложно. Но если (кол-во записей-1) делится на цело на кол-во строк что помещаются на экран , то его видно. Пролистываем несколько страниц вниз а затем жмем и держим PageUP , глюк на лицо. было If nSkipped == 0 ::lHitTop := .T. Else If -nSkipped < nLines nRecNo := If( ::lIsDbf, ( ::cAlias )->( RecNo() ), ::nAt ) стало If nSkipped == 0 ::lHitTop := .T. Else If -nSkipped < nLines .or. ::nAt == 1 nRecNo := If( ::lIsDbf, ( ::cAlias )->( RecNo() ), ::nAt ) ********************************************************** правки от SergKis добавление символьного имени колонки для возможности обращения по нему TSCOLUMN DATA cName INIT "" // Имя колонки изменение метода GetColumn() TSBROWSE для поддержки символьного имени METHOD GetColumn( nCol ) CLASS TSBrowse Default nCol := 1 IF hb_IsString( nCol ) nCol := Max( AScan( ::aColumns, {|oCol| Upper(oCol:cName)==Upper(nCol) } ), 1) RETURN ::aColumns[ nCol ] // returns a Column object ENDIF If nCol < 1 nCol := 1 ElseIf nCol > Len( ::aColumns ) nCol := Len( ::aColumns ) EndIf Return ::aColumns[ nCol ] // returns a Column object изменение метода LoadFilds() TSBROWSE для автоматического назначения имен колонок по имени поля добавить в метод строку ATail( ::aColumns ):cName := FieldName( nE ) изменение метода SetColSize() - для понимания символьного имени METHOD SetColSize( nCol, nWidth ) CLASS TSBrowse Local nI, nSize If ValType( nCol ) == "A" For nI := 1 To Len( nCol ) nSize := If( ValType( nWidth ) == "A", nWidth[ nI ], nWidth ) ::aColumns[ nCol[ nI ] ]:nWidth := nSize ::aColSizes[ nCol[ nI ] ] := IF(::aColumns[ nCol[ nI ] ]:lVisible, ::aColumns[ nCol[ nI ] ]:nWidth, 0) Next Elseif ValType( nCol ) == "C" nI := ASCAN( ::aColumns, { |oCol| UPPER( oCol:cName ) == Upper(nCol) }) ::aColumns[ nI ]:nWidth := nWidth ::aColSizes[ nI ] := IF(::aColumns[ nI ]:lVisible, ::aColumns[ Ni ]:nWidth, 0) Else ::aColumns[ nCol ]:nWidth := nWidth ::aColSizes[ nCol ] := IF(::aColumns[ nCol ]:lVisible, ::aColumns[ nCol ]:nWidth, 0) EndIf If ::lPainted ::Refresh( .T. ) EndIf Return Self ************************************************************************************************* изменение метода KeyDown() добавиnm код перед Otherwise в основной do case чтобы по ENTER и SPACE вызывался код дабл клика мышкой Case !::lCellbrw .And. (nKey == 13 .Or. nKey == 32 ) If ::bLDblClick != Nil Eval( ::bLDblClick ) EndIf Otherwise -------------------------------------------------------------- PS С уважением Has , SergKis , Dima
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 770
Зарегистрирован: 11.02.10
|
|
Отправлено: 14.07.15 21:26. Заголовок: Has ,SergKis , Dima ..
Has ,SergKis , Dima Благодарю за эти изменения Попробую включить эти правки в следующую сборку (под Вашу ответственность )
|
|
|
Dima
|
| |
Пост N: 5128
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.07.15 21:32. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Попробую включить эти правки в следующую сборку |
| хуже чем было не станет , плотно тестили )))
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 771
Зарегистрирован: 11.02.10
|
|
Отправлено: 15.07.15 12:31. Заголовок: Просто к сведению. В..
Просто к сведению. Выпустил сегодня RC 3 для следующей сборки 2.4.9. Финальный релиз запланирован на следующей неделе Dima Не все изменения в TSBrowse были одобрены и вошли в новую сборку Скрытый текст
* Fixed: The wrong text color of a Label control which is placed on a Tab when 'FontColor' property of this Label is redefined at runtime. This happened in the themed OS only. Problem was reported by Henry Herrera <herrera.henry@gmail.com>. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Fixed: The wrong StatusBar item's width handling in the function _SetStatusWidth(). Problem was reported by russian user. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Changed: The function GetProgramFilesFolder() is defined as pseudo- function. The definition is guarded by constant __WIN98__. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see i_pseudofunc.ch in folder \include) * Changed: ActiveX User Component was moved from the samples to MiniGUI core. A new property called 'Object' was added to manipulate the control. Syntax: @ <nRow>,<nCol> ACTIVEX <ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH <nWidth> HEIGHT <nWidth> PROGID <cProgId> Or DEFINE ACTIVEX <ControlName> <PropertyName> <PropertyValue> <...> END ACTIVEX Based upon a contribution of Roberto Lopez <mail.box.hmg@gmail.com> (see demos in folder \samples\Basic\ActiveX) * Enhanced: Added possibility to modify a FontColor, BackColor and Align for the owner-draw colored status items at runtime. Requested by user on Russian HMG forum. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo4.prg in folder \samples\Basic\Status) * Enhanced: The OwnerDraw Horizontal top-level POPUP menu supports now an optional FONT clause. You can set/change the font of POPUP menu at runtime by function: _SetMenuItemFont( PopupName , FormName , GetFontHandle(FontName) ) Requested by Joe Fanucchi <drjoe@meditrax.com>. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Advanced\MenuEx) * Updated: Further replacing of 'DEFAULT TO' command in MiniGUI core with the functions hb_default()/__defaultNIL() and hb_defaultValue(). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - correction of calculation of total column width in the Method ReSize; - minor correction in the Method GoUp; - correction of a rare bug in the Method PageUp; - used SRCAND raster in the C-function DrawBitmap(); - added handling of <Enter>/<Space> keys similar to LDblClick action; - added the new TSColumn variable cName for optional column name. Contributed by users from the Russian HMG forum. * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.8.11dev. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2015-06-26 14:50). Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * New: 'Console to GUI data exchange usage' sample. Contributed by Verchenko Andrey <verchenkoag@gmail.com>. (see in folder \samples\Basic\COMM_2) * New: 'WAIT WINDOW with an expectation' sample. Contributed by Verchenko Andrey <verchenkoag@gmail.com>. (see in folder \samples\Basic\WAIT_WINDOW_2) * New: 'NetIO Server and Client: usage of server's stored procedure' sample. Based upon a contribution of Roberto Lopez <mail.box.hmg@gmail.com> (see in folder \samples\Basic\NETIO)
|
|
|
|
|
Dima
|
| |
Пост N: 5129
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.07.15 12:40. Заголовок: gfilatov2002 Понял...
gfilatov2002 Понял. По поводу починки C модуля. Смотрю этого нет. Обратите внимание https://cloud.mail.ru/public/HtfA/HnzaTizqW в собранном EXE курсор при достижении верхней/нижней границы , когда ездим клавишами вверх/вниз то есть зажали и держим. В моем EXE мерцания курсора нет. В актуальной есть. А если колонок сделать больше то курсор будет мигать как мигалка у Гаи (© Has)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4382
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.07.15 16:08. Заголовок: Григорий, при больши..
Григорий, при больших разрешениях экрана 1680x900 ..... 1920x1080 Фонт на кнопках и еще кое где - очень мелкий. А в меню нормальный. Можно по умолчанию увеличить фонт на большое разрешение экрана ? Если нельзя, то и фиг с ним... Вот так выглядит форма:
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 772
Зарегистрирован: 11.02.10
|
|
Отправлено: 15.07.15 16:29. Заголовок: Andrey пишет: Можно..
Andrey пишет: цитата: | Можно по умолчанию увеличить фонт на большое разрешение экрана ? |
| Попробуй менять размер шрифта при старте программы в зависимости от разрешения экрана с помощью команды SET FONT TO <имя шрифта> , <размер шрифта>
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4383
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.07.15 19:51. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Попробуй менять размер шрифта при старте программы |
| Это понятно. Просто меню само подстраивается под разрешение, его нормально видно. А кнопки и остальные объекты нет.
|
|
|
Dima
|
| |
Пост N: 5130
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.07.15 20:17. Заголовок: Andrey пишет: Прост..
Andrey пишет: цитата: | Просто меню само подстраивается под разрешение |
| Меню подстраивает сама Винда (о горизонтальном я) а не Minigui. Нет разве ? Ты же размер шрифта в горизонтальном меню средствами Минигуи не сменишь ;)
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 773
Зарегистрирован: 11.02.10
|
|
Отправлено: 15.07.15 20:54. Заголовок: Dima пишет: Ты же р..
Dima пишет: цитата: | Ты же размер шрифта в горизонтальном меню средствами Минигуи не сменишь |
| В следующей сборке такая возможность появится См. Пост N: 771 выше на этой странице
|
|
|
Dima
|
| |
Пост N: 5131
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.07.15 21:23. Заголовок: gfilatov2002 Ну нак..
gfilatov2002 Ну наконец то Давно пора.
|
|
|
Dima
|
| |
Пост N: 5132
Зарегистрирован: 17.05.05
|
|
Отправлено: 15.07.15 21:53. Заголовок: Dima пишет: Сырец c..
Dima пишет: цитата: | Сырец c_TBrowse.c HARBOUR HB_FUN_TSBRWSCROLL () было rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell ); стало rct.bottom -= ( ( rct.bottom - rct.top ) % nHeightCell ); if( iRows > 0 ) rct.bottom -= nHeightCell; else rct.top += nHeightCell; |
| Григорий я не хочу быть назойливым , просто сделайте ну скажем 100-200 колонок (не шибко широких) и курсор на всю строку и увидите мерцание как на елочной гирлянде :) Исключительно о езде вниз / вверх говорю (GoUP/ GoDown) при достижении видимых границ бровса нижнего или верхнего. Уже пол форума это увидело , что мерцать будет и после сборки RC3))) Там лишнее скролится в окне , отсюда и мерцание.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 774
Зарегистрирован: 11.02.10
|
|
Отправлено: 15.07.15 22:53. Заголовок: Dima пишет: Исключи..
Dima пишет: цитата: | Исключительно о езде вниз / вверх говорю (GoUP/ GoDown) при достижении видимых границ бровса |
| Да, мерцание становится меньше, но обрати внимание после этого изменения на отображение восьмой колонки " без доставки" в твоем примере ниже #include "minigui.ch" //#include "common.ch" #include "TSBrowse.ch" //REQUEST HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866, HB_LANG_RUWIN //REQUEST HB_LANG_RUWIN //REQUEST HB_LANG_RU866 //SET CODEPAGE TO RUSSIAN //HB_LANGSELECT( "RU" ) Proc main Public HighWindow_MyApl:=GETDESKTOPREALHEIGHT() Public WidthWindow_MyApl:=GETDESKTOPREALWIDTH() Public aFont := {} set date to german DEFINE FONT Font_1 FONTNAME "Times New Roman" SIZE 14 DEFINE FONT Font_2 FONTNAME "Times New Roman" SIZE 11 AADD( aFont, GetFontHandle( "Font_1" ) ) AADD( aFont, GetFontHandle( "Font_2" ) ) DEFINE WINDOW MAGAZIN AT GetDesktopRealTop(),GetDesktopRealLeft() ; WIDTH WidthWindow_MyApl ; HEIGHT HighWindow_MyApl ; TITLE "TEST" ; MAIN ; NOMAXIMIZE NOSIZE DEFINE STATUSBAR OF MAGAZIN STATUSITEM "1" WIDTH 0 FONTCOLOR BLACK STATUSITEM "2" WIDTH 230 FONTCOLOR BLACK STATUSITEM "3" WIDTH 230 FONTCOLOR BLACK STATUSITEM "4" WIDTH 230 FONTCOLOR BLACK DATE WIDTH 80 CLOCK WIDTH 75 KEYBOARD WIDTH 80 END STATUSBAR //ON KEY ESCAPE OF MAGAZIN ACTION DoMethod("MAGAZIN","Release") Magaz_po("MAGAZIN") //ON KEY ESCAPE OF MAGAZIN ACTION DoMethod("MAGAZIN","Release") END WINDOW DoMethod("MAGAZIN","Activate") return ************************ Func Magaz_po(cforma) local i := 0 local aDatos := {} for i := 1 to 1000 AADD( aDatos, {" ", ntoc(i), ntoc(i) + "_123", dtoc(date()),dtoc(date()),"Поставщик - " + ntoc(i), (10000-i) * i/3,str(random(100)),"0.12","123.00","Иванов",dtoc(date()),time() } ) end public oBrw DEFINE TBROWSE oBrw AT 17,0 ; OF MAGAZIN WIDTH MAGAZIN.WIDTH-2*GetBorderWidth() ; HEIGHT MAGAZIN.HEIGHT-GetTitleHeight()-GetTitleHeight() -; GetProperty("MAGAZIN", "StatusBar", "Height") -2*GetBorderHeight(); ; //ENUMERATOR нумерация колонок в header GRID ; FONT "Lucida Console" SIZE 12 END TBROWSE oBrw:SetArray( aDatos,.t. ) oBrw:nWheelLines := 1 oBrw:nClrLine := COLOR_GRID oBrw:lNoChangeOrd := TRUE oBrw:lCellBrw := TRUE // oBrw:lNoVScroll:= TRUE // oBrw:lNoHScroll:= TRUE for i := 1 To oBrw:nColCount() oBrw:aColumns:lFixLite := TRUE oBrw:aColumns:lEdit := TRUE end oBrw:nHeightCell += 6 oBrw:nHeightHead += 12 oBrw:HideColumns( 11, .T. ) oBrw:HideColumns( 12, .T. ) oBrw:HideColumns( 13, .T. ) oBrw:aColumns[ 1 ]:cHeading :="*" oBrw:aColumns[ 1 ]:nWidth :=15 oBrw:aColumns[ 2 ]:cHeading :="№"+CRLF+"склада" oBrw:aColumns[ 3 ]:cHeading :="№"+CRLF+"накладной" oBrw:SetColSize( 3, 80 ) oBrw:aColumns[ 4 ]:cHeading :="накладной" oBrw:aColumns[ 5 ]:cHeading :="оплаты" oBrw:AddSuperHead( 4, 5, "Дата") oBrw:aColumns[ 4 ]:nAlign :=DT_CENTER oBrw:aColumns[ 5 ]:nAlign :=DT_CENTER oBrw:SetColSize( 4, 80 ) oBrw:SetColSize( 5, 80 ) oBrw:aColumns[ 6 ]:cHeading :="Поставщик" oBrw:SetColSize( 6, 200 ) oBrw:aColumns[ 7 ]:cHeading :="с доставкой" oBrw:aColumns[ 8 ]:cHeading :="без"+CRLF+"доставки" oBrw:aColumns[ 9 ]:cHeading :="доставки" oBrw:aColumns[ 10 ]:cHeading :="продажная" oBrw:SetColSize( 7, 90 ) oBrw:SetColSize( 8, 90 ) oBrw:SetColSize( 9, 90 ) oBrw:SetColSize( 10, 90 ) oBrw:aColumns[ 7 ]:nAlign :=DT_RIGHT oBrw:aColumns[ 8 ]:nAlign :=DT_RIGHT oBrw:aColumns[ 9 ]:nAlign :=DT_RIGHT oBrw:aColumns[ 10 ]:nAlign :=DT_RIGHT oBrw:AddSuperHead( 7, 10, "Сумма") oBrw:nAdjColumn := 6 oBrw:aColumns[ 11 ]:cHeading :="пользователь" oBrw:aColumns[ 12 ]:cHeading :="дата" oBrw:aColumns[ 13 ]:cHeading :="время" oBrw:AddSuperHead( 11, 13, "Создана") oBrw:SetColor( { 1 }, { { || CLR_BLACK } },1 ) // цвет курсора obrw:lCanSelect:=.t. oBrw:SetColor( { 6 }, { { |a,b,c| IF( c:nCell == b, { Rgb( 66, 255, 236 ), Rgb( 111, 183, 155 ) } , { Rgb( 220, 220, 220 ), Rgb( 220, 220, 220 ) }) } } ) // фон курсора //oBrw:ChangeFont( { |a,b,c| IF(c:nAt == c:nLogicPos(), aFont[1], aFont[2]) } ,, ) oBrw:bOnDraw := {|| MAGAZIN.Title := "Дырка: "+ntoc(GetHole())+" nRowCount():"+ntoc(obrw:nRowCount()) , oBrw:DrawFooters() } //oBrw:nHeightHead +=Gethole() //sTBrwHeight( oBrw ) obrw:display() return nil ***************************** FUNCTION sTBrwHeight( oBrw ) // уст. реальный размер TBrowse LOCAL nHeightCell := oBrw:nHeightCell LOCAL nHeightHead := oBrw:nHeightHead LOCAL nHeightFoot := oBrw:nHeightFoot LOCAL nHeightSpecHd := oBrw:nHeightSpecHd LOCAL nHeightSuper := oBrw:nHeightSuper LOCAL nLineStyle := oBrw:nLineStyle LOCAL nRowHeight := oBrw:nRowCount() * nHeightCell LOCAL nBrwH := GetwindowHeight(oBrw:hWnd) LOCAL nDelta nHeight := nHeightSuper + ; nHeightHead + ; nHeightSpecHd + ; nRowHeight + ; nHeightFoot +1 IF ! oBrw:lNoHScroll nDelta := nBrwH - nHeight IF nDelta > 0 .and. nHeightCell > nDelta nHeight += nHeightCell - nDelta - 2 ENDIF ENDIF SetProperty(oBrw:cParentWnd, oBrw:cControlName, 'Height', nHeight) RETURN nHeight ***************** Func GetHole() local WorkHeight := oBrw:nHeight-oBrw:nHeightHead-oBrw:nHeightSuper-; oBrw:nHeightFoot-oBrw:nHeightSpecHd-if(!oBrw:lNoHScroll,16,0) RETURN WorkHeight-Int(WorkHeight/oBrw:nHeightCell)*oBrw:nHeightCell *************** #pragma BEGINDUMP #define HB_OS_WIN_32_USED #define _WIN32_WINNT 0x0400 #include <windows.h> #include "hbapi.h" HB_FUNC (GETDESKTOPREALTOP) { RECT rect; SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 ); hb_retni(rect.top); } HB_FUNC (GETDESKTOPREALLEFT) { RECT rect; SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 ); hb_retni(rect.left); } HB_FUNC (GETDESKTOPREALWIDTH) { RECT rect; SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 ); hb_retni(rect.right - rect.left); } HB_FUNC (GETDESKTOPREALHEIGHT) { RECT rect; SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 ); hb_retni(rect.bottom - rect.top); } HB_FUNC ( FINDWINDOW ) { hb_retnl( ( LONG ) FindWindow( 0, hb_parc( 1 ) ) ); } #pragma ENDDUMP
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|