// JP opened flex table

Click to See Complete Forum and Search --> : Bug & Fix: CLongOperation class change text in panes


Marian Walter
April 7th, 1998, 12:36 PM
I have found a little bug in CLongOperation class created by Klaus Gutter. When CLongOperation class is created, text in StatusBar's panes is moved to the left and text in left most pane is lost, till CLongOperation class exists.

I have made this changes to fix tis problem in Visual C++ 5.0:


1. in function: "void CLongOperation::CreateProgressControl()"

changed lines marked with !!!!!


// add a pane between the text and the currently leftmost pane

int anPart[32];

// !!!!! int nParts = pStatusBar->GetStatusBarCtrl().GetParts(31, anPart+1);

int nParts = pStatusBar->GetStatusBarCtrl().GetParts(31, anPart);

// !!!!! anPart[0] = rc.left;

anPart[nParts] = rc.left;

nParts++;

pStatusBar->GetStatusBarCtrl().SetParts(nParts, anPart);

// !!!!! pStatusBar->GetStatusBarCtrl().GetRect(1, rc);

pStatusBar->GetStatusBarCtrl().GetRect(nParts, rc); // create progress bar control


2. in function: void CLongOperation::Stop()


int anPart[32];

int nParts = pStatusBar->GetStatusBarCtrl().GetParts(31, anPart);

nParts--;

// !!!!! pStatusBar->GetStatusBarCtrl().SetParts(nParts, anPart+1);

pStatusBar->GetStatusBarCtrl().SetParts(nParts, anPart);

//JP added flex table