Fichier .ini qui détermine l'affichage ou non de menus à l'ouverture

Résolu
bobolechef Messages postés 65 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 19 juin 2009 - 21 mai 2007 à 16:02
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 22 mai 2007 à 15:02
Bonjour,
D'abord désolé si ce n'est pas le bon thème pour poster ce msg...
Je voudrais savoir s'il possible de paramétrer un fichier .ini qui va déterminer à l'ouverture de mon application quels menus il faut afficher.
Je m'explique : j'ai développé une appli en VB6 qui fonctionne très bien actuellement sur des PC de bureau. Hors je dois faire que cette appli soit ergonomique sur un TabletPC, donc je souhaiterai retirer des menus qui seront inutiles (imprimer par exemple) mais en touchant le moins possible le code, donc sans passer par le créateur de menus.
Mon appli lit un fichier .ini au chargement du Form principal qui paramètre déjà qqs variables, et ça serait bien si je pouvais lui paramétrer les menus à afficher au lancement.
Qqn a déjà fait ça ou voit-il comment faire ?
Merci d'avance.

6 réponses

hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
21 mai 2007 à 16:04
ben une valeur MenuSupplementaire dans ton ini, si elle est a 0 (ce que tu devras enregistrer au moment de la création du ini, sachant si c'est un tablet pc ou non) tu lance une procédure que tu auras ajouter, qui met la proprieté Visible à False pour touts les menu que tu ne veux pas afficher... non? 

Hvb a.k.a Batto
http://batto.info/ ^^x
bato.ltd .at. gmail.com
3
VB23 Messages postés 46 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 10 décembre 2007
21 mai 2007 à 16:23
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, _
    ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long


Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _
    ByVal lpFileName As String) As Long
   
Public Function LitDansFichierIni(Section As String, Cle As String, Fichier As String, _
    Optional ValeurParDefaut As String = vbNullString) As String


    Dim strReturn As String
    strReturn = String(1024, 0)
    GetPrivateProfileString Section, Cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
    LitDansFichierIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)
End Function


Public Function EcritDansFichierIni(Section As String, Cle As String, _
                                     valeur As String, Fichier As String) As Long
    EcritDansFichierIni = WritePrivateProfileString(Section, Cle, valeur, Fichier)
End Function                                       

Ceci permet d'ecrite dans un fichier ini comme ceci :
 '[Section] , Cle= , valeur

[Menu1]
titre=menu
valeur=10

[Menu2]

--------------------------
donc lit ton fichier ini au demarage pour ensuite afficher tel ou tel menu
0
bobolechef Messages postés 65 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 19 juin 2009
22 mai 2007 à 09:45
je prends la soluce de hvb, comme ça je prend chaque menu au cas par cas.
Merci !
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
22 mai 2007 à 11:46
Attention tout de meme, si le menu est invisible il est toujours accessible donc si tu as des fonctions a brider cette technique est dangereuse par contre si c'est juste pour cacher des menus c'est bon.

E.B.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bobolechef Messages postés 65 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 19 juin 2009
22 mai 2007 à 11:58
Accessible comment? par des raccourcis clavier ? si c'est ça ça me convient parfaitement, l'objectif est de ne pas charger la visualisation de l'appli.
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
22 mai 2007 à 15:02
Oui accessible par les raccouris si on les a defini dans l'editeur de menu

E.B.
0
Rejoignez-nous