Sechaud
Messages postés288Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention 3 janvier 2017
-
24 mars 2005 à 21:29
Sechaud
Messages postés288Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention 3 janvier 2017
-
26 mars 2005 à 06:26
Ayant beaucoup de fonts, j'ai pensé utiliser un programme
en VB pour visualiser et choisir les polices que l'on trouve
sur le Net, sans avoir à les installer.
C'est fait, avec des bouts de code trouvés ça et là j'ai
mon visualisateur.
MAIS je voudrais pouvoir effacer une police sélectionnée que
je ne veux pas garder.
J'ai donc ajouté un bouton pour effacer.
J'utilise KILL qui m'a toujours donné satisfaction.
Cette fois, j'ai un compte rendu d'erreur:
"Erreur dans le chemin d'accès"
et on ne peut pas effacer la police, qui n'est pas installée
ni protégée en ecriture.
Si je remplace l'extension ttf par txt, tout va bien et le fichier
est effacé.
Comment faire?
Merci à ceux qui porront me venir en aide.
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 25 mars 2005 à 11:53
Salut c'est pas aussi simple que cela ta police est enregistrée dans la base de registre.
Utilises l'api ci-dessous
Fonction RemoveFontResource
Declare Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" ( _
ByVal lpFileName As String) As Long
Versions : . Windows 95/98 : Oui . Windows NT : A partir de 3.1 . Windows 2000/XP : Oui
Description : Cette fonction permet d'enlever (désinstaller) une police de caractère.
lpFileName est une chaîne de caractère indiquant le fichier de fonte à manipuler (extensions ".TTF", ".FON", ...).
La valeur de retour indique le nombre de polices enlevées.
Pour que le sytème prennent en compte les modifications, il faut faire un SendMessage ( HWND_BROADCAST , WM_FONTCHANGE , 0 , 0 ).
Sechaud
Messages postés288Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention 3 janvier 2017 26 mars 2005 à 06:26
Bonjour Valtrase,
Je te remercie beaucoup pour ton code.
Comme je l'avais dit, dans mon cas, les polices que je visualise et que je veux pouvoir effacer ne sont pas enregistrées dans le dossier de Windows.
Donc je voulais faire simple.Il m'est venu à l'idée de jouer sur l'extension.
J'ai donc recherché sur vbfrance avec le mot "extension" et j'y ai trouvé
des routines intéressantes.
Donc voici ce que j'ai fini par faire pour tester mon idée
Dim Fichier As String
Const Chemin = "C:\Tempor" 'Dossier où sont les fonts à trier
Private Sub Command1_Click()
Fichier = Dir(Chemin & "trebuc.ttf")
If Fichier = "" Then Exit Sub
Name Chemin & Fichier As Chemin & Mid$(Fichier, 1, Len(Fichier) - 4) & ".txt"
Text1.Text = Mid$(Fichier, 1, Len(Fichier) - 4) & ".txt"
Text2.Text = "C:\Tempor" + Text1.Text
Kill (Text2.Text)
End Sub
Voila, il ne me reste plus qu'à adapter cette étude dans mon programme.
Encore merci et merci également à celui à qui j'ai emprunté un bout de source.