From c030375ba0b65f78a843985823c4bed898e4cb39 Mon Sep 17 00:00:00 2001 From: guy Date: Wed, 26 May 2004 13:16:26 +0000 Subject: [PATCH] Patch level : 2.1 54 Files correlati : xvagadll.dll Ricompilazione Demo : [ ] Commento : 0000177 Spostandosi con i tasti freccia in un campo si sposta il cursore ma non viene cancellato dalla posizione precedente git-svn-id: svn://10.65.10.50/trunk@12119 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- xvaga/xvaga.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index d468e7edd..46d4e9c68 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -209,7 +209,7 @@ protected: virtual void Notify() { Toggle(); } public: - void SetPos(int x, int y) { _pos.h = x; _pos.v = y; } + void SetPos(int x, int y); void SetSize(int x, int y) { _size.x = x; _size.y = y; } void Show(WINDOW w, bool on = true); void Hide() { Show(false); } @@ -226,6 +226,13 @@ void TwxCaret::Kill() _owner = NULL_WIN; } +void TwxCaret::SetPos(int x, int y) +{ + if (_visible && _drawn) // Lo cancella se necessario + Toggle(); + _pos.h = x; _pos.v = y; +} + void TwxCaret::Show(WINDOW w, bool on) { if (_visible && _drawn) @@ -259,9 +266,10 @@ void TwxCaret::Toggle() pen.width = _size.x; pen.pat = PAT_SOLID; pen.style = P_SOLID; - pen.color = _drawn ? dct.fore_color : dct.back_color; - xvt_dwin_set_cpen(_owner, &pen); - xvt_dwin_set_draw_mode(_owner, M_COPY); + pen.color = dct.fore_color; + xvt_dwin_set_draw_mode(_owner, M_NOT_XOR); + + xvt_dwin_set_cpen(_owner, &pen); xvt_dwin_draw_set_pos(_owner, _pos); PNT p = _pos; p.v -= _size.y-1;