Автор | Сообщение |
Vlad04
|
| постоянный участник
|
Пост N: 420
Зарегистрирован: 13.10.05
|
|
Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи (продолжение)
TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений К примеру цитата: | DEFINE TBROWSE oBrw2 ; AT 60,450 ; ALIAS cAlias ; OF Form1 ; WIDTH 330 ; HEIGHT 340 ; FONT "Verdana" ; SIZE 9 ; ON DBLCLICK CopyRec(); ON GOTFOCUS fModelo_Hab(2) ; AUTOFILTER ; CELLED EDIT; VALUE nRec; GRID |
| Здесь я собрал параметры из разных tBrows Можно или нет и какие парметры заменить выражением ( и каким) ? oBrw2:.... oBrw2:....
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
Dima
|
| |
Пост N: 5025
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.07.15 10:29. Заголовок: SergKis Понял !..
SergKis Понял !
|
|
|
Dima
|
| |
Пост N: 5047
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.07.15 21:38. Заголовок: Не очень понял как ц..
Не очень понял как цеплять к ячейке BMP[ICO] из ресурса по условию. Может кто покажет простой пример или намек ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4359
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.07.15 22:02. Заголовок: Допустим в базе есть..
Допустим в базе есть поле Field->NEVENT (1,2,3,4,...) и по условию нужно показывать разные иконки. Можно так: Скрытый текст ////////////////////////////////////////////////////////////// // Выбор отображаемой иконки FUNCTION SetNumIcons() LOCAL RetBmp, mNEVENT := Field->NEVENT, ii ,RetIcon STATIC arrBmp:={},arrNameBmp:={} DO CASE CASE NEVENT = 0 RetIcon:="bEVENT0" CASE NEVENT = 1 RetIcon:="bEVENT1" CASE NEVENT = 2 RetIcon:="bEVENT2" CASE NEVENT = 3 RetIcon:="bEVENT3" OTHERWISE RetIcon:="bEVENT0" ENDCASE ii:=ascan(arrNameBmp,Reticon) if ii>0 RetBmp:=arrBmp[ii] else RetBmp:= LOADIMAGE(RetIcon) if !empty(RetBmp) aadd(arrBmp,RetBmp) aadd(arrNameBmp,RetIcon) endif endif RETURN RetBmp
| Тогда в бровсе назначай поле показа на 4 поле: // "Массив иконок bmp" aBmp := {,,,"SetNumIcons()"} IF LEN(aBmp) > 0 For ii:=1 to Len(aBmp) if !Empty(aBmp[ii]) &cBrw:aColumns[ii]:uBmpCell := &("{||"+aBmp[ii]+"}") &cBrw:aColumns[ii]:nAlign := nMakeLong( DT_CENTER, DT_CENTER ) endif Next ENDIF Но у меня пример уж очень мудрённый, через ини-файл считывание полей, обработки и т.д. Посмотри сам - https://cloud.mail.ru/public/Qimr/KjE9KUhcN
|
|
|
Dima
|
| |
Пост N: 5048
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 08:52. Заголовок: Andrey Сенкс. Надо ..
Andrey Сенкс. Надо было сразу суть объяснить (это 3 строки ) , ну да ладно сам понял.
|
|
|
Dima
|
| |
Пост N: 5049
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 08:58. Заголовок: Подсунул прозрачный ..
Подсунул прозрачный BMP и вывел в колонке , упс а у него есть свой фон. Если ту же BMP вывести на кнопке , все нормально. Как избавится от фона в бровсе для BMP ?
|
|
|
Haz
|
| |
Пост N: 586
Зарегистрирован: 20.02.11
|
|
Отправлено: 05.07.15 09:11. Заголовок: Andrey пишет: Но у ..
Andrey пишет: цитата: | Но у меня пример уж очень мудрённый, |
| и более того , в процедуре по ON CHANGE есть вызов Refresh() , что 100% приводит к зависаниюбровса стоит его прогнать стрелками вниз/вверх
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 714
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.07.15 10:02. Заголовок: Dima Haz пишет: по ..
Dima Haz пишет: цитата: | по ON CHANGE есть вызов Refresh() , что 100% приводит к зависаниюбровса стоит его прогнать стрелками вниз/вверх |
| Мой (твой) пример Refresh(.F.) к зависанию не приводит, но по pgup или up ниже последней и назад - ломается веделенная закраска всей строки с фокусно ячейкой. Как то похитрее надо делать, может быть мтодом DrawLine(xRow) с цветами на пред.стоку и тек., без бутылки сразу не разберешься
|
|
|
Dima
|
| |
Пост N: 5050
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 10:15. Заголовок: Помогите с BMP разоб..
Помогите с BMP разобраться О первой колонке с галей говорю. На скрине прозрачный фон (игрался с черным и белым) , все до лампочки
|
|
|
Haz
|
| |
Пост N: 587
Зарегистрирован: 20.02.11
|
|
Отправлено: 05.07.15 10:33. Заголовок: SergKis пишет: Мой ..
SergKis пишет: цитата: | Мой (твой) пример Refresh(.F.) к зависанию не приводит |
| Сергей, это пример с двойным курсором ? Сделайте в нем строк поболее ( я тупо нагенерил 1000 ) и нажав стрелку вниз НЕ отпуская до конца , потом так же вверх и глюк как на блюдечке Если отпускать стрелку вовремя - не проявляется. Двойной курсор как оказалось - очень просто делается , у меня на работе пример , в понедельник кину Или лучше Дима может сейчас кинуть. Dima пишет: цитата: | О первой колонке с галей говорю. |
| если разговор только про галю , то тут БМП не нужна т.к есть стандартная галя по логическому полю oBrw:aColumns[x]:lCheckBox := .T. ЗЫ. с фоном БМП уже пытался разобраться - не вышло , бросил (((
|
|
|
Dima
|
| |
Пост N: 5051
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 11:00. Заголовок: Haz Не , галя не по..
Haz Не , галя не подходит. Нужна BMP. Подумал было что вот это ,что то изменит , но нет. oBrw:lTransparent:=TRUE Понятно что можно фон сделать который надо , но гиморно больно. Для каждого фона для одного и того же BMP , держать кучку клонов Оно как бы можно сырец ковырнуть и посмотреть что там происходит , но сходу правильное место не нашел. Похоже все рисуется в Сишнике в процедуре TSDrawCell Haz пишет: цитата: | Двойной курсор как оказалось - очень просто делается , у меня на работе пример , в понедельник кину Или лучше Дима может сейчас кинуть. |
| Да если надо выложу.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 715
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.07.15 11:18. Заголовок: Dima пишет:Да если н..
Dima пишет: Выложи. Пока TsBrowse отложил, но VO прогу переделывать придется, так что лучше сразу, потом сложнее будет.
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 716
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.07.15 11:19. Заголовок: Haz пишет:Сделайте в..
Haz пишет: цитата: | Сделайте в нем строк поболее |
| так сделал и увидел
|
|
|
Dima
|
| |
Пост N: 5052
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 11:24. Заголовок: SergKis пишет: Выло..
SergKis пишет: Колонкам делаем экзекуцию for i := 1 To oBrw:nColCount() oBrw:aColumns[ i ]:lFixLite := TRUE next Красим так примерно (на вкус и цвет товарищей нет ) oBrw:SetColor( { 6 }, { { |a,b,c| IF( c:nCell == b,{ RGB(198, 226, 255), RGB(0,196,196) },; { Rgb( 198, 226, 255 ), Rgb( 159, 207, 255 ) }) } } )
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 717
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.07.15 11:50. Заголовок: Да, работает. Спасиб..
Да, работает. Спасибо. Видел в TSBrowse.chm цитата: | DBLCURSOR DOUBLE CURSOR FIXED Activates the double cursor feature on the freezed columns. |
| Но догадаться, для чего это цитата: | Активизирует функцию двойного курсора на отмороженных колонок |
| Google translit(c)
|
|
|
Dima
|
| |
Пост N: 5053
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 13:34. Заголовок: В общем нашел я мест..
В общем нашел я место где происходит вывод картинок Это c_TBrowse.c Функция void DrawBitmap ( HDC hDC, HBITMAP hBitmap, int wRow, int wCol, int wWidth, int wHeight, DWORD dwRaster ) Есть там переменная dwRaster = SRCCOPY; Заменил ее на , с фоном порядочек , но цвет изображения инвертированный получился , по жизни он зеленый (галя на скрине выше) а вышла фиолетовая dwRaster = SRCINVERT; Скрин ;) У кого есть мысли ?
|
|
|
Haz
|
| |
Пост N: 588
Зарегистрирован: 20.02.11
|
|
Отправлено: 05.07.15 13:51. Заголовок: Dima пишет: У кого ..
Dima пишет: а с этим пробовал SRCAND ?
|
|
|
Dima
|
| |
Пост N: 5054
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 13:57. Заголовок: Haz пишет: а с этим..
Haz пишет: цитата: | а с этим пробовал SRCAND ? |
| конечно , результат черный фон. пробовал даже комбинации ........
|
|
|
Dima
|
| |
Пост N: 5055
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 14:06. Заголовок: Игорь это у меня так..
Игорь это у меня такой кривой Axialis IconWorkshop оказывается. Пишет что прозрачный фон у картинки а на самом деле нет. Взял чужую картинку с прозрачным фоном , все отлично. Посему сделать в сырце нужно вот так dwRaster = SRCAND;
|
|
|
Haz
|
| |
Пост N: 589
Зарегистрирован: 20.02.11
|
|
Отправлено: 05.07.15 14:08. Заголовок: Dima пишет: Посему ..
Dima пишет: цитата: | Посему сделать в сырце нужно вот так dwRaster = SRCAND; |
| Погоняю завтра на работе ...
|
|
|
Dima
|
| |
Пост N: 5056
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.07.15 14:53. Заголовок: я уже погонял. короч..
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|