bobolechef
Messages postés65Date d'inscriptionlundi 1 décembre 2003StatutMembreDernière intervention19 juin 2009
-
21 mai 2007 à 16:02
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 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.
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 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?
VB23
Messages postés46Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention10 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
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
bobolechef
Messages postés65Date d'inscriptionlundi 1 décembre 2003StatutMembreDernière intervention19 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.