Hi,
I cannot reproduce the problem. I tried with the following code:
[code]#include “TGTableLayout.h”
#include “TGFrame.h”
HandleC1(Int_t ev,Int_t,Int_t,TObject*)
{
if (ev == kButton1Up)
printf(“HandleC1(Int_t,Int_t,Int_t,TObject*)\n”);
}
HandleC2(Int_t ev,Int_t,Int_t,TObject*)
{
if (ev == kButton1Up)
printf(“HandleC2(Int_t,Int_t,Int_t,TObject*)\n”);
}
HandleC3(Int_t ev,Int_t,Int_t,TObject*)
{
if (ev == kButton1Up)
printf(“HandleC3(Int_t,Int_t,Int_t,TObject*)\n”);
}
HandleC4(Int_t ev,Int_t,Int_t,TObject*)
{
if (ev == kButton1Up)
printf(“HandleC4(Int_t,Int_t,Int_t,TObject*)\n”);
}
void TableCanvas()
{
TGMainFrame * w = new TGMainFrame (gClient->GetRoot(), 800, 800);
TGTableLayout tl = new TGTableLayout(w, 2, 2, kFALSE);
w->SetLayoutManager(tl);
TRootEmbeddedCanvas ec = new TRootEmbeddedCanvas(“Ecanvas1”, w, 200, 200);
w->AddFrame(ec, new TGTableLayoutHints(0, 1, 0, 1,
kLHintsExpandX | kLHintsExpandY |
kLHintsShrinkX | kLHintsShrinkY |
kLHintsCenterX | kLHintsCenterY |
kLHintsFillX | kLHintsFillY,
1, 1, 1, 1));
ec->GetCanvas()->Connect("ProcessedEvent(Int_t,Int_t,Int_t,TObject)", 0, 0, "HandleC1(Int_t,Int_t,Int_t,TObject)");
ec = new TRootEmbeddedCanvas(“Ecanvas2”, w, 200, 200);
w->AddFrame(ec, new TGTableLayoutHints(1, 2, 0, 1,
kLHintsExpandX | kLHintsExpandY |
kLHintsShrinkX | kLHintsShrinkY |
kLHintsCenterX | kLHintsCenterY |
kLHintsFillX | kLHintsFillY,
1, 1, 1, 1));
ec->GetCanvas()->Connect(“ProcessedEvent(Int_t,Int_t,Int_t,TObject*)”, 0, 0, “HandleC2(Int_t,Int_t,Int_t,TObject*)”);
ec = new TRootEmbeddedCanvas(“Ecanvas3”, w, 200, 200);
w->AddFrame(ec, new TGTableLayoutHints(0, 1, 1, 2,
kLHintsExpandX | kLHintsExpandY |
kLHintsShrinkX | kLHintsShrinkY |
kLHintsCenterX | kLHintsCenterY |
kLHintsFillX | kLHintsFillY,
1, 1, 1, 1));
ec->GetCanvas()->Connect(“ProcessedEvent(Int_t,Int_t,Int_t,TObject*)”, 0, 0, “HandleC3(Int_t,Int_t,Int_t,TObject*)”);
ec = new TRootEmbeddedCanvas(“Ecanvas4”, w, 200, 200);
w->AddFrame(ec, new TGTableLayoutHints(1, 2, 1, 2,
kLHintsExpandX | kLHintsExpandY |
kLHintsShrinkX | kLHintsShrinkY |
kLHintsCenterX | kLHintsCenterY |
kLHintsFillX | kLHintsFillY,
1, 1, 1, 1));
ec->GetCanvas()->Connect(“ProcessedEvent(Int_t,Int_t,Int_t,TObject*)”, 0, 0, “HandleC4(Int_t,Int_t,Int_t,TObject*)”);
w->Connect(“CloseWindow()”, “TApplication”, gApplication, “Terminate()”);
w->DontCallClose();
w->SetWindowName(“Example Macro”);
w->MapSubwindows();
w->Resize();
w->Resize(800, 800);
w->MapWindow();
}
[/code]
Could you try and let me know if it works for you?
Cheers, Bertrand.