class
MainWindow: public FXMainWindow { public: FXDECLARE(MainWindow) public: MainWindow(FXApp* app); virtual void create(); virtual ~MainWindow(); protected: MainWindow(){} }; |
#include
<fx.h> #include "MainWindow.h" FXDEFMAP(MainWindow) MainWindowMap[]= { }; FXIMPLEMENT(MainWindow,FXMainWindow, MainWindowMap,ARRAYNUMBER(MainWindowMap)) //250x250のメインウインドウの大きさ MainWindow::MainWindow(FXApp* app):FXMainWindow(app, "MainWindow", NULL, NULL, DECOR_ALL, 0,0,250, 250) { } void MainWindow::create() { FXMainWindow::create(); show(PLACEMENT_SCREEN);//PLACEMENT_SCREENで画面中央に表示 } MainWindow::~MainWindow() { } |
int main(int argc, char* argv[]); |
#include
<fx.h> #include "main.h" #include "MainWindow.h" int main(int argc, char* argv[]) { FXApp application("MainWindow","MainWindow"); application.init(argc, argv); new MainWindow(&application); application.create(); return application.run(); } |
NAME
= Skelton OBJS = main.o MainWindow.o CXX = g++ CXXFLAGS = -Wall -O2 INCLUDES = -I/usr/local/include/fox-1.4 LIBS = -lFOX-1.4 -lGL -lGLU -lX11 LDFLAGS = $(NAME):$(OBJS) $(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) .cpp.o: $(CXX) -c $(CXXFLAGS) $(INCLUDES) $? clean: $(RM) -f *.o *~ $(NAME) |
class
MainWindow: public FXMainWindow { public: FXDECLARE(MainWindow) public: MainWindow(FXApp* app); virtual void create(); virtual ~MainWindow(); protected: MainWindow(){} protected: FXButton *Button1; }; |
#include
<fx.h> #include "MainWindow.h" FXDEFMAP(MainWindow) MainWindowMap[]= { }; FXIMPLEMENT(MainWindow,FXMainWindow, MainWindowMap,ARRAYNUMBER(MainWindowMap)) MainWindow::MainWindow(FXApp* app):FXMainWindow(app, "MainWindow", NULL, NULL, DECOR_ALL, 0,0,250, 250) { Button1 = new FXButton(this, "Hello", NULL); } void MainWindow::create() { FXMainWindow::create(); show(PLACEMENT_SCREEN); } MainWindow::~MainWindow() { } |
class
MainWindow: public FXMainWindow { public: FXDECLARE(MainWindow) public: MainWindow(FXApp* app); virtual void create(); virtual ~MainWindow(); protected: MainWindow(){} protected: FXButton *Button1; public: long onBtnClick(FXObject*,FXSelector,void*);//ボタンが押されたときに呼び出す関数 public: enum { ID_QuitBtn = FXMainWindow::ID_LAST, };//IDを列挙する。ちなみにはじめのIDにはFXMainWindow::ID_LASTを入れること }; |
#include
<fx.h> #include "MainWindow.h" FXDEFMAP(MainWindow) MainWindowMap[]= { //ボタンが押された 際のIDと呼び出す関数の対応づけ FXMAPFUNC(SEL_COMMAND, MainWindow::ID_QuitBtn, MainWindow::onBtnClick) }; FXIMPLEMENT(MainWindow,FXMainWindow, MainWindowMap,ARRAYNUMBER(MainWindowMap)) MainWindow::MainWindow(FXApp* app):FXMainWindow(app, "MainWindow", NULL, NULL, DECOR_ALL, 0,0,250, 250) { //ボタンに対してIDを振った、その前のNULL, thisはとりあえず気にしないこと //気になるようだったらReferenceを見ること Button1 = new FXButton(this, "Hello", NULL, this, ID_QuitBtn); } void MainWindow::create() { FXMainWindow::create(); show(PLACEMENT_SCREEN); } MainWindow::~MainWindow() { } //ボタンが呼ばれたときに呼び出 される関数 long MainWindow::onBtnClick(FXObject*,FXSelector,void*) { getApp()->exit(0); return 1; }; |
class MainWindow: public FXMainWindow { public: FXDECLARE(MainWindow) public: MainWindow(FXApp* app); virtual void create(); virtual ~MainWindow(); protected: MainWindow(){} protected: FXButton *Button1, *Button2; public: long onBtnClick(FXObject*,FXSelector,void*); long onCmdDialog(FXObject*,FXSelector,void*);//ID_Dialogから呼び出される関数 public: enum { ID_QuitBtn = FXMainWindow::ID_LAST, ID_Dialog,//ボタンのIDを振る }; }; |
#include <fx.h> #include "MainWindow.h" FXDEFMAP(MainWindow) MainWindowMap[]= { FXMAPFUNC(SEL_COMMAND, MainWindow::ID_QuitBtn, MainWindow::onBtnClick), FXMAPFUNC(SEL_COMMAND, MainWindow::ID_Dialog, MainWindow::onCmdDialog) }; FXIMPLEMENT(MainWindow,FXMainWindow, MainWindowMap,ARRAYNUMBER(MainWindowMap)) MainWindow::MainWindow(FXApp* app):FXMainWindow(app, "MainWindow", NULL, NULL, DECOR_ALL, 0,0,250, 250) { Button1 = new FXButton(this, "Hello", NULL, this, ID_QuitBtn); Button2 = new FXButton(this, "Dialog", NULL, this, ID_Dialog);//ボタンを配置 } void MainWindow::create() { FXMainWindow::create(); show(PLACEMENT_SCREEN); } MainWindow::~MainWindow() { } long MainWindow::onBtnClick(FXObject*,FXSelector,void*) { getApp()->exit(0); return 1; }; //タイトルをTitleで文章をThis is Skelton Appで表示、MBOX_OKはOKボタンを配置する long MainWindow::onCmdDialog(FXObject*,FXSelector,void*) { FXMessageBox::information(this, MBOX_OK,"Title","This is Skelton App"); return 1; } |
class
MainWindow: public FXMainWindow { public: FXDECLARE(MainWindow) public: MainWindow(FXApp* app); virtual void create(); virtual ~MainWindow(); protected: MainWindow(){} protected: FXButton *Button1; FXFont *Font1;// 使用するためのFont定義を追加 public: long onBtnClick(FXObject*,FXSelector,void*); public: enum { ID_QuitBtn = FXMainWindow::ID_LAST, }; }; |
#include
<fx.h> #include "MainWindow.h" FXDEFMAP(MainWindow) MainWindowMap[]= { FXMAPFUNC(SEL_COMMAND, MainWindow::ID_QuitBtn, MainWindow::onBtnClick) }; FXIMPLEMENT(MainWindow,FXMainWindow, MainWindowMap,ARRAYNUMBER(MainWindowMap)) MainWindow::MainWindow(FXApp* app):FXMainWindow(app, "MainWindow", NULL, NULL, DECOR_ALL, 0,0,250, 250) { //Fontの定義・作成 Font1 = new FXFont(getApp(),"IPAMonaPGothic [unknown],90,normal,regular,,iso10646-1"); Font1->create(); //”はろ〜”を入れる Button1 = new FXButton(this, fromAscii("はろ〜"), NULL, this, ID_QuitBtn); Button1->setFont(Font1); } void MainWindow::create() { FXMainWindow::create(); show(PLACEMENT_SCREEN); } MainWindow::~MainWindow() { } long MainWindow::onBtnClick(FXObject*,FXSelector,void*) { getApp()->exit(0); return 1; }; |
NAME
= Skelton OBJS = main.o MainWindow.o CXX = g++ CXXFLAGS = -Wall -g3 INCLUDES = -I/usr/local/include/fox-1.6 LIBS = -lFOX-1.6 -lGL -lGLU -lX11 LDFLAGS = $(NAME):$(OBJS) $(CXX) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) .cpp.o: $(CXX) -c $(CXXFLAGS) $(INCLUDES) $? clean: $(RM) -f *.o *~ $(NAME) |