Dear Rooters, I've written a simple GUI application to display logging messages based on the TGListBox class. On the whole things work fine. However I have a problem which causes the screen updates to be rather jittery: 1) How do I force the window to redraw immediately after I add a new entry. I had expected the new TGTextLBEntry to be drawn immediately after the code (see below) has been executed - it doesn't. What am I doing wrong ? How do I force the listbox and entry to be drawn after adding each TGTextLBEntry. cheers, Mark Thomson // Make the new entry - associate it with the LB container TGTextLBEntry* pLBT2 = new TGTextLBEntry(fListBox->GetContainer(), pString,++_iListBoxEntry, theGC, theFont, kHorizontalFrame,backColor); TGLayoutHints* fLayout = new TGLayoutHints(kLHintsLeft|kLHintsTop|kLHintsExpandX, 1, 0, 0, 1 ); // NOTE the list box adopts pLBT2 and fLayout // Add the entry and try to display it fListBox->AddEntry(pLBT2,fLayout); fListBox->MapSubwindows(); fListBox->Layout(); // Scroll so that new entry is at the bottom of the screen int nThatFit = fListBox->GetHeight()/(pLBT2->GetHeight()+ fLayout->GetPadTop()+fLayout->GetPadBottom()); if(_iListBoxEntry>nThatFit)fListBox->SetTopEntry(_iListBoxEntry+1-nThatFit);
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:57 MET