AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Hat sich die Zwischenablage geändert?
Thema durchsuchen
Ansicht
Themen-Optionen

Hat sich die Zwischenablage geändert?

Ein Thema von Pyr0cracker · begonnen am 7. Mär 2003 · letzter Beitrag vom 24. Mär 2003
Antwort Antwort
Benutzerbild von Pyr0cracker
Pyr0cracker

Registriert seit: 15. Nov 2002
Ort: Norddeutschland
232 Beiträge
 
Delphi 7 Personal
 
#1

Hat sich die Zwischenablage geändert?

  Alt 7. Mär 2003, 16:23
Ich hab mal ne frage, wie kann ich überprüfen ob sich die zwischenablage geändert hat?
Dorian Vasco
dorianvasco.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 7. Mär 2003, 17:08
Kuck mal, ob du hier was findest: Clipboard - MSDN
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Pyr0cracker
Pyr0cracker

Registriert seit: 15. Nov 2002
Ort: Norddeutschland
232 Beiträge
 
Delphi 7 Personal
 
#3
  Alt 7. Mär 2003, 17:58
hmm, da habe ich nichts gefunden
Dorian Vasco
dorianvasco.de
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 23. Mär 2003, 19:38
Delphi-Quellcode:
{
PROCEDURE: ClipboardChanged;
-----------------------------
PARAMETER: Keine
-----------------------------
Überprüft, ob Text im Zwischenspeicher liegt
}

procedure ClipboardChanged;
var
  I: Integer;
  Format: Word;
  E: Boolean;
begin
  E := False;
  for I := 0 to Clipboard.FormatCount - 1 do
  begin
    Format := Clipboard.Formats[I];
    if SendMessage(TextEnter.Handle, EM_CANPASTE, Format, 0) <> 0 then
    begin
      E := True;
      Break;
    end;
  end;
Wenn E=True ist, dann ist Text im Zwischenspeicher, sonst nicht

mirage228

P.S.:
TextEnter ist bei mir ein TRichEdit (also sollteste bei dir was anderes hinschreiben )
Du musst die Unit "Clipbrd" einbinden, sonst gehts net
David F.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5
  Alt 23. Mär 2003, 19:53
Und wenn sich der Text ändert bekommst du es trotzdem nicht mit.

Du mußt dich in die Clipboard Chain einklinken und beim Beenden deines Programmes wieder ausklinken das bitte sehr sauber, sonst bekommen die Programme die hinter dir in der Chain liege nichts mehr mit, was in der Zwischenablage passiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6
  Alt 23. Mär 2003, 20:24
Zitat:
hmm, da habe ich nichts gefunden
Ich aber:

Zitat:
The SetClipboardViewer function adds the specified window to the chain of clipboard viewers. Clipboard viewer windows receive a WM_DRAWCLIPBOARD message whenever the content of the clipboard changes.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7
  Alt 24. Mär 2003, 05:34
Delphi-Quellcode:
procedure TMain.WMDrawClipboard(var Msg: TWMDrawClipboard);
begin
  SendMessage(FClipboardOwner, WM_DRAWCLIPBOARD, 0, 0);
  Msg.Result := 0;
  ClipboardChanged;
end;

procedure TMain.WMChangeCBChain(var Msg: TWMChangeCBChain);
begin
  if Msg.Remove = FClipboardOwner then FClipboardOwner := Msg.Next
  else SendMessage(FClipboardOwner, WM_CHANGECBCHAIN, Msg.Remove, Msg.Next);
  Msg.Result := 0;
end;
Deklaration:

Delphi-Quellcode:
    procedure WMChangeCBChain(var Msg: TWMChangeCBChain); message WM_CHANGECBCHAIN;
    procedure WMDrawClipboard(var Msg: TWMDrawClipboard); message WM_DRAWCLIPBOARD;
Wichtig: Bei Form.Destroy das einfügen:
  ChangeClipboardChain(Handle, FClipboardOwner); ich hoffe ma, so gehts
David F.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz