Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Character map

Come si potrebbe riprodurre una character map dove l'utente cliccando sulle
varie lettere (senza troppe pretese di fare lo zoom come fa quello di
windows)
possa importare il carattere selezionato nel programma?
Ciao Andrea

 ha scritto nel messaggio
news:93vrmd$brrkf$1...@ID-61006.news.dfncis.de...

Inserisci una bella serie (matrice di controlli) di CommandButton, oppure di
Label o di TextBox, nella proprietà caption o text ci inserisci le lettere e
nell'evento Click lo copi negli appunti oppure ci fai quello che vuoi, se
vuoi uno zoom rudimentale basato sul pulsante destro del mouse prova così:
Inserisci una serie di CommandButton
poi copia le seguenti righe
Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
    If Button = vbRightButton Then
        Command1(Index).FontSize = 20
    End If
End Sub
Private Sub Command1_MouseUp(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
    If Button = vbRightButton Then
        Command1(Index).FontSize = 8 'Qui inserisci la dimensione normale
del carattere
    End If
End Sub
Quando clicchi con il tasto destro la dimensione del Font passa da 8 a 20,
quando lo rilasci torna a 8, volendo poui cambiare colore, metterlo
grassetto etc, etc.
Ciao VB

 ha scritto nel messaggio
news:93vum8$s1v$1...@serv1.albacom.net...

valter, la tua idea e' buona, ma temo che tu gli abbia detto quello che
diceva gli importava meno :))
io ho messo una flexgrid poi:
Private Sub Form_Load()
Grid.ScrollBars = 0 'flexScrollBarNone
'Grid.Redraw = False
''' spiego qui in oe: se non si blocca il refresh e' piuttosto fastidioso
''' vedere la griglia riempirsi
    Dim j, jj, ch
    ch = -1
    For j = 0 To 7
        For jj = 0 To 31
            ch = ch + 1
            If ch = 255 Then Exit Sub
            Grid.Col = jj
            Grid.Row = j
            Grid.Text = Chr(ch)
            'DoEvents
        Next
    Next
    Grid.Visible = True
Grid.ScrollBars = 3 'flexScrollBarNone
'Grid.Redraw = True
    Move 0, 0
    Me.Show
    RefreshAll
End Sub
'bas:
Public Sub RefreshAll()
    Dim TmpTxt
    TmpTxt = Now & vbCrLf & _
        "Nel Mezzo del Cammin di Nostra Vita" & vbCrLf & _
        "Mi ritrovai in una Selva Oscura" & vbCrLf & _
        "Ché la Diritta Via era Smarrita."
    frmMain.txtSample = TmpTxt
    frmXCM.Grid.Visible = False
    'frmXCM.Grid.Font = frmMain.cboFonts
    frmXCM.Grid.Refresh
    frmMain.Caption = frmMain.cboFonts
    frmMain.txtSample.Font = frmXCM.Grid.Font
    frmMain.txtSample.FontSize = frmXCM.Grid.FontSize
    frmXCM.Grid.Visible = True
End Sub
dopodiche c'e' un combo con screen/printer fonts per scegliere il carattere,
uno per le dimensioni, un cmd per il bold ecc. -- almeno posso dimensionare
la griglia a tutto schermo e non accecarmi con il charmap ms.
gestire il click sulla griglia e' semplice. un solo casino, al quale non
sono riuscito a trovare soluzione: se imposto wingdings, seleziono gli
smiley (uno per volta) e copio, in word mi trovo J K L.
se hai un'idea su come gestire anche il fontface te ne saro' riconoscente
come a vb in persona :)
ciao, a.


I beg your pardon! 8-)
Letto troppo velocemente, non ho pensato alla scelta dei  font dimensioni
etc., ma solo alla scelta della lettera 8-)
Ciao VB





Grazie ad entrambi ... ci sto lavorando sopra 



vedrò di fare qualcosa di decente in base 
alle


mie aspettative.


 


Pal che intendi con problemi per il 
fontface?


Dici che dipende da quello il fatto che tu non veda 
le faccine?


 


Ciao Andrea


 







Pal ... io credo di aver risolto il tuo 
problema,


solo che per esserne sicuro mi dovresti dire come 
hai fatto a visualizzare le faccine.


Nel senso che io riesco a vedere il subset 
principale di ogni font ... e quindi 


mettendo il windings, vedo le lettere e non i 
simboli.


 


Fammi sapere ciao Andrea



 ha scritto

hai ri-letto troppo velocemente :))
ti facevo io una domanda...

 ha scritto


Ciao Andrea
----
si', ho provato a spedire di tutto in clipboard, persino un wmf, ma non c'e'
pezza. word vede solo il codice ascii e incolla il carattere corrispondente
nel face attivo. e' qualcosa, ma so per esperienza che si puo' fare
altrimenti.
ciao, a.

 ha scritto

Fammi sapere ciao Andrea
---
ti sto mandando il vbp completo

 ti facevo io una domanda...
Avevo visto, ma non sapendo la risposta...8-))
Comunque ora la risposta l'ho trovata, devi usare il formato RTF.
Anziché una TextBox, usi una RichTextBox poi copi il testo neggli appunti
con il seguente comando:
Clipboard.SetText txtSample.TextRTF, vbCFRTF  'Copia con formato RTF
dopo di ché lo incolli in qualsiasi applicatico in grado di leggere il
formato RTF (almeno credo, perché ho provato solo con Word).
Funziona solo con vb6 sul manuale del 5 non cita il formato vbCFRTF.
Ciao VB

 ha scritto

lo sapevo che vb risolve ogni problema :)
quando qualcuno cerchera' di de.com.pilarti avrai un difensore.
se ricordo vbcfrtf dev'esserci anche col 5, direi significhi vb clipboard
format rtf.
ciao, a.


Siccome sono come San Tommaso ho messo si il disco con VB5 e ho provato,
funge, però sul manuale stampato vbcfrtl non è menzionato, mentre sull'help
inlinea si.
mi sa che devo cerare di essere più chiaro 8-)))).
Ciao  VB