FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
position des scroll_bar dans un memo : astuce Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
position des scroll_bar dans un memo : astuce Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
position des scroll_bar dans un memo : astuce Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
position des scroll_bar dans un memo : astuce Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
position des scroll_bar dans un memo : astuce Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
position des scroll_bar dans un memo : astuce Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
position des scroll_bar dans un memo : astuce Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
position des scroll_bar dans un memo : astuce Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
position des scroll_bar dans un memo : astuce Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
position des scroll_bar dans un memo : astuce Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
position des scroll_bar dans un memo : astuce Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
position des scroll_bar dans un memo : astuce Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
position des scroll_bar dans un memo : astuce Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
position des scroll_bar dans un memo : astuce Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
position des scroll_bar dans un memo : astuce Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-29%
Le deal à ne pas rater :
DYSON V8 Origin – Aspirateur balai sans fil
269.99 € 379.99 €
Voir le deal

 

 position des scroll_bar dans un memo : astuce

Aller en bas 
3 participants
AuteurMessage
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

position des scroll_bar dans un memo : astuce Empty
MessageSujet: position des scroll_bar dans un memo : astuce   position des scroll_bar dans un memo : astuce EmptyJeu 18 Fév 2016 - 14:49

Bonjour à tous

J'ai fait cette démo pur panoramic pour des besoins personnels avant de me rendre compte que la fonction existait dans KGF. A tout hasard, je la poste quand même défois que ça puisse servir à quelqu’un :
Code:

' https://msdn.microsoft.com/fr-fr/library/windows/desktop/bb787537%28v=vs.85%29.aspx

' SB_HORZ = 0,
' SB_VERT = 1,
' SB_CTL = 2,
' SB_BOTH = 3

' valeur pour fmask
' SIF_RANGE = 0x1,
' SIF_PAGE = 0x2,
' SIF_POS = 0x4,
' SIF_DISABLENOSCROLL = 0x8,
' SIF_TRACKPOS = 0x16,
' SIF_ALL = SIF_RANGE + SIF_PAGE + SIF_POS + SIF_TRACKPOS

' structure
'  UINT cbSize; tjrs 28
'  UINT fMask; tjrs 31
'  int  nMin;
'  int  nMax;
'  UINT nPage;
'  int  nPos;
'  int  nTrackPos;

'
' cbSize
'    Specifies the size, in bytes, of this structure. The caller must set this to sizeof(SCROLLINFO).

' fMask
'    Specifies the scroll bar parameters to set or retrieve. This member can be a combination of the following values:
'    valeur pour fmask
'    SIF_RANGE = 0x1,
'    SIF_PAGE = 0x2,
'    SIF_POS = 0x4,
'    SIF_DISABLENOSCROLL = 0x8,
'    SIF_TRACKPOS = 0x16,
'    SIF_ALL = SIF_RANGE + SIF_PAGE + SIF_POS + SIF_TRACKPOS

' nMin
'    Specifies the minimum scrolling position.

' nMax
'    Specifies the maximum scrolling position.

' nPage
'    Specifies the page size, in device units. A scroll bar uses this value to determine the appropriate size of the proportional scroll box.

' nPos
'    Specifies the position of the scroll box.

' nTrackPos
'    Specifies the immediate position of a scroll box that the user is dragging. An application can retrieve this value while processing the SB_THUMBTRACK request code. An application cannot set the immediate scroll position; the SetScrollInfo function ignores this member.



DIM result%,result,result$
dim ret%
dim i,j,tmp$

label test,fini

' donnees pour la dll 'user32'
dim scrollinfo%
dim structure_scrollinfo$
dim SB_HORZ,SB_VERT,cbSize,fMask,SIF_ALL
SB_HORZ = 0
SB_VERT = 1
cbSize = 28
SIF_ALL = 31
fMask = SIF_ALL
'
' crée une structure pour recevoir les donnees, de 7*4 octets de longueur
structure_scrollinfo$=string$(28,chr$(0))
GET_BUFFER_PTR(adr(scrollinfo%),adr(structure_scrollinfo$))
poke4(scrollinfo%,0,cbSize)
poke4(scrollinfo%,1,fMask)

'
width 0,900
on_close 0,fini
'
dll_on "user32"

' crée un memo et rempli le de 100 caracteres maximum par ligne
memo 1 : bar_both 1  :hide 1
font_name 1,"system"
height 1,250 : width 1,500
for j=1 to 30
   tmp$=""
   for i=1 to int(1+rnd(100))
      tmp$=tmp$+chr$(int(32+rnd(223)))
   next i
   item_add 1,str$(j)+" // "+tmp$
next j
select_text 1,1,1
show 1

' crée un GRID pour afficher les donnees des scroll_bars
grid 30
width 30,320
height 30,240
top 30,0 : left 30,516

grid_row 30,9
grid_row_fixed 30,0
grid_column 30,3
grid_column_fixed 30,0
grid_column_width 30,100

grid_write 30,1,2,"Barre Verticale"
grid_write 30,2,2,"Unité = nb de ligne"
grid_write 30,1,3,"Barre Horizontale"
grid_write 30,2,3,"Unité = pixels"
grid_write 30,3,1,"cbsize"               :' donnee de configuration de la structure
grid_write 30,4,1,"fmask"                :' donnee de configuration de la structure
grid_write 30,5,1,"Min"                  :' valeur mini de la position du curseur, en ligne ou pixels
grid_write 30,6,1,"Max"                  :' valeur maxi de la position du curseur, en ligne ou pixels
grid_write 30,7,1,"par Page"             :' nb de lignes ou pixels visible
grid_write 30,8,1,"Pos"                  :' valeur de la position du curseur
grid_write 30,9,1,"TrackPos"             :' position du curseur, 0 si clique sur une fleche


' crée un timer pour rafraichir l'affichage des donnees des scroll_bars
timer 5
timer_interval 5,50
on_timer 5,test



end
' LES SUBs *********************************************************************
' retrouve l'adresse d'un pointeur de 'string'
sub GET_BUFFER_PTR(adr_destination%,adr_source%)
   poke adr_destination%,peek(adr_source%)
   poke adr_destination%+1,peek(adr_source%+1)
   poke adr_destination%+2,peek(adr_source%+2)
   poke adr_destination%+3,peek(adr_source%+3)
end_sub


' copie 'value%' à l'adresse: 'adr_source%'+'4*offset%'
sub POKE4(adr_source%,offset%,value%)
   poke (4*offset%)+adr_source%,peek(adr(value%))
   poke (4*offset%)+adr_source%+1,peek(adr(value%)+1)
   poke (4*offset%)+adr_source%+2,peek(adr(value%)+2)
   poke (4*offset%)+adr_source%+3,peek(adr(value%)+3)
end_sub


' retourne dans 'result%' le contenu stocké à l'adresse: 'adr_source%'+'4*offset%'
sub PEEK4(adr_source%,offset%)
   poke adr(result%),peek((4*offset%)+adr_source%)
   poke adr(result%)+1,peek((4*offset%)+adr_source%+1)
   poke adr(result%)+2,peek((4*offset%)+adr_source%+2)
   poke adr(result%)+3,peek((4*offset%)+adr_source%+3)
end_sub



' LES EVENTS *******************************************************************
test:
 timer_off 5 :' on empeche timer de s'appeler lui-meme
   '
   ' ecrit dans le grid les infos provenant de:
   ret%=dll_call3("GetScrollInfo",handle(1),1,scrollinfo%) :' LA BARRE VERTICALE
   ' cbSize et fMask ne sont pas utile, on ne les affiche pas
   for i=2 to 6
      PEEK4(scrollinfo%,i)   :' envoi une valeur dans 'result%'
      grid_write 30,i+3,2,str$(result%)
   next i
  
   '
   ret%=dll_call3("GetScrollInfo",handle(1),0,scrollinfo%) :' ' LA BARRE HORIZONTALE
   ' cbSize et fMask ne sont pas utile, on ne les affiche pas
   for i=2 to 6
      PEEK4(scrollinfo%,i)   :' envoi une valeur dans 'result%'
      grid_write 30,i+3,3,str$(result%)
   next i
   '
 timer_on 5
return



fini:
   dll_off
   terminate
'   end
Revenir en haut Aller en bas
Invité
Invité




position des scroll_bar dans un memo : astuce Empty
MessageSujet: Re: position des scroll_bar dans un memo : astuce   position des scroll_bar dans un memo : astuce EmptyJeu 18 Fév 2016 - 16:00

Bonjour,
J'ai pris la peine de tester pour savoir ce que tu essayais de faire.

Pas mal la guêpe! C'est fou ce que l'on peut faire, lorsqu'on sait se servir de ses connaissances.

Bravo!
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

position des scroll_bar dans un memo : astuce Empty
MessageSujet: Re: position des scroll_bar dans un memo : astuce   position des scroll_bar dans un memo : astuce EmptyJeu 18 Fév 2016 - 17:37

Merci Sylverman pour le partage

Superbe astuce, (plus qu'une astuce d'ailleurs). Je me rallie à Cosmos pour dire bravo !

A+
Revenir en haut Aller en bas
Invité
Invité




position des scroll_bar dans un memo : astuce Empty
MessageSujet: Re: position des scroll_bar dans un memo : astuce   position des scroll_bar dans un memo : astuce EmptyJeu 18 Fév 2016 - 19:48

discution, hors sujet:
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

position des scroll_bar dans un memo : astuce Empty
MessageSujet: Re: position des scroll_bar dans un memo : astuce   position des scroll_bar dans un memo : astuce EmptyJeu 18 Fév 2016 - 23:14

Bravo Silverman, c'est super. Dommage que tu n'écrives pas d'articles. Tu as pleins de super astuces ui mériteraient de ne pas disparaitre avec le temps dans les limbes du forum.
Revenir en haut Aller en bas
Contenu sponsorisé





position des scroll_bar dans un memo : astuce Empty
MessageSujet: Re: position des scroll_bar dans un memo : astuce   position des scroll_bar dans un memo : astuce Empty

Revenir en haut Aller en bas
 
position des scroll_bar dans un memo : astuce
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Astuce dans un string
» position du curseur dans memo
» Position dans un List
» Position du curseur dans un objet
» Position du curseur dans l'edit

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: