[Back to WIN-OS2 SWAG index] [Back to Main SWAG index] [Original]

    {> How can I copy strings to the clipboard with TPW program?.

    This procedure is triggered by a menu or button message:
    }

    PROCEDURE MyWindow.CopyToClipboard(VAR msg : tmessage);

    VAR TextToCopy : array[0..255] of char;

    BEGIN

    MyEdit.GetText(TextToCopy,SizeOf(Tex tToCopy));

    IF NOT CopyText(TextToCopy) then
       messagebox(hWindow,'Hasn't worked!','Copy to Clipboard',mb_ok);

    END;

    This function does the copy.

    FUNCTION MyWindow.CopyText(TextString : Pchar) : Boolean;

    VAR StringGlobalHandle : THandle;

        StringGlobalPtr    : PChar;

    BEGIN

    CopyText := False;
    StringGlobalHandle := GlobalAlloc(gmem_Moveable,StrLen(TextString)+1);
    IF StringGlobalHandle <> 0 then
       BEGIN
       StringGlobalPtr := GlobalLock(StringGlobalHandle);
       IF StringGlobalPtr <> nil then
          BEGIN
          StrCopy(StringGlobalPtr,TextString);
          GlobalUnlock(StringGlobalHandle);
          IF OpenClipboard(hWindow) then
             BEGIN
             EmptyClipboard;
             SetClipboardData(cf_Text,StringGlobalHandle);
             CloseClipboard;
             CopyText := True;
             END
          ELSE GlobalFree(StringGlobalHandle);
          END
       ELSE GlobalFree(StringGlobalHandle);
       END;
    END;
    It's partly taken from the German 1.5 manual. But Borland's program

    didn't work, it had bugs (which I have corrected in the program above,

    of course).

       Basti

    E-Mail: 101674.2227@compuserve.com

    --

    ------------------------------------------------------------------

      Bastisoft    101674.2227@compuserve.com

      Fleestedt, Germany

    ------------------------------------------------------------------

[Back to WIN-OS2 SWAG index] [Back to Main SWAG index] [Original]