Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Clipboard - Win32
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
z5j11jq

Clipboard-ul este un loc unde aplicatiile Win32 pot stoca date.

Clipboard-ul trebuie folosit doar la cererea utilizatorului - aplicatiile nu trebuie sa puna date pe clipboard de capul lor.

Formate clipboard (CF_)
Constantele sint de tipul UINT.

Text:
CF_OEMTEXT, CF_TEXT, CF_UNICODETEXT text

Bitmap:
CF_DIB device independent bitmap (HBITMAPINFO)
CF_BITMAP bitmap (HBITMAP)
CF_TIFF Tagged Image File Format

Metafile:
CF_ENHMETAFILE Enhanced metafile (HENHMETAFILE)
CF_METAFILEPICT Windows metafile (METAFILEPICT)

Sound:
CF_RIFF Resource Interchange File Format
CF_WAVE Standard wave file format audio data

Substitute formats for private formats:
CF_DSPBITMAP Bitmap reprezentation of private data.
CF_DSPENHMETAFILE Enhanced metafile reprezentation of private data
CF_DSPMETAFILE Metafile reprezentation of private data
CD_DSPTEXT Text reprezentation of private data

Special formats:
CF_DIF Data Interchange Format from Software Arts
CF_OWNERDISPLAY Data displayed by the owner of the clipboard data
CF_PALETTE Color palette (HPALETTE)
CF_PENDATA Microsoft Pen Extensions data
CF_SYLK Microsoft Symbolic Link format
CF_PRIVATEFIRST ... CF_PRIVATELAST Private data

Windows 95-only formats:
CF_GDIOBJFIRST ... CF_GDIOBJLAST Application-defined GDI objects
CF_HDROP List of files (HDROP)
CF_LOCALE Locale information for CF_TEXT data

Windows sintetizeaza datele in formatele pe care aplicatia nu le pune la dispozitie. De exemplu daca aplicatia pune pe clipboard date in format CF_TEXT Windows poate "livra" date in format CF_OEMTEXT.

Conversii intre formate
Au loc intre formate de text, intre formate bitmap, intre formate metafile. Windows poate sintetiza un CF_PALETTE din CF_DIB.




Formate inregistrate
Se poate inregistra un nou format clipboard folosind RegisterClipboardFormat.

Exemplu:
UINT cfRTF=RegisterClipboardFormat("Rich Text Format");

Daca mai multe aplicatii inregistreaza acelasi nume de format, el este inregistrat o singura data.

Exista multe formate clipboard registrate de Windows. Unele sint legate de OLE, altele de shell-ul Windows 95, etc.

GetClipboardFormatName() obtine numele unui format.

Formate private
Cind nu trebuie schimbate datele intre aplicatii se poate folosi un format privat, de la CF_PRIVATEFIRST la CF_PRIVATELAST.

Pentru ca viewerele de clipboard sa poata vedea datele stocate in format privat, owner-ul clipboard-ului trebuie sa puna datele in orice format de afisare: CF_DSP..., care sint folosite doar la afisare.

Stocarea pe clipboard
Pentru a stoca date pe clipboard, trebuie:

Alocate datele
Se aloca cu GlobalAlloc cu flagii GMEM_MOVEABLE | GMEM_DDESHARE sau poate fi un handle catre un obiect GDI.

Obtinerea ownership-ului clipboard-ului
OpenClipboard

EmptyClipboard (toate handle-urile catre date transferate in clipboard vor fi eliberate)

Stocarea propriu-zisa:
SetClipboardData - se apeleaza de mai multe ori daca datele sint in mai multe formate

Inchiderea clipboard-ului
CloseClipboard

Delayed rendering
O aplicatie poate specifica delayed rendering pasind NULL ca al doilea parametru la SetClipboardData.

Sistemul informeaza aplicatia ca datele respective trebuie rendereate trimitind (sending) aplicatiei mesajul WM_RENDERFORMAT.

Ca raspuns la acest mesaj, aplicatia trebuie sa cheme SetClipboardData ca sa plaseze datele renderate pe clipboard.

O aplicatie care a pus date pe clipboard poate de asemenea sa primeasca un mesaj WM_RENDERALLFORMATS, care este trimis clipboard owner-ului cind este distrus pentru ca datele sa ramina pe clipboard.

Cind se proceseaza WM_RENDERFORMAT si WM_RENDERALLFORMATS aplicatia nu trebuie sa deschida/inchida clipboard-ul ci sa foloseasca direct SetClipboardData.

Paste - luarea datelor de pe clipboard
IsClipboardFormatAvailable - determina daca date intr-un anumit format sint disponibile pe clipboard

Pentru a obtine o copie a datelor, aplicatia trebuie sa:

OpenClipboard
GetClipboardData (intoarce un handle) copiaza datele accesate prin handle
CloseClipboard
Aplicatia trebuie sa foloseasca IsClipboardFormatAvailable ca sa activeze si sa dezactiveze menu item-uri gen Paste.

Aplicatiile pot obtine date despre formatele disponibile apelind CountClipboardFormats si EnumClipboardFormats.

Controalele si clipboard-ul
Controalele edit au suport pentru clipboard inclus. Ele raspund la o serie de mesaje facind operatii cu clipboard-ul: WM_COPY, WM_CUT, WM_PASTE, WM_CLEAR.

Textul se transfera in format CF_TEXT.

?: Cine genereaza mesajele astea cind apas, de exemplu, pe CTRL-V?

Mesaje de clipboard
Aplicatiile care folosesc delayed rendering trebuie sa proceseze WM_RENDERFORMAT si WM_RENDERALLFORMATS.

WM_DESTROYCLIPBOARD este trimis clipboard owner-ului cind continutul clipboard-ului este distrus. Aplicatia poate elibera resursele folosite la delayed rendering si la desenarea clipboard-ului.

Mesaje trimise aplicatiilor care plaseaza date pe clipboard folosind formatul de clipboard CF_OWNERDISPLAY: WM_ASKCBFORMATNAME, WM_DRAWCLIPBOARD, WM_HSCROLLCLIPBOARD, WM_VSCROLLCLIPBOARD si WM_PAINTCLIPBOARD.

Mai exista un set de mesaje folosit de aplicatiile clipboard viewer.

Clipboard viewers
Mai multe clipboard viewers pot functiona simultan.

O aplicatie insereaza o fereastra in lantul de clipboard viewers apelind functia SetClipboardViewer cu un handle la acea fereastra.

O data adaugata in lant, aplicatia primeste WM_CHANGECBCHAIN si WM_DRAWCLIPBOARD. Cu ChangeClipboardChain aplicatia iese din lantul de vizualizatoare clipboard.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta