Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Objet ScrollImage Jeu 25 Jan 2024 - 0:35 | |
| Après ISAM voilà que c'est ScrollImage qui semble avoir un souci. L'objet est créé mais ne prend pas ses dimensions et l'application se ferme. | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Objet ScrollImage Ven 26 Jan 2024 - 0:07 | |
| Bonjour à tous ! - Yannick a écrit:
- L'objet est créé mais ne prend pas ses dimensions et l'application se ferme.
Probablement qu’il te manque un paramètre dans la fonction CreateScrollImage. On retrouve quelques codes de démonstration qui comportent cette erreur. La bonne syntaxe : SI% = dll_call2("CreateScrollImage",handle(0),0) Programme de test (rectifié) créé par Klaus : - Code:
-
' test_TScrollImage.bas
label creer, supprimer, charger, change, reduire, augmenter
dim res%, SI%, img$, no%, no_W%, no_H%, zoom% zoom% = 100
no% = no% + 1 : open_dialog no% : filter no%,"Images (BMP,JPG,GIF,PNG)|*.bmp;*.jpg;*.gif;*.png"
no% = no% + 1 : button no% : caption no%,"Créer" : on_click no%,creer no% = no% + 1 : button no% : left no%,width(no%-1) : caption no%,"Supprimer" : on_click no%,supprimer no% = no% + 1 : button no% : left no%,left(no%-1)+width(no%-1) : caption no%,"Charger" : on_click no%,charger
no% = no% + 1 : button no% : left no%,left(no%-1)+width(no%-1) : caption no%,"Zoom -" : on_click no%,reduire no% = no% + 1 : button no% : left no%,left(no%-1)+width(no%-1) : caption no%,"Zoom +" : on_click no%,augmenter
no% = no% + 1 : scroll_bar no% : no_W% = no% : top no%,30 : left no%,50 : width no%,500 min no%,100 : max no%,1200 : position no%,450 : on_change no%,change no% = no% + 1 : scroll_bar no% : no_H% = no% : vertical no% : top no%,60 : left no%,10 : height no%,350 min no%,100 : max no%,1200 : position no%,300 : on_change no%,change dll_on "KGF.dll"
end
creer: if SI%=0 then SI% = dll_call2("CreateScrollImage",handle(0),0) if SI%<>0 then res% = dll_call5("LocateScrollImage",SI%,50,60,position(no_W%),position(no_H%)) ' !!!!!!!!!! activer la ligne suivante pour avoir une image résultante de dimensions fixes: ' res% = dll_call4("FixedSizeScrollImage",SI%,1,1500,1000) return supprimer: SI% = dll_call1("DeleteScrollImage",SI%) return change: if SI%<>0 then res% = dll_call5("LocateScrollImage",SI%,50,60,position(no_W%),position(no_H%)) return charger: img$ = file_name$(1) if img$="_" then return if file_exists(img$)=0 then return res% = dll_call1("LoadAnyImageFile",adr(img$)) res% = dll_call1("LoadScrollImage",SI%) return
reduire: if SI%=0 then return if zoom%>25 then zoom% = zoom% - 25 res% = dll_call2("ZoomScrollImage",SI%,zoom%) return augmenter: if SI%=0 then return if zoom%<800 then zoom% = zoom% + 25 res% = dll_call2("ZoomScrollImage",SI%,zoom%) return Néanmoins, il y a quand même un problème :Lors du survol de l’image avec la souris, un message « Violation d’accès... » apparait. En cliquant sur OK, tout semble rentrer dans l’ordre. Les ascenseurs fonctionnent, le zoom aussi. | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 26 Jan 2024 - 0:16 | |
| Bravo Marc ! Encore une fois le bug était entre la chaise et le clavier. j' avais zappé le deuxième paramètre. Par contre le message, c'est un peu gênant, du moins si on veut distribuer l'application créée. | |
|
Contenu sponsorisé
| Sujet: Re: Objet ScrollImage | |
| |
|