Page 1 sur 1
Afficher des Miniatures ??
Publié : ven. 15/juil./2005 10:12
par brossden
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.
Publié : mar. 19/juil./2005 5:27
par brossden
Bonjour
Mon problème reste sans réponse!
Je suppose que personne n'a la solution!
Je réactive ce post pour lui donner une seconde chance !

Publié : mar. 19/juil./2005 6:06
par Anonyme2
Utilises la commande ChangeListIconGadgetDisplay() pour la ListIconGadget
Publié : mar. 19/juil./2005 6:07
par Droopy
J'ai lu vite fait la doc et trouvé :
ChangeListIconGadgetDisplay(#Gadget, Mode)
Publié : mar. 19/juil./2005 9:53
par brossden
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 )
Publié : mer. 20/juil./2005 21:31
par RegisLG
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
Publié : jeu. 21/juil./2005 16:10
par fweil
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().
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
Publié : ven. 22/juil./2005 12:40
par RegisLG
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 à :
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;
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...