begin process at 2012 02 15 21:02:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Graphique

 > 

text vertical


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

text vertical

samedi 17 juillet 2004 à 22:53:15 | text vertical

Charles Racaud

Membre Club
Bonjour.

Je voudrai afficher du texte vertical comme dans le menu démarrer.
Mais il faudrai qu'il s'affiche comme on fais pour la fonction 'print'
C'est a dire avec left et top et le laisse font transparent et sans ocx ou dll
Bref, comme si on appelais 'print' et que le texte s'écris verticalement

ChR
samedi 17 juillet 2004 à 23:25:53 | Re : text vertical

Scalpweb

Membre Club
Il y a des source squi font ça sur le site
dimanche 18 juillet 2004 à 02:01:08 | Re : text vertical

Geff

Membre Club
Réponse acceptée !
Pour écrire verticalement il faut que tu passes bien evidemment par les APIs et dans un élan de générosité je vais te donner un petit bout de code ki te permet d'afficher un texte "verticalement"! J'ai retrouvé ce petit bout de code ke j'avais fait il y'a plus d'un an pour un certain pcpunch! :p

Voici donc ::

'---Les APIs
Private Declare Function GetDeviceCaps Lib "GDI32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Private Declare Function CreateFont Lib "GDI32" Alias "CreateFontA" (ByVal H As Long, ByVal w As Long, ByVal E As Long, ByVal O As Long, ByVal w As Long, ByVal i As Long, ByVal U As Long, ByVal S As Long, ByVal C As Long, ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function DeleteObject Lib "GDI32" (ByVal hObject As Long) As Long
Private Declare Function TextOut Lib "GDI32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Integer, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Private Declare Function SetMapMode Lib "GDI32" (ByVal hdc As Long, ByVal nMapMode As Long) As Long
Private Declare Function SelectObject Lib "GDI32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Const MM_LOMETRIC = 2
Private Const LOGPIXELSY = 90
Dim HFont As Long, HFontOld As Long, MapModePrevious As Long


'---La structure de stockage du texte

Private Type TexteV
Texte As String
x As Integer
y As Integer
Police As String
Italique As Boolean
Gras As Boolean
Souligne As Boolean
Barre As Boolean
Taille As Integer
Angle As Integer
End Type

dim Texte as TexteV

'---La procédure d'affichage du texte
sub DrawAngleText()

pic.currentx=x
pic.currenty=y

with Texte

MapModePrevious = SetMapMode(Pic.hdc, MM_LOMETRIC)
HFont = CreateFont(.Taille, 0&, .Angle, .Angle, CInt(.Gras), CInt(.Italique), CInt(.Souligne), CInt(.Barre), 0&, 0&, 0&, 0&, 0&, .Police)
HFontOld = SelectObject(Pic.hdc, HFont)
TextOut Pic.hdc, 4 * .x, -4 * .y, .Texte, Len(.Texte)
SetMapMode Pic.hdc, MapModePrevious
SelectObject Pic.hdc, HFontOld
DeleteObject HFont

end with

end sub

'---Création du texte
sub Form_Load()

With Texte
.Texte = "Bonjour Madame!"
.Police = "Arial"
.Taille = Int(Rnd * 200)
.Angle = -450
.x = Int(Rnd * Pic.ScaleWidth / 2)
.y = Int(Rnd * Pic.ScaleHeight / 2)
End With

end sub



Voila tout, donc bien évidemment il te faut un picturebox de préférence a fond blanc car par défaut on écrait en noir, enfin ca c a toi de voir en changeant les propriétés forecolr et backcolor du picturebox! Donc normalement ce petit exemple marche, je l'ai retouché histoire de raccourcir ce ke j'avais déja!

Have a Good Code
#
Geff
dimanche 18 juillet 2004 à 11:52:12 | Re : text vertical

Scalpweb

Membre Club
Bravo Geff !
lundi 19 juillet 2004 à 09:24:53 | Re : text vertical
vendredi 29 avril 2005 à 12:31:50 | Re : text vertical

dals

Réponse acceptée !
Oulala que de complexitude:
moi charles je me sers de ca:

Public Sub RotateStr(ByVal g As System.Drawing.Graphics, ByVal Texte As String, ByVal Pt0 As PointF, ByVal RectString As RectangleF, ByVal MyFont As Font, ByVal Brush As Brush, ByVal Angle As Int16)
        Dim gContainer As System.Drawing.Drawing2D.GraphicsContainer
        Dim myMatrix As Drawing2D.Matrix
        gContainer = g.BeginContainer()
        myMatrix = g.Transform()
        myMatrix.RotateAt(Angle, Pt0, Drawing2D.MatrixOrder.Append)
        g.Transform = myMatrix
        g.DrawString(Texte, MyFont, Brush, RectString)
        g.EndContainer(gContainer)
End Sub

j'y fais appel kom ca:

RotateStr(MonObjetGraphique,"texte vertical", MonPointF, MonRectangleF, MaPolice, MaBrosse, 90)

Voila si ca peut aider.. j'ai passé du temps à trouver un truc kom ca

vendredi 29 avril 2005 à 13:57:59 | Re : text vertical

Geff

Membre Club
dals,
Il me semble que ta réponse concerne la technologie .net, donc elle ne convient pas à VB6, mais en effet pour VB.net l'écriture d'un texte oblique est bien plus aisé. Merci pour ta contribution pour VB.net



main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}

# GEFF
vendredi 29 avril 2005 à 14:00:07 | Re : text vertical

dals

ok pas de P!

C'est quand même pas top d'avoir mélangé les 2 VB sur un même forum: j'avais pas vu que le topic étais uniquement pour VB6
vendredi 29 avril 2005 à 19:04:17 | Re : text vertical

Charles Racaud

Membre Club
Je suis passé au .NET depuis quelques temps déjà
Le code de dals me convient donc parfaitement
Donc
Merci Beaucoup dals

ChRb


Cette discussion est classée dans : text, texte, print, vertical


Répondre à ce message

Sujets en rapport avec ce message

effacer un text via "print" [ par irchk ] Hello tt le monde,alors j'affiche du texte via la méthode "print" dans le genrepicture1.currentX=Xpicture1.currentY=Ypicture1.print monTexteca marche [VB6] Sauvegarde et ouverture de fichier [ par renardfou24 ] Bonjour, J'ai voudrai créer un systeme qui sauvegarde dans un fichier text pour pouvoir ensuite le réouvrir.En fait je prend les informations dans des texte vertical [ par meyrin ] qui aurait un outil en visual.net qui permet d'écrire un texte verticalement? fichier texte, trier. [ par grosminou_55 ] bonjous a tous     voilà   mon brobleme est simple a poser mais peut etre un peut plus dur  a repondre (pour ma part en tous cas je n'y suis pas arriv texte [ par maxw004 ] Bonjour, j'explique mon probleme, j'ai un text ds la variable a$ qui s'affichent via mon timer dans form3.text1.text  et j'essaye d'afficher ds mon la [VBA Access] Activer Controle [ par observatoire ] Bonjour,j'ai réalisé une interface avec 3 zones de texte, une zone de liste déroulante et un groupe de 4 cases d'options. J'applique sur ces boutons u recup de donnée [ par manud31 ] helloje suis dsl mais je vais poser une question récurrentecomment ecrire des données dans un fichier texte? enfin j'ai trouvé mais j'ai un problèmevo Texte vertical dans une flexgrid [ par tomsawyer038 ] Bonjour à tous,Je souhaiterais afficher du texte verticalement dans une cellule d'une flexGrid, avez vous une idée de comment le faire?pour info j'uti Variable dans une RichTextBox [ par TS1 ] Bonjour à tous, notre problème est le suivant,Il me faudrait les lignes de codes permettant de declarer des variables ainsi que celui pour pouvoir mod Texte vertical [ par Renfield ] Bonjour, j'ai quelques soucis avec GDI+j'ai regardé dans la doc, et d'après mon StringFormat, mon texte vertical devrais être lu la tête penchée vers


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,636 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales