Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

Re: Clipboard "selber schreieben"

  Alt 16. Dez 2006, 14:09
Zitat von xZise:
Da die Clipboard-Klasse mein Programm regelrecht aufbläht (82 KB auf 3XX KB), habe ich hier nach eigenen Clipboards gesucht.
Und ich bin auch fündig geworden:

[nonVCL] Send to Clipboard as Name - Eigenbau


Funktionier soweit auch ganz gut, nur wollte ich gerne die Funktion vor allen anderen Aufrufen, also so ähnloich wie das:
Delphi-Quellcode:
  if ParamCount > 0 then

    CopyTextToClipboard({???}, PChar(ParamStr(1))); // <!---
    //\\ ***** //\\

  if (not FileExists(ParamStr(1))) or (ParamCount = 0) then begin
    wc.hInstance := hInstance;
    wc.hIcon := LoadIcon(hInstance, MAKEINTRESOURCE(100));
    wc.hCursor := LoadCursor(0, IDC_ARROW);
    wc.hbrBackground := GetSysColorBrush(COLOR_3DFACE);

    RegisterClassEx(wc);

    CreateWindowEx(WS_EX_TOOLWINDOW or WS_EX_APPWINDOW, ClassName, AppName, WS_CAPTION or WS_VISIBLE or WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, 119, 103, 0, 0, hInstance, nil);

    while GetMessage(msg,0,0,0) do begin
      TranslateMessage(msg);
      DispatchMessage(msg);
    end;

    ExitCode := msg.wParam;
  end;
Das Problem ist nun, dass diese Funktion 2 Parameter erwartet, ich aber nur den 2. liefern kann...
Wie kann ich nun die Funktion umschreiben, dass sie auch ohne der "hWnd" funktiniert?
Hallo,

es wäre doch auch kein Problem, wenn du die Funktion erst nach der Konstruktion deines Fensters aufrufst. Die Funktion bleibt die gleiche, ausser wenn das Programm mit ungültigen Parametern aufgerufen wird, und was sollen die im Clipboard? Ausserdem kannst du das Abspeichern ja auch noch in einem Else-Zweig aufrufen, wenn es doch sein muss.

Gruss Reinhard
  Mit Zitat antworten Zitat