diff options
author | nyamatongwe <devnull@localhost> | 2003-05-11 01:25:28 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2003-05-11 01:25:28 +0000 |
commit | adc33a661948e517e7d223ad8aa5fa5a45be3e6f (patch) | |
tree | 19c9a87dd4938abcfdff50a961d8cd8dd46a9e29 /win32 | |
parent | b4d2256f9ccf56efacbd84b3fbed1e846fb1853f (diff) | |
download | scintilla-mirror-adc33a661948e517e7d223ad8aa5fa5a45be3e6f.tar.gz |
Addition of CopyText, CopyRange, and LineCopy.
Diffstat (limited to 'win32')
-rw-r--r-- | win32/ScintillaWin.cxx | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index d44769237..b26f7a1e6 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -220,7 +220,7 @@ class ScintillaWin : void AddCharBytes(char b0, char b1=0); void GetIntelliMouseParameters(); - void CopySelTextToClipboard(); + virtual void CopyToClipboard(const SelectionText &selectedText); void ScrollMessage(WPARAM wParam); void HorizontalScrollMessage(WPARAM wParam); void RealizeWindowPalette(bool inBackGround); @@ -1036,13 +1036,9 @@ void ScintillaWin::NotifyDoubleClick(Point pt, bool shift) { void ScintillaWin::Copy() { //Platform::DebugPrintf("Copy\n"); if (currentPos != anchor) { - ::OpenClipboard(MainHWND()); - ::EmptyClipboard(); - CopySelTextToClipboard(); - if (selType == selRectangle) { - ::SetClipboardData(cfColumnSelect, 0); - } - ::CloseClipboard(); + SelectionText selectedText; + CopySelectionRange(&selectedText); + CopyToClipboard(selectedText); } } @@ -1534,11 +1530,9 @@ void ScintillaWin::GetIntelliMouseParameters() { ::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &linesPerScroll, 0); } -void ScintillaWin::CopySelTextToClipboard() { - SelectionText selectedText; - CopySelectionRange(&selectedText); - if (selectedText.len == 0) - return; +void ScintillaWin::CopyToClipboard(const SelectionText &selectedText) { + ::OpenClipboard(MainHWND()); + ::EmptyClipboard(); HGLOBAL hand = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, selectedText.len + 1); @@ -1562,6 +1556,12 @@ void ScintillaWin::CopySelTextToClipboard() { } ::SetClipboardData(CF_UNICODETEXT, uhand); } + + if (selectedText.rectangular) { + ::SetClipboardData(cfColumnSelect, 0); + } + + ::CloseClipboard(); } void ScintillaWin::ScrollMessage(WPARAM wParam) { |