⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clipbord.c

📁 edit 0.82 freedos中的文本编辑器
💻 C
字号:
/*  Edit's Clipboard

*/

#include "dflat.h"

char *Clipboard;
unsigned ClipboardLength;

void CopyTextToClipboard(char *text)
{
    ClipboardLength = strlen(text);
    Clipboard = DFrealloc(Clipboard, ClipboardLength);
    memmove(Clipboard, text, ClipboardLength);

}

void CopyToClipboard(WINDOW wnd)
{
    if (TextBlockMarked(wnd))
        {
/*      char *bbl=TextLine(wnd,wnd->BlkBegLine)+wnd->BlkBegCol;
        char *bel=TextLine(wnd,wnd->BlkEndLine)+wnd->BlkEndCol;
*/
        char *bbl=TextBlockBegin(wnd);
        char *bel=TextBlockEnd(wnd);

        ClipboardLength=(unsigned) (bel-bbl);
        if (bbl>=bel)
            {
            ErrorMessage("Not copied to clipboard");
            return;
            }

        Clipboard = DFrealloc(Clipboard, ClipboardLength);
        memmove(Clipboard, bbl, ClipboardLength);
        }

}

void ClearClipboard(void)
{
    if (Clipboard != NULL)
        {
        free(Clipboard);
        Clipboard = NULL;
        }

}

BOOL PasteText(WINDOW wnd, char *SaveTo, unsigned len)
{
    if (cfg.read_only)
        {
        MessageBox("Edit", "You cannot modify a read only file");
        wnd->TextChanged=FALSE;
        return TRUE;
        }

    if (SaveTo != NULL && len > 0)
        {
        unsigned plen = strlen(wnd->text) + len;

        if (plen <= wnd->MaxTextLength)
            {
            if (plen+1 > wnd->textlen)
                {
                wnd->text = DFrealloc(wnd->text, plen+3);
                wnd->textlen = plen+1;
            }

            memmove(CurrChar+len, CurrChar, strlen(CurrChar)+1);
            memmove(CurrChar, SaveTo, len);
            BuildTextPointers(wnd);
            wnd->TextChanged = TRUE;
            return TRUE;
            }

        }

    return FALSE;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -