#include <CtrlLib/CtrlLib.h>
#include <Controls4U/Controls4U.h>
using namespace Upp;
#define LAYOUTFILE <HelloWorldImage/hello.lay>
#include <CtrlCore/lay.h>
class HelloWorld : public WithMainHello<TopWindow> {
MenuBar menu;
StatusBar status;
void FileMenu(Bar& bar);
void MainMenu(Bar& bar);
public:
typedef HelloWorld CLASSNAME;
HelloWorld();
};
void HelloWorld::FileMenu(Bar& bar) {
bar.Add("Open image", [&] {
FileSel fs;
String file = SelectFileOpen("Image files\t*.bmp *.png *.jpg *.gif\nAll files\t*.*");
if (!file.IsEmpty())
image.Set(file);
});
bar.Add("About..", [&] {
PromptOK("{{1@5 [@9= This is the]::@2 [A5@0 Ultimate`+`+ Hello world sample}}");
});
bar.Separator();
bar.Add("Exit", THISBACK(Close));
}
void HelloWorld::MainMenu(Bar& bar) {
menu.Add("File", THISBACK(FileMenu));
}
HelloWorld::HelloWorld() {
CtrlLayout(*this, "Hello World");
Sizeable().Zoomable();
AddFrame(menu);
AddFrame(status);
menu.Set(THISBACK(MainMenu));
status = "Welcome to Hello World !";
}
GUI_APP_MAIN {
SetLanguage(LNG_ENGLISH);
HelloWorld().Run();
}
]]>