Page 1 sur 1

[R] Listview & Msgbox

Posté : mer. 26 nov. 2014 10:03
par Y01
Bonjour,

J'ai créé une petite liseuse de logs qui liste tous les fichiers .log et .bmp d'un dossier et qui les affichent dans une MSGBOX lorsqu'on clique dessus.

Mon problème est que je souhaiterais que ce soit une listview qui s'ouvre lorsque je clic sur un .log et une msgbox pour un .bmp.

Le code actuellement :
► Afficher le texte
EDIT : Le code finalisé
► Afficher le texte

Re: [..] Listview & Msgbox

Posté : mer. 26 nov. 2014 10:12
par DimVar
Bonjour,

Une msgbox ne peut pas afficher de BMP. (ou alors je n'ai pas compris votre requête)


Cdlt.

Re: [..] Listview & Msgbox

Posté : mer. 26 nov. 2014 10:19
par Y01
C'est l’inconvénient de ne pas tester tous les modifications que l'on effectuent.

Mea Culpa.

A la base, les fichiers étaient ouvert avec un shellexecute, ce qui marchait parfaitement.

Par contre, le problème initial était que je souhaitais que les fichiers restent en premier plan, ce qui explique la msgbox(262144...) et ça fonctionne très bien (pour les logs en tout cas).

Mon autre problème est que j'ai des logs de plusieurs pages et que c'est impossible d'avoir le contenu complet dans un msgbox.

Concernant les BMP, je pense qu'on fera avec si on ne peut les ouvrir qu'avec un shellexecute.

Re: [..] Listview & Msgbox

Posté : mer. 26 nov. 2014 10:38
par jguinch
Le mieux serait une GUI qui affiche les logs avec GUICtrlCreateEdit et les images avec GUICtrlCreatePic.
- tu mets la GUI en premier plan
- tu auras un ascenseur pour les logs
- tu pourras dimensionner l'image comme tu veux (tu peux d'ailleurs récupérer la taille de l'image avec _GDIPlus_ImageGetWidth et _GDIPlus_ImageGetHeight :

Code : Tout sélectionner

 _GDIPlus_Startup()
$hBitmap = _GDIPlus_BitmapCreateFromFile ( "C:\Users\j1guinchard\Documents\GDIPlus_Image.bmp" )
$iWidth = _GDIPlus_ImageGetWidth($hBitmap)
$iHeight = _GDIPlus_ImageGetHeight($hBitmap)
_GDIPlus_BitmapDispose($hBitmap)
ConsoleWrite($iWidth & "x" & $iHeight)
 

Re: [..] Listview & Msgbox

Posté : mer. 26 nov. 2014 13:33
par Y01
Merci jguinch, j'ai réussi à faire une GUI qui me récupère le contenu de mes logs par contre je n'arrive pas à lui faire comprendre la diffèrence entre un bmp et un log.

J'ai essayé ça mais sans succès :
► Afficher le texte

Re: [..] Listview & Msgbox

Posté : mer. 26 nov. 2014 22:55
par jguinch
J'avais un peu de temps ce soir, je t'ai fais un petit truc qui devrait ressembler à ce que tu veux.
J'ai utilisé GUIRegisterMsg au lieu de ta boucle For $i = 1 to $files[0] et créé une GUI pour afficher soit une image soit du texte.
La GUI et l'image sont redimensionnées à l'affichage (en me basant sur mon idée précédente).

Pour différencier un .log d'un .bmp, j'ai simplement testé si le nom du fichier se termine par .log ou non :
If StringRegExp($sSelectedFile, "(?i)\.log$") Then $sType = "log"
► Afficher le texte

Re: [..] Listview & Msgbox

Posté : lun. 08 déc. 2014 10:59
par Y01
Génial jguinch !!!

ça marche nickel.

PS : Désolé de la latence de réponse, je n'avais pas d'ordinateur à dispo.