WikiトップAugust Framework 2.0>AF2_tutorial8

August Framework 2.0 : チュートリアル 8 ~ ウインドウオプションの変更

  1. #include "mglaugust2.h"
  2. class CMyFrame : public CAugustWindowFrame2
  3. {
  4. public:
  5. // 初期化時に呼ばれる
  6. bool OnGraphicInitEnded()
  7. {
  8. return true;
  9. }
  10. // ウインドウ生成前に呼ばれる
  11. void OnCreateWindow(agh::CREATE_WINDOW_INFO *pWindowInfo){
  12. pWindowInfo->nWinWidthSize = 800;
  13. pWindowInfo->nWinHeightSize = 600;
  14. pWindowInfo->strWindowTitle = "タイトルを変更";
  15. }
  16. };
  17. // WinMain
  18. int APIENTRY WinMain(HINSTANCE hInstance,
  19. HINSTANCE hPrevInstance,
  20. LPSTR lpCmdLine,
  21. int nCmdShow )
  22. {
  23. CMyFrame frame;
  24. frame.Start();
  25. return 0;
  26. }

こんな感じです。OnCreateWindow() と言うメソッドをオーバーライドします。
画面のタイトルや、ウインドウのサイズを変更する事が出来ます。


ちなみにウインドウタイトルは途中で変更する事も出来ます。(他は無理)
チュートリアル 6 と組み合わせるとこんな事も出来ます。

  1. #include "mglaugust2.h"
  2. #define TITLE "これは、流れるタイトルです。      ⊂二二二(^ω^)二⊃ ブーン          "
  3. class CMyFrame : public CAugustWindowFrame2
  4. {
  5. private:
  6. int m_nCounter;
  7. char m_szTitle[256];
  8. public:
  9. // 初期化時に呼ばれる
  10. bool OnGraphicInitEnded()
  11. {
  12. m_nCounter = 0;
  13. strcpy(m_szTitle, TITLE);
  14. return true;
  15. }
  16. // ウインドウ生成前に呼ばれる
  17. void OnCreateWindow(agh::CREATE_WINDOW_INFO *pWindowInfo){
  18. pWindowInfo->strWindowTitle = TITLE;
  19. }
  20. bool OnFrameDoUser()
  21. {
  22. if ( m_nCounter >= 10 )
  23. {
  24. *(m_szTitle+strlen(m_szTitle)+2) = '\0';
  25. strncpy(m_szTitle+strlen(m_szTitle), m_szTitle, 2);
  26. memmove(m_szTitle, m_szTitle+2, strlen(m_szTitle));
  27. SetWindowTitle(m_szTitle);
  28. m_nCounter = 0;
  29. }
  30. m_nCounter++;
  31. return true;
  32. }
  33. };
  34. // WinMain
  35. int APIENTRY WinMain(HINSTANCE hInstance,
  36. HINSTANCE hPrevInstance,
  37. LPSTR lpCmdLine,
  38. int nCmdShow )
  39. {
  40. CMyFrame frame;
  41. frame.Start();
  42. return 0;
  43. }

OnFrameDoUser() 内にて SetWindowTitle() メソッドを用いて変更しています。
まぁくだらないサンプルですが・・・