cs_candyraton
Messages postés109Date d'inscriptiondimanche 27 juillet 2008StatutMembreDernière intervention 2 février 20123 4 déc. 2008 à 18:01
Bonjour:)
'# On créé un DC compatible (avec la résolution, etc)
tVDC.hTmpDC = CreateCompatibleDC(tVDC.hDesktopDC)
' adaptation de la font (objet StdFont vers IFont)
Set oFont = mFont
'# On lie la police a notre DC
tVDC.hOldFont = SelectObject(tVDC.hTmpDC, oFont.hFont)
' destruction du IFont
c'est de la grande classe, vraiment
et la class: (classique)et simple, facile à utilisée, propre, efficace.
Difficile de connaître la quantité de ressources utilisées pour créer un dc.
ça parait en tout cas être une bonne solution pour mesurer.
Je ne sais pas où tu as trouvé ce GetTextExtentPoint32 de derrière les fagots.
eugmpttspcpt
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 3 déc. 2006 à 01:28
Salut PCPT,
depuis le temps que je devais venir voir cette source, c'est chose faite.
Je dirais même : c'est très intéressant !
Bon comme d'hab, ton code est clair et compréhensible (je commence à m'habituer).
Je vais même essayer d'intégrer ta classe à ma source sur le zoom, cela pourrait m'être bénéfique.
Bien que je sois moins bon que toi, je sens que ton code est plus lisible qu'avant (au fur et à mesure de tes sources) et plus performant (dans la façon de coder).
Je te rassure, c'était aussi excellent avant ! lol
Continue comme ça, et bonne prog pour la suite.
@++
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 15 nov. 2006 à 00:13
umm, tous je suppose, pour de bonnes bases (de BD) solides tout au moins
merci :p
++
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 14 nov. 2006 à 22:53
Salut,
Toujours un régale ces(et tes) source qui font avancer les débutants, lol.
Dans les confrères que tu connais, y'en aurai-t-il pas un qui pour lui les bases de données ne sont plus un secret ?
9/10
A+
exploreur
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 14 nov. 2006 à 16:06
tu parles du classement ou de la qualité (qualité je suppose).
je vais jouer le porte-parole (confrères, reprenez-moi au besoin :p), on a tendance à partager des codes facilement réutilisables, pas forcément "facile" tout court.
impression peut-être due au fait qu'on met à disposition plus d'objets que d'applications...
regarde plus en détail, certaines sources sont parfois sympas et bien coriaces.
(Rey et ses SubClassing, EB et ses DirectX, DarkSidious et ses DC, Clementio et ses AddIn, et j'en passe des sacrés)
merci pour la fonction GetFontSize PCPT ;)
juste une petite remarque si je peux me permettre
vous avez tous un tres bon niveau(les administrateurs de VB)
et c'est dommage qu'on voit que des sources pour débutant
c'est tres souvent des sources de niveau 1 que niveau 3 & 2
si j'abuse dis moi le ^^
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 14 nov. 2006 à 08:40
Bien meilleur ainsi ^^
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 14 nov. 2006 à 07:26
voilà c'est mis à jour, çà me semble correct ;)
++
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 nov. 2006 à 14:53
je regarde çà de près dans la soirée, merci ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 13 nov. 2006 à 14:23
tu peux récupérer le IFont::hFont de ta propriété Font
et l'affecter à ton hDC (via SelectObject)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 nov. 2006 à 13:21
2ème ligne précédent post, .FreehDC = Picture1.hDC évidemment.
(décidément c'est pas mon jour ^^)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 nov. 2006 à 12:58
on veut calculer "chaîne" dans Picture1 (donc avec la typo de Picture1) :
.FreehDC = Me.hDC
.Text = "chaîne"
.Calculate
par contre avec la typo d'un label par exemple (qui n'a ni hWnd ni hDC), on doit spécifier la typo
.Font = Label.Font
une picture sera crée et on lui attribuera la typo désirée. cette picture étant créée dynamiquement, il faut la mettre sur la form, donc avoir le parent
.Parent = Form1
et ensuite pareil...
.Text = "chaîne"
.Calculate
dans ce cas de figure (pas de hDC), il y a besoin des propriétés Parent et Font!
et regarde dans la méthode Calculate, l'erreur n'est retournée que dans ce cas de figure.
pourquoi pas CreateDC ou autre.... beh parce que je n'ai pas réussi : comment créer un DC (sur 0 ou le bureau) et lui attribuer ensuite la Font du control voulue??!
"chaine" en tahoma16 ne fera pas la même taille qu'en tahoma10, il faut bien y attribuer la Font
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 13 nov. 2006 à 11:03
Pas besoin de Property Let Parent ni de Property Let Font
Pas compris pourquoi tu créé cette pictureBox, même parfois...
c'est plutôt étrange
un CreateDC ou CreateCompatibleDC ferait l'affaire
(et pas besoin, alors de la propriété Parent)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 nov. 2006 à 10:38
pas de picturebox** créée (ni utilisée en supplément)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 nov. 2006 à 10:36
salut,
Le Cancre -> je vais voir ce que je peux faire...
VinceVG -> merci ;)
Renfield -> passer par une picturebox, pas à chaque cas.
avec l'exemple d'utilisation dans la rubrique [source], pas de hDC créé.
pourquoi pas TextWidth et TextHeight, d'une part parceque çà obligeait de passer un objet supplémentaire en param ou propriété (ce que je voulais éviter), et surtout parce que c'est plus long (pas de beaucoup mais bon ^^)
moyenne sur 2000 essais : 2.74ms par API contre 3.13ms par VB
++ ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 13 nov. 2006 à 10:06
Pas compris pourquoi tu passes par une PictureBox...
enfin, au pire, ok... mais pourquoi, alors ne pas utiliser TextWidth et TextHeight ?
je veux dire, tu mélange ici deux approches du problème
cs_VinceVG
Messages postés221Date d'inscriptionmercredi 8 septembre 2004StatutMembreDernière intervention30 mars 2016 12 nov. 2006 à 18:34
Salut,
cette source donne la taille du texte,on à juste à mettre les valeurs du height et width pour l'objet recepteur(textbox,picturebox)...c'est ok
j'aimerais savoir si c'est possible de mettre une fonction qui permet de faire l'inverse, c'est à dire de donner la bonne taille de la police à mettre en fonction des dimensions de l'objet recepteur (picturebox) par exemple
4 déc. 2008 à 18:01
'# On créé un DC compatible (avec la résolution, etc)
tVDC.hTmpDC = CreateCompatibleDC(tVDC.hDesktopDC)
' adaptation de la font (objet StdFont vers IFont)
Set oFont = mFont
'# On lie la police a notre DC
tVDC.hOldFont = SelectObject(tVDC.hTmpDC, oFont.hFont)
' destruction du IFont
c'est de la grande classe, vraiment
et la class: (classique)et simple, facile à utilisée, propre, efficace.
Difficile de connaître la quantité de ressources utilisées pour créer un dc.
ça parait en tout cas être une bonne solution pour mesurer.
Je ne sais pas où tu as trouvé ce GetTextExtentPoint32 de derrière les fagots.
eugmpttspcpt
3 déc. 2006 à 01:28
depuis le temps que je devais venir voir cette source, c'est chose faite.
Je dirais même : c'est très intéressant !
Bon comme d'hab, ton code est clair et compréhensible (je commence à m'habituer).
Je vais même essayer d'intégrer ta classe à ma source sur le zoom, cela pourrait m'être bénéfique.
Bien que je sois moins bon que toi, je sens que ton code est plus lisible qu'avant (au fur et à mesure de tes sources) et plus performant (dans la façon de coder).
Je te rassure, c'était aussi excellent avant ! lol
Continue comme ça, et bonne prog pour la suite.
@++
15 nov. 2006 à 00:13
merci :p
++
14 nov. 2006 à 22:53
Toujours un régale ces(et tes) source qui font avancer les débutants, lol.
Dans les confrères que tu connais, y'en aurai-t-il pas un qui pour lui les bases de données ne sont plus un secret ?
9/10
A+
exploreur
14 nov. 2006 à 16:06
je vais jouer le porte-parole (confrères, reprenez-moi au besoin :p), on a tendance à partager des codes facilement réutilisables, pas forcément "facile" tout court.
impression peut-être due au fait qu'on met à disposition plus d'objets que d'applications...
regarde plus en détail, certaines sources sont parfois sympas et bien coriaces.
(Rey et ses SubClassing, EB et ses DirectX, DarkSidious et ses DC, Clementio et ses AddIn, et j'en passe des sacrés)
t'abuse pas, no souci ^^
14 nov. 2006 à 14:36
juste une petite remarque si je peux me permettre
vous avez tous un tres bon niveau(les administrateurs de VB)
et c'est dommage qu'on voit que des sources pour débutant
c'est tres souvent des sources de niveau 1 que niveau 3 & 2
si j'abuse dis moi le ^^
14 nov. 2006 à 08:40
14 nov. 2006 à 07:26
++
13 nov. 2006 à 14:53
13 nov. 2006 à 14:23
et l'affecter à ton hDC (via SelectObject)
regarde ce qui est fait là (dépot exprès pour toi ^^) :
http://www.vbfrance.com/code.aspx?ID=40307
13 nov. 2006 à 13:21
(décidément c'est pas mon jour ^^)
13 nov. 2006 à 12:58
.FreehDC = Me.hDC
.Text = "chaîne"
.Calculate
par contre avec la typo d'un label par exemple (qui n'a ni hWnd ni hDC), on doit spécifier la typo
.Font = Label.Font
une picture sera crée et on lui attribuera la typo désirée. cette picture étant créée dynamiquement, il faut la mettre sur la form, donc avoir le parent
.Parent = Form1
et ensuite pareil...
.Text = "chaîne"
.Calculate
dans ce cas de figure (pas de hDC), il y a besoin des propriétés Parent et Font!
et regarde dans la méthode Calculate, l'erreur n'est retournée que dans ce cas de figure.
pourquoi pas CreateDC ou autre.... beh parce que je n'ai pas réussi : comment créer un DC (sur 0 ou le bureau) et lui attribuer ensuite la Font du control voulue??!
"chaine" en tahoma16 ne fera pas la même taille qu'en tahoma10, il faut bien y attribuer la Font
si tu as des idées, je suis preneur (la création d'une picturebox ne m'enchante pas)
tu peux aussi jeter un oeil ici, çà peut te montrer une partie du problème :
http://www.vbfrance.com/infomsg_BIZARRERIE-HDC-AUTOREDRAW_840479.aspx
13 nov. 2006 à 11:03
Pas compris pourquoi tu créé cette pictureBox, même parfois...
c'est plutôt étrange
un CreateDC ou CreateCompatibleDC ferait l'affaire
(et pas besoin, alors de la propriété Parent)
13 nov. 2006 à 10:38
13 nov. 2006 à 10:36
Le Cancre -> je vais voir ce que je peux faire...
VinceVG -> merci ;)
Renfield -> passer par une picturebox, pas à chaque cas.
avec l'exemple d'utilisation dans la rubrique [source], pas de hDC créé.
pourquoi pas TextWidth et TextHeight, d'une part parceque çà obligeait de passer un objet supplémentaire en param ou propriété (ce que je voulais éviter), et surtout parce que c'est plus long (pas de beaucoup mais bon ^^)
moyenne sur 2000 essais : 2.74ms par API contre 3.13ms par VB
++ ;)
13 nov. 2006 à 10:06
enfin, au pire, ok... mais pourquoi, alors ne pas utiliser TextWidth et TextHeight ?
je veux dire, tu mélange ici deux approches du problème
12 nov. 2006 à 18:34
12 nov. 2006 à 15:54
cette source donne la taille du texte,on à juste à mettre les valeurs du height et width pour l'objet recepteur(textbox,picturebox)...c'est ok
j'aimerais savoir si c'est possible de mettre une fonction qui permet de faire l'inverse, c'est à dire de donner la bonne taille de la police à mettre en fonction des dimensions de l'objet recepteur (picturebox) par exemple