Skip to content

Commit

Permalink
・基本となるアプリケーションとウィンドウ
Browse files Browse the repository at this point in the history
  • Loading branch information
bg1bgst333 committed Jan 14, 2017
1 parent 0ded94f commit 1c276ce
Show file tree
Hide file tree
Showing 13 changed files with 126 additions and 17 deletions.
Binary file modified Debug/VizCommand.exe
Binary file not shown.
Binary file modified Release/VizCommand.exe
Binary file not shown.
13 changes: 1 addition & 12 deletions VizCommand/Application.cpp
Expand Up @@ -30,18 +30,7 @@ BOOL CApplication::InitInstance(HINSTANCE hInstance, LPTSTR lpCmdLine, int nShow
// ウィンドウクラスの登録
CWindow::RegisterClass(hInstance, _T("Window")); // CWindow::RegisterClassでウィンドウクラス"Window"を登録.

// ウィンドウオブジェクトの生成
m_pMainWindow = new CWindow(); // CWindowオブジェクトを作成し, アドレスをm_pMainWindowに格納.

// ウィンドウ作成
if (!m_pMainWindow->Create(_T("Window"), _T("VizCommand"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance)) { // m_pMainWindow->Createでの作成が失敗なら.
return FALSE; // FALSEを返す.
}

// ウィンドウ表示
m_pMainWindow->ShowWindow(SW_SHOW); // m_pMainWindow->ShowWindowで表示.

// 成功なのでTRUEを返す.
// TRUEを返す.
return TRUE; // TRUEを返す.

}
Expand Down
2 changes: 1 addition & 1 deletion VizCommand/Application.h
Expand Up @@ -21,7 +21,7 @@ class CApplication {
// publicメンバ関数
// コンストラクタ・デストラクタ
CApplication(); // コンストラクタCApplication()
~CApplication(); // デストラクタ~CApplication()
virtual ~CApplication(); // デストラクタ~CApplication()

// メンバ関数
virtual BOOL InitInstance(HINSTANCE hInstance, LPTSTR lpCmdLine, int nShowCmd); // アプリケーション初期化関数InitInstance
Expand Down
37 changes: 37 additions & 0 deletions VizCommand/BasicApplication.cpp
@@ -0,0 +1,37 @@
// 二重インクルード防止
#pragma once // #pragma onceで二重インクルード防止.

// ヘッダのインクルード
// 独自のヘッダ
#include "BasicApplication.h" // ベーシックアプリケーションクラス
#include "BasicWindow.h" // ベーシックウィンドウクラス

// コンストラクタCBasicApplication()
CBasicApplication::CBasicApplication() : CApplication() {

}

// アプリケーション初期化関数InitInstance
BOOL CBasicApplication::InitInstance(HINSTANCE hInstance, LPTSTR lpCmdLine, int nShowCmd){

// 初期化
CApplication::InitInstance(hInstance, lpCmdLine, nShowCmd); // CApplication::InitInstanceを呼ぶ.

// ベーシックウィンドウクラスの登録
CBasicWindow::RegisterClass(hInstance); // CBasicWindow::RegisterClassでウィンドウクラス"BasicWindow"を登録.

// ベーシックウィンドウオブジェクトの生成
m_pMainWindow = new CBasicWindow(); // CBasicWindowオブジェクトを作成し, アドレスをm_pMainWindowに格納.

// ウィンドウ作成
if (!m_pMainWindow->Create(_T("VizCommand"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance)) { // m_pMainWindow->Createでの作成が失敗なら.
return FALSE; // FALSEを返す.
}

// ウィンドウ表示
m_pMainWindow->ShowWindow(SW_SHOW); // m_pMainWindow->ShowWindowで表示.

// 成功なのでTRUEを返す.
return TRUE; // TRUEを返す.

}
20 changes: 20 additions & 0 deletions VizCommand/BasicApplication.h
@@ -0,0 +1,20 @@
// 二重インクルード防止
#pragma once // #pragma onceで二重インクルード防止.

// 独自のヘッダ
#include "Application.h" // アプリケーションクラス

// ベーシックアプリケーションクラスCBasicApplication
class CBasicApplication : public CApplication {

// publicメンバ
public:

// publicメンバ関数
// コンストラクタ・デストラクタ
CBasicApplication(); // コンストラクタCBasicApplication()

// メンバ関数
virtual BOOL InitInstance(HINSTANCE hInstance, LPTSTR lpCmdLine, int nShowCmd); // アプリケーション初期化関数InitInstance

};
27 changes: 27 additions & 0 deletions VizCommand/BasicWindow.cpp
@@ -0,0 +1,27 @@
// 二重インクルード防止
#pragma once // #pragma onceで二重インクルード防止.

// ヘッダのインクルード
// 独自のヘッダ
#include "BasicWindow.h" // ベーシックウィンドウクラス

// ウィンドウクラス登録関数RegisterClass
BOOL CBasicWindow::RegisterClass(HINSTANCE hInstance){

// ウィンドウクラスの登録
return CWindow::RegisterClass(hInstance, _T("BasicWindow")); // CWindow::RegisterClassでウィンドウクラス"BasicWindow"を登録.

}

// コンストラクタCBasicWindow()
CBasicWindow::CBasicWindow() : CWindow(){

}

// ウィンドウ作成関数Create(lpctszClassName省略)
BOOL CBasicWindow::Create(LPCTSTR lpctszWindowName, DWORD dwStyle, int x, int y, int iWidth, int iHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance){

// ここに来る場合はウィンドウクラス"BasicWindow"のウィンドウとして作成.
return CWindow::Create(_T("BasicWindow"), lpctszWindowName, dwStyle, x, y, iWidth, iHeight, hWndParent, hMenu, hInstance); // ウィンドウクラスを"BasicWindow"にしてCreateのフルバージョンを呼ぶ.

}
23 changes: 23 additions & 0 deletions VizCommand/BasicWindow.h
@@ -0,0 +1,23 @@
// 二重インクルード防止
#pragma once // #pragma onceで二重インクルード防止.

// 独自のヘッダ
#include "Window.h" // ウィンドウクラス

// ベーシックウィンドウクラスCBasicWindow
class CBasicWindow : public CWindow {

// publicメンバ
public:

// publicメンバ関数
// staticメンバ関数
static BOOL RegisterClass(HINSTANCE hInstance); // ウィンドウクラス登録関数RegisterClass

// コンストラクタ・デストラクタ
CBasicWindow(); // コンストラクタCBasicWindow()

// メンバ関数
virtual BOOL Create(LPCTSTR lpctszWindowName, DWORD dwStyle, int x, int y, int iWidth, int iHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance); // ウィンドウ作成関数Create(lpctszClassName省略)

};
Binary file modified VizCommand/VizCommand.rc
Binary file not shown.
4 changes: 4 additions & 0 deletions VizCommand/VizCommand.vcxproj
Expand Up @@ -147,11 +147,15 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Application.cpp" />
<ClCompile Include="BasicApplication.cpp" />
<ClCompile Include="BasicWindow.cpp" />
<ClCompile Include="Window.cpp" />
<ClCompile Include="WinMain.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Application.h" />
<ClInclude Include="BasicApplication.h" />
<ClInclude Include="BasicWindow.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="Window.h" />
</ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions VizCommand/WinMain.cpp
Expand Up @@ -4,16 +4,16 @@
#include <tchar.h> // TCHAR型
// ヘッダのインクルード
// 独自のヘッダ
#include "Application.h" // アプリケーションクラス
#include "BasicApplication.h" // ベーシックアプリケーションクラス

// _tWinMain関数
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd) {

// 変数の宣言
CApplication *pApp; // CApplicationオブジェクトポインタpApp

// CApplicationオブジェクトの初期化
pApp = new CApplication(); // CApplicationオブジェクトを作成し, pAppにアドレスを格納.
// CBasicApplicationオブジェクトの初期化
pApp = new CBasicApplication(); // CBasicApplicationオブジェクトを作成し, pAppにアドレスを格納.
if (!pApp->InitInstance(hInstance, lpCmdLine, nShowCmd)){ // pApp->InitInstanceで初期化処理が失敗なら.

// エラー処理
Expand Down
8 changes: 8 additions & 0 deletions VizCommand/Window.cpp
Expand Up @@ -152,6 +152,14 @@ BOOL CWindow::Create(LPCTSTR lpctszClassName, LPCTSTR lpctszWindowName, DWORD dw

}

// ウィンドウ作成関数Create(lpctszClassName省略)
BOOL CWindow::Create(LPCTSTR lpctszWindowName, DWORD dwStyle, int x, int y, int iWidth, int iHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance){

// ここに来る場合はウィンドウクラス"Window"のウィンドウとして作成.
return Create(_T("Window"), lpctszWindowName, dwStyle, x, y, iWidth, iHeight, hWndParent, hMenu, hInstance); // ウィンドウクラスを"Window"にしてCreateのフルバージョンを呼ぶ.

}

// ウィンドウ表示関数ShowWindow
BOOL CWindow::ShowWindow(int nCmdShow){

Expand Down
3 changes: 2 additions & 1 deletion VizCommand/Window.h
Expand Up @@ -35,14 +35,15 @@ class CWindow {
// publicメンバ関数
// コンストラクタ・デストラクタ
CWindow(); // コンストラクタCWindow()
~CWindow(); // デストラクタ~CWindow()
virtual ~CWindow(); // デストラクタ~CWindow()

// staticメンバ関数
static BOOL RegisterClass(HINSTANCE hInstance, LPCTSTR lpctszClassName); // ウィンドウクラス登録関数RegisterClass
static LRESULT CALLBACK StaticWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); // 独自のウィンドウプロシージャStaticWindowProc.

// メンバ関数
virtual BOOL Create(LPCTSTR lpctszClassName, LPCTSTR lpctszWindowName, DWORD dwStyle, int x, int y, int iWidth, int iHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance); // ウィンドウ作成関数Create
virtual BOOL Create(LPCTSTR lpctszWindowName, DWORD dwStyle, int x, int y, int iWidth, int iHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance); // ウィンドウ作成関数Create(lpctszClassName省略)
virtual BOOL ShowWindow(int nCmdShow); // ウィンドウ表示関数ShowWindow
virtual LRESULT DynamicWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); // StaticWindowProcから各ウィンドウオブジェクトごとに呼び出されるサブウィンドウプロシージャDynamicWindowProc.
virtual int OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct); // ウィンドウ作成時のハンドラOnCreate.
Expand Down

0 comments on commit 1c276ce

Please sign in to comment.