Newsgroup: it.comp.lang.visual-basic
Titolo: [?] ruotare uno smiley

vorrei visualizzare (label, picbox o altro) un smiley ruotato a destra, in
modo che non si debba piegare la testa. pigrizia...
idee?
tia, pal

 ha scritto nel messaggio
news:8nr46q$jeb$1...@fe1.cs.interbusiness.it...

prova con
    Text1.FontName = "Wingdings"
    Text1.Text = "J"
ciao

 prova con


c'è un'API per scrivere del testo avendo l'hdc dell'oggetto mi pare
mi sfugge il nome

 mi sfugge il nome
Ciao,
quella che dici te credo sia la TextOut() o la DrawText() o simile ma
possono solo scrivere in orizzontale.
Per il buon Pal:
se dovessi risolvere il tuo problema credo che prenderei in mano la (poca)
pazienza che mi resta in questi giorni di fine estate e concentrerei i miei
sforzi per imparare l'uso della CreateFont()
HFONT CreateFont(
    int nHeight,                                                // logical
height of font
    int nWidth,                                                 // logical
average character width
    int nEscapement,                                     // angle of
escapement
    int nOrientation,                                        // base-line
orientation angle
    int fnWeight,                                              // font
weight
    DWORD fdwItalic,                                    // italic attribute
flag
    DWORD fdwUnderline,                           // underline attribute
flag
    DWORD fdwStrikeOut,                           // strikeout attribute
flag
    DWORD fdwCharSet,                             // character set
identifier
    DWORD fdwOutputPrecision,                // output precision
    DWORD fdwClipPrecision,                    // clipping precision
    DWORD fdwQuality,                                // output quality
    DWORD fdwPitchAndFamily,                // pitch and family
    LPCTSTR lpszFace                                // pointer to typeface
name string
   );
I paramentri sono molti ma credo che quello che più ti interessa sia il
terzo (l'angolo è espresso in decimi di grado). Puoi impostarti un oggetto
di tipo StdFont e settarlo come più preferisci; poi passi i membri del font
"standard" alla CreateFont() specificando l'angolo di inclinazione rispetto
all'angolo della base-line (quarto parametro - ex: CreateFont(font.size * 2,
0, angolo * 10, 0, ect., etc.) dove angolo è -90 per scrivere dall'alto in
basso).
Una volta creato il font il gioco è fatto: prendi un bell'oggetto di cui
puoi conoscere l'handle del device-context (puoi usare una normale
PictureBox), associ il font all'oggetto tramite la SelectObject() e scrivi
con il metodo print direttamente in verticale!!!   |:-o)
Quando hai finito ricordati di reimpostare il font originale e distruggere
il font "personalizzato" tramite la DeleteObject().
Sembra difficile ma è più a dirlo che a farlo; cmq se hai problemi fammi
sapere che vedo di buttarti giù qualcosa. (Questa non l'ho mai provata anzi,
non mi era neanche mai passata per il cervello, quindi spero di non aver
scritto SOLO cazzate :-) )
Ciao.
--
Princi, 
princ...@programmer.net
--------------------------------------------------------------------------
"Tutti sanno che una cosa è impossibile da realizzare,
finché arriva uno sprovveduto che non lo sa e la inventa." A.E.

 sforzi per imparare l'uso della CreateFont()
qual e' lo smiley per "GLOB !!" ?
grazie, provero'.
ciao, a.

 qual e' lo smiley per "GLOB !!" ?
Perdonami ma non sono molto avvezzo alla sintassi fumettistica; sarei cmq
molto curioso di sapere per cosa stà "GLOB !!" (almeno potrei capire il tuo
commento).
A dirla tutta non mi dispiacerebbe nemmeno se mi inviassi in visione il DB
degli smiley :-)
Ciao e buon lavoro.


 Ciao e buon lavoro.
grazie e ciao, a.

 cicli For...Next ti ruoti i px
grazie dell'idea.
stavo giungendo alle stesse conclusioni, ma non cosi' ben formalizzate.
se il forno padano non cresce, ci provo.
la lentezza, a occhio, non e' un problema, mal che vada un'emoticon sono 30
caratteri, basta un picbox piccolo....
ciao, a.

 modo che non si debba piegare la testa. pigrizia...
Prova a dare una occhiata qui:
http://www.murialdo.it:8000/it_lang_vb/faq/perle/general1.txt
e fai una ricerca nella pagina per la stringa "ruotare un testo".
Ciao
*Roby*

 modo che non si debba piegare la testa. pigrizia...
metti questo codice in un form, lancialo, clicca sopra, e vedi se e' quello
che cerchi
ciao stefano
Option Explicit
Const FW_BOLD = 700
Const FW_NORMAL = 400
Const ANSI_CHARSET = 0
Const OUT_DEFAULT_PRECIS = 0
Const CLIP_DEFAULT_PRECIS = 0
Const PROOF_QUALITY = 2
Const DEFAULT_PITCH = 0
Const FF_DONTCARE = 0
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As
Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal
hObject 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
Sub dotext(angpict As Object, angfont As StdFont, AngText As String, angle
As Single)
Dim newfont As Long
Dim oldfont As Long
Dim angweight As Long
If angfont.Bold = True Then
    angweight = FW_BOLD
    Else
    angweight = FW_NORMAL
End If
newfont = CreateFont(angfont.Size * 2, 0, angle * 10, 0, angweight,
angfont.Italic, angfont.Underline, angfont.Strikethrough, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY, DEFAULT_PITCH Or
FF_DONTCARE, angfont.Name)
oldfont = SelectObject(angpict.hdc, newfont)
' posizione e stampa con angolo
angpict.CurrentX = TextWidth(AngText)
angpict.CurrentY = TextWidth(AngText)
angpict.Print AngText
newfont = SelectObject(angpict.hdc, oldfont)
End Sub
Private Sub Form_Click()
Dim x As New StdFont
Dim a As Single
Dim prova As String
x.Name = "Arial"
x.Size = 12
Cls
prova = ":-)))"
For a = -180 To 180 Step 90
    dotext Form1, x, prova, a
Next
End Sub

qual e' lo smiley per "GLOB !!" ?
=8-o
-- 
Sidewinder  
---------------------------------------------------------------------
Don't go around saying the world owes you a living.  The world owes you
nothing.  It was here first.
		-- Mark Twain
---------------------------------------------------------------------

 e fai una ricerca nella pagina per la stringa "ruotare un testo".
mi ero gia' archiviato non una ma tre risposte di domenico, e ci ho provato.
la cosa stramba e' che col codice che, diceva nel ng, a lui funziava, da me
'un succede nulla di nulla.
ne' font ruotati, ne' font non ruotati, ne' crash.
sto provando con dritte del kpd e dell'api guide skyscraper...
grazie e ciao, a.

 ne' font ruotati, ne' font non ruotati, ne' crash.
Ho appena provato il codice sul sito comune e a me funziona.
La PictureBox deve essere parecchio grande, diciamo 5000 x 7000 twips, per
vedere tutta la scritta, però non ho riscontrato problemi, nè con autoredraw
= true nè = false
Ciao
*Roby*

 wrote


Pal, mi deludi: Sito Comune, ovviamente!


 commento).
ha deglutito (sinonimo di gulp)
forse ha paura delle API :)



Ecco cosa succede ad interrompere l'invio di un messaggio in corso... lo si
duplica