Tom Servo
2003-10-10, 18:59:28
Hallo,
möchte von meinem Programm eine Reihe von Screenshots automatisch anfertigen, welche verschiedene Zustände des Programms darstellen.
Wollte es über eine interne Funktion machen, welche die GUI entsprechend einstellt und dann einen Shot macht. Das Problem ist nur, die Shots nicht zu früh zu machen, wenn die GUI noch nicht alle Änderungen darstellt. Ich denke man müsste einen Teil des Codes über Events aufrufen. Mit meinem jetztigen Code bekomme ich oft Screenshots die die GUI mitten im Umbau zeigen.
Wie könnte man das am einfachsten synchronisieren?
void dev_make_screenshots() {
Image img;
tabCtrl.SelectedTab = tab_main;
img = GetScreenShot(this);
img.Save("shot_main.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_extra_d3d;
img = GetScreenShot(this);
img.Save("shot_extra3d.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_extra_ogl;
img = GetScreenShot(this);
img.Save("shot_extra_ogl.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_summary;
img = GetScreenShot(this);
img.Save("shot_extra_summ.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_clocking;
img = GetScreenShot(this);
img.Save("shot_extra_clocking.png", System.Drawing.Imaging.ImageFormat.Png);
}
möchte von meinem Programm eine Reihe von Screenshots automatisch anfertigen, welche verschiedene Zustände des Programms darstellen.
Wollte es über eine interne Funktion machen, welche die GUI entsprechend einstellt und dann einen Shot macht. Das Problem ist nur, die Shots nicht zu früh zu machen, wenn die GUI noch nicht alle Änderungen darstellt. Ich denke man müsste einen Teil des Codes über Events aufrufen. Mit meinem jetztigen Code bekomme ich oft Screenshots die die GUI mitten im Umbau zeigen.
Wie könnte man das am einfachsten synchronisieren?
void dev_make_screenshots() {
Image img;
tabCtrl.SelectedTab = tab_main;
img = GetScreenShot(this);
img.Save("shot_main.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_extra_d3d;
img = GetScreenShot(this);
img.Save("shot_extra3d.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_extra_ogl;
img = GetScreenShot(this);
img.Save("shot_extra_ogl.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_summary;
img = GetScreenShot(this);
img.Save("shot_extra_summ.png", System.Drawing.Imaging.ImageFormat.Png);
tabCtrl.SelectedTab = tab_clocking;
img = GetScreenShot(this);
img.Save("shot_extra_clocking.png", System.Drawing.Imaging.ImageFormat.Png);
}