Newsgroup: it.comp.lang.visual-basic
Titolo: Duplicare la Clipboard

La clipboard sarebbe uno strumento molto utile in diverse occasioni.
Utilizzarla in un programma VB  potrebbe perņ creare dei problemi all'utente
che ne rimarrebbe privato per il proprio uso personale.
Sapete se e come sia possibile copiarla o duplicarla o comunque avere
qualcosa di simile per proprietą e metodi?
Grazie, Sauro

qualcosa di simile per proprietą e metodi?
Be', di fatto devi solo allocarti un blocco di memoria e scriverci
dentro quello che l'utente di manda e restituirlo quando te lo
richiede. Poi puoi anche decidere di implementarne n livelli, 
ma si tratta comunque di una _TUA_ clipboard che non c'entra
nulla con quella "ufficiale" (che puoi comunque sempre monitorare,
ovviamente) e rendere accessibile all'utente anche tramite il
tuo oggetto, senza che l'utente percepisca la differenza.
Cosa vorresti fare, di preciso?
-- 
ciao, hal

 qualcosa di simile per proprietą e metodi?
devi gestire i messaggi della clip..
      WM_ASKCBFORMATNAME
      WM_CHANGECBCHAIN
      WM_CLEAR
      WM_COPY
      WM_CUT
      WM_DESTROYCLIPBOARD
      WM_DRAWCLIPBOARD
      WM_HSCROLLCLIPBOARD
      WM_PAINTCLIPBOARD
      WM_PASTE
      WM_RENDERALLFORMATS
      WM_RENDERFORMAT
      WM_SIZECLIPBOARD
      WM_VSCROLLCLIPBOARD
subclassing metodo...ma credo che google ti potrą aiutare
ciao :)

 Cosa vorresti fare, di preciso?
In questo momento vorrei memorizzarci un'immagine.
Il logo dell'azienda che deve poi essere stampato nell'angolo superiore
sinistro di diversi documenti (bolle, fatture, ordini, ecc.)
Però in seguito potrebbe risultarmi in altre occasioni.
Personalmente non mi sento in grado di realizzare un oggetto analogo che
possa contenere sia immagini che testo.
In realtà non mi servirebbero i comandi da tastiera; mi sarebbero
sufficienti i metodi GetData e SetData e GetText, SetText.
Probabilmente, con un po' di impegno, potrò trovare delle soluzioni
alternative.
Mi sarebbe comunque piaciuto poter sfruttare un strumento così duttile senza
intervenire sulla Clipboard di sistema.
Ciao, Sauro

 ciao :)
Sarà sicuramente per limiti miei.
Comunque non ho capito.
Ciao, Sauro
P.S. Io su google non ho trovato niente in merito.

sufficienti i metodi GetData e SetData e GetText, SetText.
Eppure non sarebbe mica tanto difficile.
Prendi un modulo di classe e scrivi dentro questo:
<codice>
Option Explicit
Implements Clipboard
Private Sub Clipboard_Clear()
'
End Sub
Private Function Clipboard_GetData(Optional ByVal Format As Variant) _
			As stdole.Picture
'
End Function
Private Function Clipboard_GetFormat(ByVal Format As Integer) _
	 As Boolean
'
End Function
Private Function Clipboard_GetText(Optional ByVal Format As Variant) _
As String
'
End Function
Private Sub Clipboard_SetData(ByVal Picture As stdole.Picture, _
		Optional ByVal Format As Variant)
'
End Sub
Private Sub Clipboard_SetText(ByVal Str As String, _
		Optional ByVal Format As Variant)
'
End Sub
</codice>
Questa e' l'interfaccia da implementare, ora che hai nomi delle
funzioni, parametri e tutto non mi dire che non riesci ad andare
avanti perche' non ci credo ;-)
-- 
ciao, hal

 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard.asp
Guarda in particolare Private Clipboard Format
Ovviamente ti serve anche sapere qualcosa sul subclassing e se non 
ricordo male sul sito comune c'e' qualche articolo o qualche esempio ...
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 avanti perche' non ci credo ;-)
hal senza subclassing dubito che la cosa possa funzionare...
non ci sono eventi per la clipboard nei controlli standard di vb e di
conseguenza senza subclassing non puoi gestirla..
ciao

conseguenza senza subclassing non puoi gestirla..
Da come l'ho capita io, l'OP non vuole gestire la Clipboard,
ma vuole fare un oggetto che si comporti come se lo fosse.
-- 
ciao, hal

 ma vuole fare un oggetto che si comporti come se lo fosse.
Hai capito benissimo.
Al momento non sono ancora riuscito a completare i tuoi suggerimenti.
Mi sto dando da fare.
Grazie e ciao, Sauro

 Guarda in particolare Private Clipboard Format
Ho provato a cercare nei due siti indicati, ma la sezione
Private Clipboard Format non l'ho trovata.
Grazie comunque.
Ciao, Sauro


Guarda in Clipboard Formats


 ma vuole fare un oggetto che si comporti come se lo fosse.
puo' anche darsi non voglio pensare di capire cose che non dice.
Ma mi spieghi come puo' gestire la clipboard per ocx che non danno eventi
per la stessa?
viene da se che non è possibile senza la gestione dei messaggi.
Però  forse non ho capito.
ciao :)