Timer in DWT?
Sam Hu
samhu.samhu at gmail.com
Mon Sep 8 21:11:53 PDT 2008
Thanks BB,now it works when the run() method is invoked in the InitializeComponents() method,but it does not work when invoked in the ctor.How come? Thanks,Sam
class MainForm:Runnable
{
private:
Display display;
Shell shell;
Canvas canvas;
void InitializeComponents()
{
display=new Display;
shell=new Shell(display);
canvas=new Canvas(shell,DWT.NONE);
canvas.addPaintListener(new class PaintListener{
public void paintControl(PaintEvent e)
{
auto layout=new Locale;
e.gc.drawText(layout("{:dddd,dd MMMM yyyy HH':'mm':'ss z}",
WallClock.now),100,100);
}});
run;
shell.open;
while(! shell.isDisposed)
{
if(! display.readAndDispatch)
display.sleep;
}
display.dispose;
}
public:
this()
{
InitializeComponents;
run;//invoke run() method here does not work?
}
void run()
{
canvas.redraw;
display.getCurrent.timerExec(1000, this);
}
}
int main(char[][] args)
{
MainForm mainForm=new MainForm;
return 0;
}
More information about the Digitalmars-d-dwt
mailing list