Hi Chris, call gSystem->ProcessEvents() at the end of the function. Cheers, Fons. Chris Milne wrote: > > Hi there, > > I have the following function: > > void loading() > { > > TGTransientFrame *fMain; > TGPictureButton *fPictButton; > TGGroupFrame *fG1; > TGLayoutHints *fL3; > fMain = new TGTransientFrame(gClient->GetRoot(), fMain, 100, 200); > fMain->ChangeOptions((fMain->GetOptions() & ~kVerticalFrame) | kHorizontalFrame); > fPictButton = new TGPictureButton(fMain, gClient->GetPicture("loading.xpm")); > fMain->Resize(fPictButton->GetDefaultWidth(), fMain->GetDefaultHeight()); > fMain->MapSubwindows(); > fMain->SetWindowName("Loading"); > fMain->SetWMSize(300,135); > fMain->MapWindow(); > fMain->Move(300,100); > } > > This is called twice, and in both cases it is followed by a loop. In both cases the TGTransientFrame does > not appear on the screen until the subsequent loop has ended, is there a way to force it to appear, or a > check that will not continue until it is displayed? > > cheers > Chris Milne -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:58 MET