Afficher des Miniatures ??

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Afficher des Miniatures ??

Message 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.
Denis

Bonne Jounée à tous
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Bonjour

Mon problème reste sans réponse! :cry:

Je suppose que personne n'a la solution! :roll:

Je réactive ce post pour lui donner une seconde chance ! :idea:
Denis

Bonne Jounée à tous
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Utilises la commande ChangeListIconGadgetDisplay() pour la ListIconGadget
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

J'ai lu vite fait la doc et trouvé :

ChangeListIconGadgetDisplay(#Gadget, Mode)
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message 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 )
Denis

Bonne Jounée à tous
RegisLG
Messages : 154
Inscription : mer. 22/juin/2005 2:32

Message 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
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message 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
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.
RegisLG
Messages : 154
Inscription : mer. 22/juin/2005 2:32

Message 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...
Répondre