Patch level : 2.0 476
Files correlati : xvaga.dll Ricompilazione Demo : [ ] Commento : Riaggiustata iconizzazione programmi eseguiti in cascata. ATTENZIONE! Occorre aggiustare anche wx240.dll !!!!!!!!!! git-svn-id: svn://10.65.10.50/trunk@11167 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e3abddbd95
commit
5d8e9d48f3
@ -266,6 +266,7 @@ TDC::TDC(wxWindow* owner) : _dc(NULL)
|
||||
_dct.opaque_text = FALSE;
|
||||
|
||||
_font.SetPointSize(9); // Default font
|
||||
_deltaf = 0;
|
||||
|
||||
SetClippingBox(NULL); // Reset clip area
|
||||
|
||||
@ -415,6 +416,10 @@ wxDC& TDC::GetDC(bool bPaint)
|
||||
{
|
||||
_dc->SetFont(_font.Font(_dc));
|
||||
_real_font = _font;
|
||||
|
||||
int height, desc, lead;
|
||||
_dc->GetTextExtent("Campo", NULL, &height, &desc, &lead);
|
||||
_deltaf = height-desc;
|
||||
}
|
||||
|
||||
_dirty = false;
|
||||
@ -1927,7 +1932,7 @@ void xvt_dwin_draw_dotted_rect(WINDOW win, RCT *rctp)
|
||||
OsWin32_DrawDottedRect(dc.GetHDC(), rctp->left, rctp->top, rctp->right, rctp->bottom);
|
||||
#else
|
||||
DRAW_CTOOLS dct;
|
||||
xvt_dwin_get_draw_ctools(win, &dt);
|
||||
xvt_dwin_get_draw_ctools(win, &dct);
|
||||
|
||||
CPEN pen;
|
||||
pen.width = 1;
|
||||
@ -1958,6 +1963,7 @@ void xvt_dwin_draw_text(WINDOW win, int x, int y, const char *s, int len)
|
||||
{
|
||||
if (s && *s && len != 0)
|
||||
{
|
||||
/*
|
||||
CAST_DC(win, dc);
|
||||
wxRect rct; dc.GetClippingBox(rct);
|
||||
const int maxx = rct.GetRight();
|
||||
@ -1966,13 +1972,22 @@ void xvt_dwin_draw_text(WINDOW win, int x, int y, const char *s, int len)
|
||||
wxString str(s);
|
||||
if (len >= 0)
|
||||
str.Truncate(len);
|
||||
|
||||
int height, desc, lead;
|
||||
dc.GetTextExtent(str, NULL, &height, &desc, &lead);
|
||||
y -= height-desc; // Triste necessita'!
|
||||
|
||||
dc.DrawText(str, x, y);
|
||||
}
|
||||
*/
|
||||
CAST_TDC(win, tdc);
|
||||
RCT rct;
|
||||
const bool noclip = !tdc.GetClippingBox(&rct);
|
||||
if (noclip || x < rct.right)
|
||||
{
|
||||
wxString str(s);
|
||||
if (len >= 0)
|
||||
str.Truncate(len);
|
||||
tdc.GetDC().DrawText(str, x, y-tdc.GetFontDelta());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2081,7 +2096,6 @@ void xvt_dwin_scroll_rect(WINDOW win, RCT *rctp, int dh, int dv)
|
||||
}
|
||||
else
|
||||
w.ScrollWindow(dh, dv);
|
||||
// xvt_dwin_update(win); // Useless
|
||||
}
|
||||
}
|
||||
|
||||
@ -3450,20 +3464,12 @@ long xvt_sys_execute(const char* cmdline, BOOLEAN sync, BOOLEAN iconizetask)
|
||||
if (iconizetask)
|
||||
{
|
||||
wxEnableTopLevelWindows(FALSE);
|
||||
#ifdef WIN32
|
||||
::PostMessage((HWND)_task_win->GetHWND(), WM_SYSCOMMAND, SC_MINIMIZE, 0L);
|
||||
#else
|
||||
_task_win->Hide();
|
||||
#endif
|
||||
((wxFrame*)_task_win)->Iconize();
|
||||
}
|
||||
exitcode = wxExecute(cmdline, wxEXEC_SYNC);
|
||||
if (iconizetask)
|
||||
{
|
||||
#ifdef WIN32
|
||||
::SendMessage((HWND)_task_win->GetHWND(), WM_SYSCOMMAND, SC_RESTORE, 0L);
|
||||
#else
|
||||
_task_win->Show();
|
||||
#endif
|
||||
((wxFrame*)_task_win)->Restore();
|
||||
wxEnableTopLevelWindows(TRUE);
|
||||
_task_win->Raise();
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ protected:
|
||||
wxDC* _dc;
|
||||
RCT _clip;
|
||||
int _dirty; // false = 0, true = 1, very_dirty = -1;
|
||||
int _deltaf;
|
||||
|
||||
DRAW_CTOOLS _real_dct;
|
||||
TFontId _real_font;
|
||||
@ -65,6 +66,7 @@ public:
|
||||
void SetClippingBox(const RCT* pRct);
|
||||
bool GetClippingBox(RCT* pRct) const;
|
||||
void SetDirty(int d = 1);
|
||||
int GetFontDelta() const { return _deltaf; }
|
||||
|
||||
virtual wxDC& GetDC(bool bPaint = false);
|
||||
void KillDC();
|
||||
|
Loading…
x
Reference in New Issue
Block a user