Newsgroup: it.comp.lang.visual-basic
Titolo: Una domanda sull'oggetto Textbox in VB6

Visto che siete cosě gentili...  :-))
In un mio software scritto in VB6, utilizzo l'oggetto Textbox per 
visualizzare il contenuto di un messaggo SMS proveniente da normale rete 
gsm.
Alcuni sms ovviamente contengono degli "smiles".
Sul cellulare, gli smiles ad esempio questo :-) vengono trasformati in modo 
grafico, ossia i tre caratteri ascii che lo compongono vengono sostituiti 
con una faccina gialla che sorride.
Idem per gli altri tipi di smiles conosciuti dal cellulare, in totale 16, 
che corrispondono a sequenze ascii relative a smiles comunemente utilizzati.
Nel mio software su pc, invece, dopo aver trasferito correttamente il 
messaggio in un Textbox, visualizzo ovviamente la sequenza ascii.  :-(
La domanda č questa:
Esiste un modo, nell'oggetto Textbox, di utilizzare oggetti grafici? Intendo 
dire piccole immagini bmp o gif o qualcosa di simile mischiate con il testo?
Oppure, esiste un controllo alternativo a Textbox, che mi consenta di 
inserire oggetti grafici insieme al testo?
Spero che abbiate compreso la mia richiesta... magari mi sono espresso male, 
ma spero abbiate capito comunque.
Ho guardato tutta la lista dei componenti disponibili in VB6, e non trovo 
nessun oggetto che sia riferibile all'utilizzo da me richiesto.
Mi ricordo vagamente, ai tempi in cui utilizzavo un VB molto ma molto 
vecchio, che c'erano dei control tipo "sheridan" o "richtext", non ricordo 
bene, che forse facevano questa cosa... ma non riesco a ritrovarli da 
nessuna parte ne VB6.
Sono stati rimossi? Sostituiti con altro?
Grazie per il vostro prezioso aiuto.
B. 


se non erro, potresti riuscire a farlo con questa api,
ed eventuali altre api correlate, (tutto reperibile su Platform SDK di MSDN):
SetDIBits
The SetDIBits function sets the pixels in a bitmap using the color data found in the specified device-independent bitmap (DIB).
int SetDIBits(
  HDC hdc,                  // handle to device context
  HBITMAP hbmp,             // handle to bitmap
  UINT uStartScan,          // starting scan line
  UINT cScanLines,          // number of scan lines
  CONST VOID *lpvBits,      // array of bitmap bits
  CONST BITMAPINFO *lpbmi,  // address of structure with bitmap data
  UINT fuColorUse           // type of color indexes to use
);



Bella Sal... ma usare il controllo RichTextBox era troppo semplice? ;-)
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=41311&lngWId=1
Bye
Raf

 
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=41311&lngWId=1
Ma... GRAZIE!!!!!!
Era proprio quello lě, che cercavo!!   :-)
Ce l'avevo sotto il naso, ma non riuscivo a trovarlo... con il passare degli 
anni (e delle versioni) gli hanno cambiato nome, ma č proprio lui. Grazie 
ancora, ciao.
B. 

 ricordo bene,
Grazie ancora a Rafunk, il RichTextBox è davvero una bomba!! :-)
Anche se ho letto (googlando) che molti parlano male del RTB in dotazione 
con il VB6, e suggeriscono l'uso di RTB di terze parti, devo dire invece che 
a me funziona egregiamente.
Inizialmente per utilizzarlo avevo utilizzato il metodo più semplice, il 
copy/paste da clipboard dei contenuti grafici, posizionando preventivamente 
il focus sulla RTB ed eseguendo una sequenza di "paste" di testo oppure di 
bitmap.
Ma questo metodo mi creava dei fastidiosi sfarfallamenti in una listview, 
dove il focus deve rimanere impostato dopo la fine del caricamento del RTB.
Allora ho deciso di utilizzare una funzione apposita, la SendMessage della 
User32, e devo dire che in questo modo è davvero magnifico!!!
Funziona perfettamente!
Declare Function SendMessage Lib "user32"
Il mio scopo era quello di visualizzare il contenuto di un SMS, sostituendo 
le sequenze di codici ascii relative agli smiles più comuni con i 
corrispondenti emoticons grafici.
Il risultato, con la RTB M$, è perfetto! :-)
Spero solo che non mi dia problemi di compatibilità con i vecchi Windows.... 
:-)
Grazie ancora, e buon proseguimento.
Bruno