Afficher des Miniatures ??
Afficher des Miniatures ??
Bonjour à tous
Est il possible d'obtenir une fenetre du style ListIconGadget ou autre avec à l'intérieur des miniatures comme le propose l'explorateur de Windows.
Est il possible d'obtenir une fenetre du style ListIconGadget ou autre avec à l'intérieur des miniatures comme le propose l'explorateur de Windows.
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Utilises la commande ChangeListIconGadgetDisplay() pour la ListIconGadget
Non, cette commande permet d'afficher entre autre des icones de grande taille mais pas les miniatures. J'entend par miniature un affichage en mode diapositive des images d'une répertoire (Oppsion de Windows Xp pour ceux qui connaisent )
Non, cette commande permet d'afficher entre autre des icones de grande taille mais pas les miniatures. J'entend par miniature un affichage en mode diapositive des images d'une répertoire (Oppsion de Windows Xp pour ceux qui connaisent )
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Salut,
ça doit être possible avec le mode SHVIEW_THUMBNAIL, j'ai trouvé deux exemples (équivalent à un ExplorerListGadget() de purebasic) mais c'est écrit en C et VB, si qqn a les compétences pour "traduire" ça en purebasic, c'est ici :
Exemple en VB : http://vbnet.mvps.org/index.html?code/h ... lvview.htm
Exemple en C: http://www.codeproject.com/dialog/FileDialogEx.asp
ça doit être possible avec le mode SHVIEW_THUMBNAIL, j'ai trouvé deux exemples (équivalent à un ExplorerListGadget() de purebasic) mais c'est écrit en C et VB, si qqn a les compétences pour "traduire" ça en purebasic, c'est ici :
Exemple en VB : http://vbnet.mvps.org/index.html?code/h ... lvview.htm
Exemple en C: http://www.codeproject.com/dialog/FileDialogEx.asp
Voilà ce que je sais traduire de l'exemple VB.
Par contre je ne sais pas en faire plus pour activier une fenêtre contenant les thumbnails.
Ce code reprend les procédures du code VB et charge la structure d'appel dans la partie principale avant appel de GetOpenFileName().
Par contre je ne sais pas en faire plus pour activier une fenêtre contenant les thumbnails.
Ce code reprend les procédures du code VB et charge la structure d'appel dans la partie principale avant appel de GetOpenFileName().
Code : Tout sélectionner
Enumeration
#Window_Main
#Gadget_ExplorerList
EndEnumeration
m_lvInitialView.l
#VER_PLATFORM_WIN32_NT = $2
#OSV_LENGTH = 76
#OSVEX_LENGTH = 88
Global OSV_VERSION_LENGTH.l
#OFN_ENABLEHOOK = $20
#OFN_EXPLORER = $80000
#OFN_ENABLESIZING = $800000
#OFN_EX_NOPLACESBAR = $1
#SHVIEW_ICON = $7029
#SHVIEW_LIST = $702B
#SHVIEW_REPORT = $702C
#SHVIEW_THUMBNAIL = $702D
#SHVIEW_TILE = $702E
Procedure FARPROC(pfn.l)
FARPROC = pfn
EndProcedure
Procedure IsWin2000Plus()
osv.OSVERSIONINFO
osv\dwOSVersionInfoSize = SizeOf(osv)
If GetVersionEx_(osv) = 1
IsWin2000Plus = (osv\dwPlatformId = VER_PLATFORM_WIN32_NT) And (osv\dwMajorVersion = 5 And osv\dwMinorVersion >= 0)
EndIf
EndProcedure
Procedure OFN_SetInitialView(initview.l)
m_lvInitialView = initview
EndProcedure
Procedure OFNHookProc(hwnd.l, uMsg.l, wParam.l, lParam.l)
hWndParent.l
hwndLv.l
Static bLvSetupDone.l
Select uMsg
Case #WM_INITDIALOG
bLvSetupDone = #FALSE
Case #WM_NOTIFY
If bLvSetupDone = #FALSE
hWndParent = GetParent_(hwnd)
hwndLv = FindWindowEx_(hWndParent, 0, "SHELLDLL_DefView", #NULL)
If hwndLv > 0
SendMessage_(hwndLv, #WM_COMMAND, m_lvInitialView, $0)
bLvSetupDone = #TRUE
EndIf
EndIf
Default
EndSelect
EndProcedure
Procedure SetOSVersion()
Select IsWin2000Plus()
Case #TRUE
OSV_VERSION_LENGTH = #OSVEX_LENGTH
Default
OSV_VERSION_LENGTH = #OSV_LENGTH
EndSelect
EndProcedure
;
;
;
WindowWidth = 640
WindowHeight = 480
hWnd = OpenWindow(#Window_Main, 0, 0, WindowWidth, WindowHeight, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered, "MyWindow")
If hWnd
AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Escape, #PB_Shortcut_Escape)
sFilters.s
OFN.OPENFILENAME
SetOSVersion()
sFilters = "All Files" + Chr(0) + "*.*" + Chr(0) + Chr(0)
OFN\lStructSize = OSV_VERSION_LENGTH
OFN\hwndOwner = hWnd
OFN\lpstrFilter = @sFilters
OFN\nFilterIndex = 0
sFile.s = Chr(0) + Space(#MAX_PATH) + Chr(0) + Chr(0)
OFN\lpstrFile = @sFile
OFN\nMaxFile = Len(sFile)
sDefExt.s = "*.*" + Chr(0) + Chr(0)
OFN\lpstrDefExt = @sDefExt
sFileTitle.s = Chr(0) + Space(512) + Chr(0) + Chr(0)
OFN\lpstrFileTitle = @sFileTitle
OFN\nMaxFileTitle = Len(sFileTitle)
sInitialDir.s = "C:\Frw\Images"
OFN\lpstrInitialDir = @sInitialDir
sTitle.s = "tadaa !"
OFN\lpstrTitle = @sTitle
OFN\flags = #OFN_EXPLORER | #OFN_ENABLEHOOK | #OFN_ENABLESIZING
OFN\lpfnHook = FARPROC(@OFNHookProc())
GetOpenFileName_(OFN)
Quit = #FALSE
Repeat
Select WindowEvent()
Case #PB_Event_CloseWindow
Quit = #TRUE
Case #PB_Event_Menu
Select EventMenuID()
Case #PB_Shortcut_Escape
Quit = #TRUE
EndSelect
EndSelect
Until Quit
EndIf
End
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Est ce que la fonction CreateViewWindow de l'api windows (http://msdn.microsoft.com/library/defau ... Window.asp) ne permettrait pas d'utiliser le mode thumbnail, car je vois que dans la structure foldersettings qui est passée en paramètre de la fonction, on retrouve le fameux viewmode que l'on peut définir à : Je dis p'tet des betises, je ne maitrise pas l'api... mais ça reviendrait à faire appel à cette fonction de l'API à la place de la fonction PB ChangeListIconGadgetDisplay, car on pourrait passer la valeur 5 (FVM_THUMNAIL) en paramètre.
Si qqn a un avis sur mon idee...
Code : Tout sélectionner
typedef enum {
FVM_FIRST = 1,
FVM_ICON = 1,
FVM_SMALLICON = 2,
FVM_LIST = 3,
FVM_DETAILS = 4,
FVM_THUMBNAIL = 5,
FVM_TILE = 6,
FVM_THUMBSTRIP = 7,
FVM_LAST = 7
} FOLDERVIEWMODE;
Si qqn a un avis sur mon idee...