20/04/2024
Windev et les Api WindowsNb de visiteurs en ligne : 1
>> Introduction << >> Codes et Forum << >> Download <<


Rubrique : 5 - Trucs et astuces       Sujet : Supprimer l'ascenseur horizontal d'une table
Auteur Message
 °¨¨ JL ¨¨° Posté le : 23/06/2000 12:00:00


//Pour supprimer l'ascenseur horizontal d'une table.

// Appel de la procédure :  

supascenseurh("nom de la table","nom de la fenêtre")

// La procédure :

Procédure supascenseurh(tb,fen)

rect est compose de
    l est un entier long // left
    t est un entier long // top
    r est un entier long // right
    b est un entier long // bottom
fin
classname est une chaine asciiz de 128
pos est un entier
indice est un entier

hwnd est un entier long=AppelDll32("User32", "GetWindow", handle(fen), 5)
tantque hwnd <> 0

    appeldll32("user32","GetClassNameA",hWnd,&classname,128)
    si sansespace(classname)="ScrollBar" alors
        appeldll32("user32","GetWindowRect",hwnd,&rect)
        pos={tb}..ligne+{tb}..hauteur+{fen}..ligne
        // test si position y correspond au bas de la table
        // le - varie en fonction du style de la table
        si (rect.b-23=pos) ou (rect.b-19=pos) alors
            appeldll32("user32","ShowWindow",hwnd,0)
            indice++
        fin
    fin

    // le champ static correspond au champ d'affichage de la table
    si sansespace(classname)="Static" alors
        appeldll32("user32","GetWindowRect",hwnd,&rect)
        pos={tb}..colonne+{fen}..colonne
        // si le champ static correspond à celui de la table
        // on le redimensionne pour occupé la place de l'ascenseur supprimé
        // ce qui réduit les problèmes d'affichage
        si rect.l-4=pos alors
            appeldll32("user32","ShowWindow",hwnd,0)
            appeldll32("user32","SetWindowPos",hwnd,0,{tb}..colonne,{tb}..ligne,{tb}..largeur,{tb}..hauteur+23,0)
            appeldll32("user32","ShowWindow",hwnd,1)
            indice++
        fin
    fin

    // modif effectuées, on peut sortir
    si indice=2 alors sortir

    hwnd=AppelDll32("User32", "GetWindow", hwnd , 2)

fin