Автор | Сообщение |
Andrey
|
| постоянный участник
|
Пост N: 1929
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)
Всем привет. Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ? А заодно может и исправить и добавить новые.... Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах) Предложение Григорию: Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ? Пример: \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.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
Dima
|
| |
Пост N: 5472
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.01.16 18:13. Заголовок: Haz пишет: Только з..
Haz пишет: Он хочет как в ёкселе :) Там разметка есть всегда.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4678
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.01.16 18:18. Заголовок: Haz пишет: Только з..
Haz пишет: Чтобы юзера не доставали.... Картинка им не нравиться. Пустая таблица, а ячеек нет. В Екселе пустая таблица - ячейки есть, а здесь нет. Haz пишет: цитата: | 1. При первом показе пихать клон базы с пустыми полями |
| Наверное это самый лучший вариант ! Haz пишет: цитата: | 3. При первом показе поверх бровса выводить разграфленный битмап, потом его прятать |
| Для разных разрешений наверно будет трудно это сделать ? Хотя картинку легче прятать...
|
|
|
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 Как убрать кракозябы в файле ошибок ? Это папка на русском. Если на английском, то пишется нормально.
|
|
|
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 То размеры объектов на окне меняются. Так должно быть или что то не так делаю ?
|
|
|
Haz
|
| |
Пост N: 776
Зарегистрирован: 20.02.11
|
|
Отправлено: 14.02.16 20:46. Заголовок: Andrey пишет: Если ..
Andrey пишет: цитата: | Если я задаю при старте изменения размера окна, а потом блокирую на время это таким кодом: |
| самодостаточный дай, как написал выше ничего не должно менять в контролах
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4695
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.02.16 22:02. Заголовок: Пример сложно дать. ..
Пример сложно дать. Он большой... Постараюсь сделать... А на картинке выглядит так: Еще после запрета изменения размеров формы в Tbrowse накладывается фильтр на базу и кол-во записей меняется и вертикальный скролинг уходит и появляется ПУСТОТА между окном и Tbrowse. Это глюк или я что то не так делаю ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4697
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.02.16 22:57. Заголовок: Вот ещё одна картинк..
Вот ещё одна картинка:
|
|
|
Haz
|
| |
Пост N: 777
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.02.16 11:14. Заголовок: Andrey пишет: верти..
Andrey пишет: цитата: | вертикальный скролинг уходит |
| ::ResetVscroll(lInit) делал перед ::Refresh() ?
|
|
|
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 ....
|
|
|
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
|
|
|
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
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4704
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.02.16 17:13. Заголовок: Haz пишет: Можно ег..
Haz пишет: цитата: | Можно его включить принудительно кодом |
| Спасибо, сделал, только чуток исправив код. Появился скролинг, но дырка остается.... Наверно все таки сам Tsbrowse меняет свои размеры ? Или я неправ ?
|
|
|
Haz
|
| |
Пост N: 785
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.02.16 17:18. Заголовок: Andrey пишет: Навер..
Andrey пишет: цитата: | Наверно все таки сам Tsbrowse меняет свои размеры ? Или я неправ ? |
| Сам не меняет точно. Это можно сделать только изменив размеры окна oBrw:hWnd принудительно
|
|
|
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() .... Хотя у меня при изменении размера стоит так: Скрытый текст FUNCTION ResizeForma1(lButton) LOCAL cForm := _HMG_ThisFormName LOCAL hWnd := GetFormHandle(cForm) LOCAL actpos:={0,0,0,0}, i, w, h, nWLbl LOCAL nHStBar := GetWindowHeight(GetControlHandle("Label_StatusBar", cForm)) // высота StatusBar внизу окна LOCAL nFWidth := GetClientWidth( GetFormHandle( cForm ) ) LOCAL nFHeight := GetClientHeight( GetFormHandle( cForm ) ) DEFAULT lButton := .T. GetClientRect(hWnd, actpos) w := actpos[3]-actpos[1] h := actpos[4]-actpos[2] - oBrw1:nTop - nHStBar IF w !=0 .and. h != 0 nWLbl := GetProperty(cForm, "Label_0", "Col" ) SetProperty(cForm, "Label_0", "Width", nFWidth - nWLbl ) SetProperty(cForm, "Label_1", "Width", nFWidth - nWLbl ) SetProperty(cForm, "Label_2", "Width", nFWidth - nWLbl ) SetProperty(cForm, "Label_3", "Width", nFWidth - nWLbl ) SetProperty(cForm, "Label_4", "Width", nFWidth - nWLbl ) SetProperty(oBrw1:cParentWnd, oBrw1:cControlName, "Enabled", .F.) _SetControlHeight( oBrw1:cControlName, oBrw1:cParentWnd, h) _SetControlWidth ( oBrw1:cControlName, oBrw1:cParentWnd, w) oBrw1:Paint() // Иначе не перерисовываются вертикальные разделители SetProperty(oBrw1:cParentWnd, oBrw1:cControlName, "Enabled", .T.) //oBrw1:Display() //SetNoHoles( oBrw1 ) // убрать дырку внизу таблицы перед подвалом oBrw1:Refresh(.T.) // перечитывает данные в таблице IF lButton MyButtonBar(.T.) // перепостроить кнопки на форме ENDIF Endif DoMethod(oBrw1:cParentWnd, oBrw1:cControlName, "SetFocus") Return Nil
|
|
|
|
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 пикселей !!! Разве так должно быть ?
|
|
|
Haz
|
| |
Пост N: 786
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.02.16 18:13. Заголовок: 1 Если после первого..
1 Если после первого показа бровса сразу вызвать пересчет , то что ? 2 Перепроверь свой пересчет размеров, возможно там не то считает.
|
|
|
Haz
|
| |
Пост N: 787
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.02.16 18:15. Заголовок: Haz пишет: Т.е. пос..
Haz пишет: цитата: | Т.е. после запрета изменения размера окна, размер окна меняется на 10х10 пикселей !!! Разве так должно быть ? |
| скорее всего косяк
|
|
|
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.?????? }
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 861
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.02.16 16:59. Заголовок: Andrey пишет: как из..
Andrey пишет: цитата: | как из другого объекта можно раскрыть комбобох |
| PostMessage( GetControlHandle(<ComboBoxName>, cFormName), WM_KEYDOWN, VK_F4, 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) }
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|