Newsgroup: it.comp.lang.visual-basic
Titolo: Rich Edit v. 4.1

Saluti a tutti.
Ho l'impellente necessità di lavorare con le tabelle nella Rtb. Il problema
è appunto che l' RTF nelle versioni fino alla 3.0 del controllo non supporta
alcune formattazioni delle tabelle come ad esempio l'impostazione
dell'altezza delle righe, il wordwrap delle celle è così via.
La nuova versione 4.1 rilasciata da Microsoft nel service pack 1 di win xp
con denominazione Msftedit.dll risolve questo problemi.
Sto cercando di scaricare da qualche parte questo controllo per verificare
se può funzionare anche su win2K, ma non sono riuscito a trovare il file da
nessuna parte.
Qualcuno sa aiutarmi o può spedirmi il file per verificare se può
funzionare?
Grazie e ciao!
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.476 / Virus Database: 273 - Release Date: 24/04/2003

 con denominazione Msftedit.dll risolve questo problemi.
Se non trovi niente qui dubito che tu possa trovare qualcosa :)
http://www.domaindlx.com/e_morcillo/
Non farti prendere dalla mania per le versioni, prova prima quello che 
c'è qui.
Ciao

 c'è qui.
Grazie per la risposta.
La mia non è una mania, ma la ricerca di risolvere il problema.
Ho subclassato in lungo e in largo la rtb, ma il problema sta proprio
sull'interpretazione del codice rtf del documento.
Alcuni comandi rtf che lavorano sulla formattazione della tabella non sono
supportati dal controllo e, da quanto ho potuto constatare nelle mie
ricerche, nessuno c'è riuscito. Qualsiasi editor RTF costruito su rtb non
implementa la funzione "tabelle".
Nel sito di Morcillo la situazione è la stessa, malgrado anche loro abbiano
subclassato.
E' per questo che credo che il problema si risolva solo con la nuova
versione del componente rilasciato da Microsoft.
Ma non sono sicuro che la nuova versione inserita nel sp1 di xp sia
compatibile con gli altri sistemi oprativi.
L'unica maniera credo sia reperire la dll e verificare.
In rete non si trova e quindi chiedevo se qualcuno in possesso di Win Xp Sp1
sarebbe così gentile da spedirmela.
Grazie.


 funzionare?
Per ora no, le macchine con XP SP1 sono dei portatili e sono fuori
sede.
Bye, G.

 non so se anche le funzioni particolari che servono a te.
Non sapevo neanche che ci fosse..
Mi andrebbe superbene da provare!!
Se hai la pazienza da spedirmela ... !!!
Grazie.

 sede.
L'XP pro SP1 che uso in ufficio non ha il file specificato.
Però se come dici la dll è sempre la riched20.dll allora il projetto di
Morcillo (e anche il tuo) dovrebbe andare, magari con le dovute modifiche.
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

> L'XP pro SP1 che uso in ufficio non ha il file specificato.
Mha, io mi limito a dire quello che ho letto su Microsoft. Se vai nel link
che mi hai scritto potrai verificare. Comunque, di fatto non l'hai, quindi
evidentemente qualcosa non quadra :-))
Per quanto riguarda il progetto di Morcillo, come ho scritto, non riesce a
gestire l'impostazione dell'altezza delle righe di una tabella, proprio
perchè subclassa la Rich ver. 3.0
Ciao e grazie.

 Mi andrebbe superbene da provare!!
Tieni presente che il funzionamento della cosa è piuttosto
complicato, non so se ci sei già passato. Magari ripeto cose
che sai già... ma forse fanno comodo a qualcun'altro che
legge il NG, ora o in futuro.
Allora (sarò un po' approssimativo, i puristi non mi fucilino,
please), la MS originariamente scrisse questo controllo RTF
in una DLL, la RICHED.DLL, le cui funzioni possono venir
chiamate direttamente dai programmi in C/C++.
Per poterlo utilizzare nel VB e in altri linguaggi COM, è stato
creato l'OCX, che si appoggiava all'inizio alla RICHED32.DLL,
e che conteneva praticamente una copia della RICHED.DLL.
Per vari motivi, presumo di allineamento e compatibilità, le
due versioni sono state riunificare nella RICHED20.DLL, e la
RICHED32, adesso, è solo un "wrapper", cioè si limita a
rimbalzare le chiamate di funzioni con lo stesso nome alla
RICHED20. Non so se mi sono spiegato :-))).
Il funzionamento quindi è a strati tipo questo:
VB incorpora  -->
    RichTX32.OCX che chiama -->
        RICHED32 che chiama -->
            RICHED20.
E' importante quindi che le versioni dei file siano quelle giuste,
altrimenti le funzioni avanzate non possono venir utilizzate.
Legalmente puoi ottenere il tutto dal sito MS, scaricando, se già
non ce l'hai, l'OCX aggiornato da qui:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q193366&ID=KB;EN-US;Q193366&
e le DLL sono nel Microsoft Installer; se non ce l'hai, puoi
tirarli giù da Installengine. Per Windows 95/98/ME:
http://www.installengine.com/Msiengine/instmsia.exe
Per Windows NT4.x SP6/2000/ XP
http://www.installengine.com/Msiengine/instmsiw.exe
Oppure cercarli sul sito MS:
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/457/msdncompositedoc.xml
Io non riesco mai a trovarci niente lì... anche quando
_SO_ di sicuro che c'è :-(
Ah, ricorda che prima di utilizzare le funzioni avanzate, le devi
abilitare, con il codice che trovi qui:
http://groups.google.com/groups?&threadm=aeas54%24hf8%241%40stargate1.inet.it
Quello che ti interessa è la SendMessage con i parametri
EM_SETTYPOGRAPHYOPTIONS,  TO_ADVANCEDTYPOGRAPHY
Bye, G.

Ancora grazie per l'interessamento, ma forse non mi sono spiegato bene o ho
capito male l'aiuto che cerchi di darmi.
Quindi faccio un esempio pratico :
in word creo una tabella di una cella sulla quale scrivo del testo su più
righe. La riga della tabella quindi la costruisco alta tanto da contenere
almeno il testo, diciamo 2 di testo.
Ora prendo in copia la tabella e la incollo sulla rich.
Lasciando perdere la formattazione del testo  (che comunque non è coerente
con il sorgente in copia) nella Rich viene creata una tabella di una cella
ma con altezza standard di una riga di testo; il testo eccedente viene
scritto fuori della cella.
Non vi è maniera di modificare l'altezza della riga della tabella in maniera
da ripristinare la forma sorgente.
Ora, se io provo direttamente sul codice RTF ad introdurre il tag \trrh...
che definisce l'altezza della riga, tale comando non viene interpretato.
Credo che qui sia il problema.
Sul sito Microsoft viene indicato esplicitamente che tale comportamento è
stato fixato nella versione 4.1 ove il wordwrap nelle celle ora è consentito
e probabilmente la formattazione delle celle.
Una prova potrebbe essere fatta sul Wordpad che utilizza la rtb. Fino alla
ver. 3 ( win 2K, xp ) il comportamento è quello che ho descritto. Con xp sp1
al contrario dovrebbe succedere quanto io spero, ovvero che la copia sia
fedele .
Ciao.