Автор | Сообщение |
Andrey
|
| постоянный участник
|
Пост N: 1929
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.11.11 21:36. Заголовок: Примеры из Минигуи -ошибки, вопросы..... (продолжение)
Всем привет. Взялся смотреть примеры из МиниГуи, так не все работают. Может кто подскажет что там "допилить" нужно ? А заодно может и исправить и добавить новые.... Очень красочный пример: \MiniGUI\SAMPLES\Advanced\AVI_Animation - не работает под Win7 (наверно AVI-шки нет в ресурсах) Предложение Григорию: Можно ли добавить еще один пример с отдельным AVI-файлом в ресурсах проекта и показом такого же бегунка ? Пример: \MiniGUI\SAMPLES\Advanced\DisplayMode - не работает под ХР и далее.... Пример: \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.
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|
Andrey
|
| постоянный участник
|
Пост N: 3130
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.11.13 22:46. Заголовок: Можно ли средствами ..
Можно ли средствами МиниГуи получить иконку, bmp зарегистрированного файла в системе ? Допустим *.doc файла Я просто хочу эти иконки использовать у себя в программе. Куда копать ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3132
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.12.13 18:14. Заголовок: Нашел исходник на С,..
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3134
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.12.13 21:15. Заголовок: Хочу сделать листинг..
Хочу сделать листинг директории с показом иконок ассоциированными с данными типами файлов. И затык... Может пример уже готовый есть, а я велосипед изобретаю.... Или на FiveWin примеры есть ? Подскажите пожалуйста.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3167
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.12.13 11:50. Заголовок: Да Григорий, один тв..
Да Григорий, один твой пример и чувствуешь себя Незнайкой на Луне. Сидишь тут иконки выдираешь, время убиваешь на это, а то что этим вообще не нужно заниматься - даже и не знаешь. Надеюсь пример работы с иконками появится в примерах ? Как сделать виртуальную форму со скролинком ? Есть ли такие примеры ? Т.е. если на форме не помещаются все иконки, то чтобы по скролингу вниз - можно было просмотреть форму дальше ?
|
|
|
Haz
|
| |
Пост N: 115
Зарегистрирован: 20.02.11
|
|
Отправлено: 16.12.13 12:37. Заголовок: Andrey пишет: Как с..
Andrey пишет: цитата: | Как сделать виртуальную форму со скролинком |
| Андрей глянь сюда \MiniGUI\SAMPLES\BASIC\CONTAINERS\Panel_2
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3173
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.12.13 15:30. Заголовок: Спасибо - сделал. Т..
Спасибо - сделал. Только вот получилось не совсем то, иконки появляются, а как скролтнгом подергаешь, иконки все пропадают... DEFINE WINDOW Form_1 ; AT 0 , 0 WIDTH nDesktopWidth HEIGHT nDesktopHeight ; VIRTUAL WIDTH nDesktopWidth*2 VIRTUAL HEIGHT nDesktopHeight*2 ; TITLE "Icon from shell32.dll" ; MAIN ; ON INIT MyDrawIcons() ; ON RELEASE DestroyIcon( hIcon ) ; ON INTERACTIVECLOSE Nil ; ON MOUSECLICK Nil ON MOUSEDRAG Nil ON MOUSEMOVE Nil ; ON SIZE Nil ON MAXIMIZE Nil ON MINIMIZE Nil ON PAINT Nil ; BACKCOLOR Nil NOTIFYICON NIL NOTIFYTOOLTIP NIL ON NOTIFYCLICK Nil ; ON GOTFOCUS Nil ON LOSTFOCUS Nil ON SCROLLUP Nil ; ON SCROLLDOWN Nil ON SCROLLLEFT Nil ON SCROLLRIGHT Nil ; ON HSCROLLBOX Nil ON VSCROLLBOX Nil Хотя объект LABEL сохраняется нормально. Видно как то нужно ставить обработку... А как не знаю ?
|
|
|
Haz
|
| |
Пост N: 116
Зарегистрирован: 20.02.11
|
|
Отправлено: 16.12.13 17:11. Заголовок: ради эксперимента . ..
ради эксперимента c PANEL . может на ON SCROLL..... MyDrawIcons() повесить ? или дай своему MAIN окну виртуальные размеры сразу и не мучайся )) VIRTUALWIDTH xxx VIRTUALHEIGHT yyy в синтаксис DEFINE WINDOW подсмотри
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3175
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.12.13 23:20. Заголовок: Оказывается все прос..
Оказывается все просто. Обращаешься к ГУРУ и ответ простой: Иконки пропадают, поскольку в функции DrawIcon() идет прямая запись на экран. Что я тоже потом обнаружил. Запуск формы: Форма после восстановления с панели: Эх опять недоработка в МиниГуи.... Рано я радовался... Остается только одно, иконку преобразовывать в bmp и показывать. Но опять другое вылазит: bmp-ка не прозрачная.... Цвета подбирать нужно под bmp. Некрасиво получается...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 534
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.12.13 23:45. Заголовок: Haz пишет: дай сво..
Haz пишет: цитата: | дай своему MAIN окну виртуальные размеры |
| Рабочий пример ниже Скрытый текст
#include "minigui.ch" Procedure MAIN LOCAL nDesktopWidth := GetDesktopWidth() LOCAL nDesktopHeight := GetDesktopHeight() - GetTaskBarHeight() SET MULTIPLE OFF WARNING SET FONT TO "Tahoma", 9 DEFINE WINDOW Form_1 ; VIRTUAL WIDTH nDesktopWidth+10 VIRTUAL HEIGHT nDesktopHeight*1.5 ; TITLE "Icons from shell32.dll" ; MAIN ; ON INIT MyDrawIcons() END WINDOW Form_1.Sizable := .F. // NOSIZE Form_1.MinButton := .F. // NOMINIMIZE Form_1.MaxButton := .F. // NOMAXIMIZE Form_1.Activate Return ///////////////////////////////////////////////////////////////////////////////// Function MyDrawIcons() LOCAL nJ := 0, nI, cStr, cObj, nRow := 10, nCol LOCAL nWidth := Form_1.Width LOCAL nHeight := Form_1.Height LOCAL cIcon := System.SystemFolder + "\shell32.dll" LOCAL count := ExtractIcon( cIcon, -1, 0, 0, 0 ) FOR nI := 0 TO count nJ++ nCol := 10 + 70*(nJ-1) IF nCol > nWidth - 80 nRow += 70 nJ := 1 nCol := 10 ENDIF cObj := "Btn_"+LTRIM(STR(nI)) @ nRow, nCol BUTTON &cObj ; OF Form_1 ; WIDTH 38 HEIGHT 38 ; ICON cIcon ; EXTRACT nI FLAT cObj := "Lbl_"+LTRIM(STR(nI)) cStr := "nI="+LTRIM(STR(nI)) @ nRow + 40, nCol LABEL &cObj ; OF Form_1 VALUE cStr ; WIDTH 60 HEIGHT 12 ; TRANSPARENT FONTCOLOR BLUE NEXT Return NIL
|
|
|
|
Haz
|
| |
Пост N: 117
Зарегистрирован: 20.02.11
|
|
Отправлено: 17.12.13 17:03. Заголовок: Вопрос по классу TCo..
Вопрос по классу TComboBox из TBrowse, мож кто знает ??? Возможно ли применение DISPLAYEDIT к данному классу. Нужно не сколько само редактирование, сколько возможность поиска в комбо по первым введенным буквам, без этого поиск отрабатывает только первую букву Пробовал тупо выставить переменную displaychange := .T. в исходнике TComboBox.Prg, появляется и поиск и редактированпие, но пропадает реакция на клавиши выбора ENTER или ESCAPE. Григорий, PS. и еще маленький фикс кода для этогокласса Когда в колонке с числовым ID используя :SetData отображаю символьные строки из справочного массива, то при редактировании ComboBox растягивается до самой длинной строки из массива. Это происходит из-за кода в h_tbrowse.prg строка 3782: If oCol:cDataType != Nil .and. oCol:cDataType == "N" колонка типа "N" - т.к. там ID, но отображаю в ней строку из массива, соответствующую этому ID предлагаю в коде заменить на If ValType( Eval( oCol:bData ) ) == "N" , тогда при числовых значенияч все остается как есть, а при строковых будет определяться через :SetColSize
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 535
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.12.13 11:20. Заголовок: Haz пишет: предлага..
Haz пишет: цитата: | предлагаю в коде заменить на If ValType( Eval( oCol:bData ) ) == "N" |
| Спасибо, поправил для следующей сборки.
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3203
Зарегистрирован: 12.09.06
|
|
Отправлено: 13.01.14 21:43. Заголовок: Хотел из объекта LAB..
Хотел из объекта LABEL сделать самостоятельно СВОЮ кнопку. типа такого: @ nRow, nColTek LABEL &cObj OF Form_1 VALUE "" ; WIDTH 131 HEIGHT 60 BACKCOLOR aBackColor ; // borders DRAW LINE IN WINDOW Form_1 At nRow,nColTek to nRow+60,nColTek PENCOLOR {64,64,64} PENWIDTH 1 DRAW LINE IN WINDOW Form_1 At nRow,nColTek to nRow,nColTek+131 PENCOLOR {64,64,64} PENWIDTH 1 DRAW LINE IN WINDOW Form_1 At nRow,nColTek+131 to nRow+60,nColTek+131 PENCOLOR {64,64,64} PENWIDTH 1 DRAW LINE IN WINDOW Form_1 At nRow+60,nColTek-1 to nRow+60,nColTek+131 PENCOLOR {64,64,64} PENWIDTH 1 А окантовка кнопки по LABEL командой DRAW LINE не происходит ! Почему ? Если сделать DRAW LINE ... At nRow-1, то есть вокруг LABEL, то окантовку видно. Но если объект LABEL скрыть, то тогда остается окантовка без кнопки. Как тогда убрать окантовку с сохранением фона под окантовкой ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 285
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.01.14 11:45. Заголовок: Andrey А свойств BOR..
Andrey А свойств BORDER и CLIENTEDGE в LABEL разве не достаточно для обводки (чтобы не усложнять жизнь) ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3206
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.01.14 12:41. Заголовок: SergKis пишет: А св..
SergKis пишет: цитата: | А свойств BORDER и CLIENTEDGE в LABEL разве не достаточно для обводки (чтобы не усложнять жизнь) ? |
| Вот-вот... Сам делал и забыл... Посмотрел на кнопку и решил сделать, а подумать то забыл, или праздники утомили... Спасибо большое за возврат к действительности ! С этим разобрался. А на будущее: как удалить нарисованную линию ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 286
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.01.14 13:14. Заголовок: Andrey пишет:А на бу..
Andrey пишет: цитата: | А на будущее: как удалить нарисованную линию ? |
| Перерисовать окно (все контролы, включая обои)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3207
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.01.14 15:20. Заголовок: SergKis пишет: Пере..
SergKis пишет: цитата: | Перерисовать окно (все контролы, включая обои) |
| Да уж... Интересно, а в других библиотеках как это делается ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 287
Зарегистрирован: 17.02.12
|
|
Отправлено: 14.01.14 15:59. Заголовок: Andrey пишет:Да уж....
Andrey пишет: а сложность в чем ? FormName.ControlName.Refresh по списку сделать.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3209
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.01.14 15:22. Заголовок: Приветствую gfilatov..
Приветствую gfilatov2002 ! В примере demo2.prg ("Select file & Icon associated with the file type - 1.0") обнаружил одну фигню ! Если добавлять файлы по 2 и более, то не всегда красиво получается отображение кнопок... Что то связанное с прорисовкой. Как побороть не знаю. По одному файлу добавляет нормально !
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 547
Зарегистрирован: 11.02.10
|
|
Отправлено: 21.01.14 16:18. Заголовок: Andrey пишет: Что т..
Andrey пишет: цитата: | Что то связанное с прорисовкой. Как побороть не знаю. |
| Попробуй переставить команду DO EVENTS в функции File_Delete() ниже ... IF nDel == 0 // delete all files - reset array M->aDimFile := {} ELSE ViewIconFile() // show icons attachments ENDIF DO EVENTS ...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3210
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.01.14 16:28. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Попробуй переставить команду DO EVENTS в функции File_Delete() ниже |
| Не помогло...
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|