|
「lbClass.h にヘッダーファイル追加」
|
#include <windows.h>
class lbClass
{
public:
lbClass();
virtual ~lbClass();
};
| |
|
「lbClass.cpp」
|
// lbClass.cpp: lbClass クラスのインプリメンテーション
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "lbClass.h"
//////////////////////////////////////////////////////////////////////
// 構築/消滅
//////////////////////////////////////////////////////////////////////
lbClass::lbClass()
{
}
lbClass::~lbClass()
{
}
| |
|
|
|
|
lbClass::lbClass()
{
MessageBox(NULL,"START","",MB_OK);
}
lbClass::~lbClass()
{
MessageBox(NULL,"END","",MB_OK);
}
| |
|
|
// バージョン情報ボックス用メッセージ ハンドラ
LRESULT CALLBACK About( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if( LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL )
{
lbClass *MyClass = new lbClass();
EndDialog(hDlg, LOWORD(wParam));
delete MyClass;
return TRUE;
}
break;
}
return FALSE;
}
| |
|
もうひとつの呼び出し方
|
// バージョン情報ボックス用メッセージ ハンドラ
LRESULT CALLBACK About( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if( LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL )
{
lbClass::lbClass();
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
}
| |
|
|
|
コード部分は分類等の管理上別ソースにします。
「Window.cpp」
|
#include "stdafx.h"
#include "windows.h"
//////////////////////////////////////////////////////////////////////
// ウインドウをデスクトップ中央に移動
//////////////////////////////////////////////////////////////////////
void
lbCenterWindow( HWND hwnd )
{
RECT rTop;
RECT rMe;
GetWindowRect( GetDesktopWindow(), &rTop );
GetWindowRect( hwnd, &rMe );
MoveWindow( hwnd
,rTop.right/2 - (rMe.right-rMe.left)/2
,rTop.bottom/2 - (rMe.bottom-rMe.top)/2
,(rMe.right-rMe.left)
,(rMe.bottom-rMe.top)
,TRUE
);
}
| |
|
|
class lbClass
{
public:
void CenterWindow( HWND hwnd );
lbClass();
virtual ~lbClass();
};
| |
|
|
void lbClass::CenterWindow( HWND hwnd )
{
lbCenterWindow( hwnd );
}
| |
|
|
|
「グローバル変数として以下を定義」
|
// バージョン情報ボックス用メッセージ ハンドラ
LRESULT CALLBACK About( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_INITDIALOG:
MyClass = new lbClass();
MyClass->CenterWindow(hDlg);
return TRUE;
case WM_COMMAND:
if( LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL )
{
EndDialog(hDlg, LOWORD(wParam));
delete MyClass;
return TRUE;
}
break;
}
return FALSE;
}
| |
|
|
|
|
#include <windows.h>
class lbWindow
{
public:
void CenterWindow( HWND hwnd );
lbWindow();
virtual ~lbWindow();
};
| |
|
|
#include "stdafx.h"
#include "lbWindow.h"
void lbCenterWindow( HWND hwnd );
//////////////////////////////////////////////////////////////////////
// 構築/消滅
//////////////////////////////////////////////////////////////////////
lbWindow::lbWindow()
{
}
lbWindow::~lbWindow()
{
}
void lbWindow::CenterWindow( HWND hwnd )
{
lbCenterWindow( hwnd );
}
| |
|
|
#include <windows.h>
#include "lbWindow.h"
class lbClass : public lbWindow
{
public:
lbClass();
virtual ~lbClass();
};
| |
|
|
|