On-line: Vlad04, гостей 3. Всего: 4 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 3144
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.12.13 23:55. Заголовок: А можно ли в Xbrowse показывать BMP 32x32 ?


Доброй ночи пользователям FiveWin !

Можно ли в таблице показывать BMP 32x32 24bit ?
И как это выглядит (код и пример готовый) ?
Покажите пожалуйста неразберающемуся в FiveWin...
Заранее огромное спасибо...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 All [только новые]


постоянный участник


Пост N: 137
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 08.12.13 10:04. Заголовок: Andrey пишет: Добро..


Andrey пишет:

 цитата:
Доброй ночи пользователям FiveWin !

Можно ли в таблице показывать BMP 32x32 24bit ?
И как это выглядит (код и пример готовый) ?


Доброе утро :)
Можно в бровсе показывать разные картинки(по размеру). И примеры у Вас есть. Они лежат в "примерах".
Вариантов несколько . Например так -
@ 0,0 XBROWSE oBrw ;
COLUMNS "First", "City", "State", "Married", "HireDate", "Age", "Salary" ;
PICTURES ,,,,,,"999,999,999.99" ; // nil or ommit for default formatting
OF ownd ; // automatic justification
OBJECT oCust ;
FOOTERS FASTEDIT ;
AUTOSORT ;
LINES CELL

WITH OBJECT oBrw:Salary
:nFooterType := AGGR_TOTAL
:bLClickFooter := { |r,c,f,o| FooterAggrClick( r, c, f, o ) }
END

// Computed Column. Add Column depending on Salary
oBrw:NewSalary := { || oBrw:Salary:Value * 1.1 }
WITH OBJECT oBrw:NewSalary
:cHeader := 'NewSalary'
:nFooterType := AGGR_TOTAL
:cEditPicture := oBrw:Salary:cEditPicture
:bLClickFooter := { |r,c,f,o| FooterAggrClick( r, c, f, o ) }
END

WITH OBJECT oBrw:Married
:cHeader := "MStat"
:SetCheck( { "USERS", "..\bitmaps\32x32\user.bmp" }, .t. )
END

AEval( oBrw:aCols, { |o| o:cToolTip := { 'Column :' + CRLF + o:cHeader, 'ToolTip' }, ;
o:nEditType := EDIT_GET } )
WITH OBJECT oBrw
:MoveCol( oBrw:Salary, oBrw:NewSalary )
:bPopUp := { |o| ColMenu( o ) }
:MakeTotals()
:CreateFromCode()
END

oWnd:oClient := oBrw

Здесь картинка работает , как чекбокс.


А можно "в процессе" подгружать картинки -
@ 0,0 XBROWSE oBrw OF oDlg columns {1,2,3};
Array aArray sizes {100,300, 100} LINES CELL autocols fastedit

oBrw:nMarqueeStyle := 1
oBrw:nRowHeight := 100

oBrw:aCols[ 1 ]:nEditType := TYPE_IMAGE
oBrw:aCols[ 1 ]:lBmpStretch := .t.
oBrw:aCols[ 1 ]:lBmpTransparent := .t.
oBrw:aCols[ 1 ]:bStrImage := {|oCol, oBrw| oBrw:aRow[ 2 ] }
oBrw:aCols[ 1 ]:nDataBmpAlign := AL_CENTER
oBrw:aCols[ 1 ]:bPopUp := { |o| ColMenu( o ) }

oBrw:aCols[ 2 ]:nEditType := EDIT_BUTTON
oBrw:aCols[ 2 ]:bEditBlock := {|nRow, nCol, oCol| oCol:Value := cGetFile( "*.*", "Select a file" ) }

oBrw:aCols[ 3 ]:nEditType := 1
oBrw:aCols[ 3 ]:bOnPostEdit := {|oCol, xVal, nKey| if ( alltrim( xVal ) == "1", oBrw:nMoveType := 5, oBrw:nMoveType := 6 ), oCol:Value( xVal ) }



Ну и другие варианты ....



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 138
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 08.12.13 10:50. Заголовок: С альфа каналом.... ..


С альфа каналом....



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3145
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.13 18:53. Заголовок: ММК Спасибо БОЛЬШОЕ ..


ММК Спасибо БОЛЬШОЕ !!!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3146
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.13 19:03. Заголовок: А есть ли в FiveWin ..


А есть ли в FiveWin функция показа иконки, ассоциированной с данным типом файла ?
По форуму поглядел, не нашел.
Нашел только:
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=17551
Но это другая функция.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 192
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 08.12.13 21:07. Заголовок: Специальной функции ..


Специальной функции вроде нет, но как сделать могу скинуть примерчик

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3749
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.12.13 21:43. Заголовок: fil пишет: Специаль..


fil пишет:

 цитата:
Специальной функции вроде нет, но как сделать могу скинуть примерчик


Сюда и скинь если не сложно :)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 193
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 08.12.13 21:47. Заголовок: #INCLUDE "FiveWi..


#INCLUDE "FiveWin.ch"
#include "xbrowse.ch"

Function Main()
local ico, oIcon, oWnd, aRet

aArr_g := {}

for nI := 1 to 5
aadd( aArr_g, { "", Space( 50 ), 0 } )
next

DEFINE WINDOW oWnd FROM 0, 0 TO 30, 60 TITLE "Test"

@ 0,0 XBROWSE oBrw OF oWnd columns {1, 2, 3};
Array aArr_g sizes {100, 250, 1} LINES CELL autocols fastedit

oBrw:nMarqueeStyle := 1
oBrw:nRowHeight := 33

// oBrw:aCols[ 1 ]:lBmpStretch := .t.
oBrw:aCols[ 1 ]:lBmpTransparent := .t.
oBrw:aCols[ 1 ]:nDataBmpAlign := AL_CENTER
oBrw:aCols[ 1 ]:bStrData := {|| NIL }
oBrw:aCols[ 1 ]:bBmpData := {| | oBrw:aRow[ 3 ] }

oBrw:aCols[ 2 ]:nEditType := EDIT_BUTTON
oBrw:aCols[ 2 ]:bEditBlock := {|nRow, nCol, oCol| aRet := file_load( oCol ), ;
oBrw:aRow[ 3 ] := aRet[ 1 ],;
oBrw:aRow[ 2 ] := aRet[ 2 ] }

oBrw:aCols[ 3 ]:lHide := .T.

oWnd:oClient := oBrw

oBrw:CreateFromCode()

ACTIVATE WINDOW oWnd //on paint( PalBmpDraw( hDC, 0, 0, hBmp ) )

return nil

/*------------------------------------------------------------------------*/
FUNC file_load( oCol )
loca cname
local hBmp
local aRet
local nIndex := 0
cname := cGetFile( "*.*", "Select file" )

if cname != NIL
ico := EXTRACTASSICON( 0, cname, @nIndex )
hBmp := BmpFromIcon( ico )

oCol:oBrw:aCols[ 1 ]:AddBmpHandle( hBmp )

aRet := { Len( oCol:oBrw:aCols[ 1 ]:aBitmaps ), cName }
endif

RETURN aRet

#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

HB_FUNC( EXTRACTASSICON )
{
HICON hIcon;
LONG hInstance = hb_parnl( 1 );
char * lpIconPath = ( char * ) hb_parc( 2 );
WORD lpiIcon = hb_parnl( 3 );


hIcon = ExtractAssociatedIcon(
( HINSTANCE ) hInstance,
lpIconPath,
&lpiIcon );

hb_stornl( lpiIcon, 3 );
hb_retnl( ( LONG ) hIcon );

}

HB_FUNC( ICON_EXEREAD )
{
SHFILEINFO sfi;

ZeroMemory(&sfi, sizeof(SHFILEINFO));

SHGetFileInfo(hb_parc(1), 0, &sfi, sizeof(SHFILEINFO), SHGFI_ICON );

hb_retnl( ( LONG ) sfi.hIcon );

}

HB_FUNC( BMPFROMICON )
{
HICON hIcon = ( HICON ) hb_parnl( 1 );
HDC HDCMem = GetDC( GetDesktopWindow() );
HDC hDC = CreateCompatibleDC( HDCMem );
HBITMAP hBitmap = CreateCompatibleBitmap(HDCMem, GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON));
HBITMAP hOldBitmap = (HBITMAP)SelectObject(hDC, hBitmap);
DrawIcon(hDC, 0, 0, hIcon);
SelectObject(hDC, hOldBitmap);
DeleteDC(hDC);

hb_retnl( ( LONG ) hBitmap );
}

#pragma ENDDUMP

*************************************************
DLL32 FUNCTION GCP_ID() AS LONG ;
PASCAL FROM "GetCurrentProcessID" LIB "kernel32.dll"
DLL32 FUNCTION ExtractAssociatedIcon( hIns AS LONG, cPth AS LPSTR, nInd AS LONG ) ;
AS LONG PASCAL FROM "ExtractAssociatedIconA" LIB "SHELL32.DLL"


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3147
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.13 21:59. Заголовок: fil пишет: сделать..


fil пишет:

 цитата:
сделать могу скинуть примерчик


А готовый ехе-ник можешь скинуть, для просмотра ?
А то еще не собирал ни разу примеры на FiveWin'e.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 194
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 08.12.13 22:12. Заголовок: http://files.mail.ru..


http://files.mail.ru/8444572D2E004E0BB07C87D12BB81B3C

В browse даблклик на колонке B. Выбери файл с нужным расширением. В колонке А будет
его иконка

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3148
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.13 22:42. Заголовок: fil пишет: В колонк..


fil пишет:

 цитата:
В колонке А будет его иконка



Спасибо БОЛЬШОЕ !

Только небольшое уточнение:
ico := EXTRACTASSICON( 0, cname, @nIndex )
hBmp := BmpFromIcon( ico )

А как получить не Хендл bmp, а сам bmp - для показа на форме ?

fil пишет:

 цитата:
*************************************************
DLL32 FUNCTION GCP_ID() AS LONG ;
PASCAL FROM "GetCurrentProcessID" LIB "kernel32.dll"
DLL32 FUNCTION ExtractAssociatedIcon( hIns AS LONG, cPth AS LPSTR, nInd AS LONG ) ;
AS LONG PASCAL FROM "ExtractAssociatedIconA" LIB "SHELL32.DLL"


И что это за уточнение ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3750
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.12.13 23:13. Заголовок: Andrey пишет: А то ..


Andrey пишет:

 цитата:
А то еще не собирал ни разу примеры на FiveWin'e.


С этого и начни а то смысла нет подобные вопросы задавать на мой взгляд ;)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3149
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.13 23:25. Заголовок: Dima пишет: С этого..


Dima пишет:

 цитата:
С этого и начни а то смысла нет подобные вопросы задавать на мой взгляд ;)


Да я на МиниГуи эти функции хочу использовать...
А в лоб при использовании:
#pragma BEGINDUMP
.....
#pragma ENDDUMP

Функция HB_FUNC( EXTRACTASSICON ) - что то не работает в МиниГуи...
Я уже неделю разбираюсь....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 139
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 09.12.13 10:03. Заголовок: Andrey пишет: Да я ..


Andrey пишет:

 цитата:
Да я на МиниГуи эти функции хочу использовать...


:)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3150
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.12.13 11:17. Заголовок: Вот неработающий код..


Вот неработающий код.
Подскажите пожалуйста, где и что "подкрутить" - если это возможно....
http://files.mail.ru/591DDCB1A1094F3C957FF40D407C42AA


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 531
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.12.13 17:16. Заголовок: Andrey пишет: Подск..


Andrey пишет:

 цитата:
Подскажите пожалуйста


Отправил исправленный пример по почте

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 412
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 09.12.13 17:29. Заголовок: А почему по почте? А..


А почему по почте?
А не ссылочку выложить?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 114
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.12.13 10:41. Заголовок: присоединяюсь к вопр..


присоединяюсь к вопросу,
тоже хотелось бы глянуть на "исправленный пример"

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 532
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.12.13 11:39. Заголовок: Haz пишет: хотелось..


Haz пишет:

 цитата:
хотелось бы глянуть на "исправленный пример"


Хотя и не в "своей" теме, но если есть интерес...

Скрытый текст


Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3532
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.08.14 16:25. Заголовок: Народ, поделитесь ва..


Народ, поделитесь вашими рабочими скриншотами навигации для XBROWSE ?
Хочется посмотреть, проанализировать для себя.
Заранее спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 165
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 05.08.14 10:55. Заголовок: чисто для навигации ..


чисто для навигации набор достаточно конкретный и ограниченный, поэтому ,что бы он не "путался" с остальными размещаю его вертикально.
Да так он и больше "стыкуется" с управлением с клав-ры.
1.Самый простой вариант

[

2. Не обязательно распологать управление рядом с бровсом. Вот в таком виде использую одно меню для разных бровсов(закладок)

Естествено работает управление на уровне заголовко (например для выбора сортировки ) с соответствующей индикацией





3. При необходимости дополнителных операций с данными добавляю горизонтальное . Меньше кнопок в одном месте -легче искать нужную ....(подсказки работают)



4. Иногда в "управление" добавляю get'ы (в данном примере это процент запаса )



5. Более сложный вариант, когда в бровсе используется "дерево" и одновременно несколько бровсов "управляет друг другом"
Здесь даже внешнее меню "помогает" ;(





6. и если совсем уж хочется "потворить2 можно и такое ....





Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 265
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет