|
|
#include "resource.h"
#include <lightbox.h>
ATOM MyRegisterClass( HINSTANCE hInstance );
BOOL InitInstance( HINSTANCE, int );
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
LRESULT CALLBACK About( HWND, UINT, WPARAM, LPARAM );
void InitWndProc( HWND hWnd );
void EndWndProc( HWND hWnd );
LRESULT CALLBACK OperatorEvent( HWND, UINT, WPARAM, LPARAM );
#define MAX_LOADSTRING 100
#define ID_STATUS (LBOX_ID_BASE+1)
MyEXTERN HINSTANCE hInst;
MyEXTERN TCHAR szTitle[MAX_LOADSTRING];
MyEXTERN TCHAR szWindowClass[MAX_LOADSTRING];
MyEXTERN char szBuffer[1024]; // 共通作業バッファ
MyEXTERN LboxTool Tool; // ツールオブジェクト
MyEXTERN LboxFileSystem Fs; // ファイルシステムオブジェクト
MyEXTERN LboxWin *Win; // ウインドウオブジェクト
MyEXTERN LboxListview *Lview; // ツリービューオブジェクト
MyEXTERN LboxDlg *Dlg; // ダイアログオブジェクト
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN
#include "ListView.h"
// *********************************************************
// エントリポイント
// *********************************************************
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
MSG msg;
HACCEL hAccelTable;
// グローバル ストリングを初期化
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_LISTVIEW, szWindowClass, MAX_LOADSTRING);
MyRegisterClass( hInstance );
// アプリケーションの初期化
if( !InitInstance( hInstance, nCmdShow ) ) {
return FALSE;
}
hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_LISTVIEW);
// メイン メッセージ ループ
while( GetMessage(&msg, NULL, 0, 0) ) {
if( !TranslateAccelerator (msg.hwnd, hAccelTable, &msg) ) {
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}
return msg.wParam;
}
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN extern
#include "ListView.h"
// *********************************************************
// 関数: MyRegisterClass
// *********************************************************
ATOM MyRegisterClass( HINSTANCE hInstance )
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_LISTVIEW);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = (LPCSTR)IDC_LISTVIEW;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);
return RegisterClassEx( &wcex );
}
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN extern
#include "ListView.h"
// *********************************************************
// 関数: InitInstance
// *********************************************************
BOOL InitInstance( HINSTANCE hInstance, int nCmdShow )
{
HWND hWnd;
// インスタンス
hInst = hInstance;
// メインウインドウ作成
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if( !hWnd ) {
return FALSE;
}
ShowWindow( hWnd, nCmdShow );
UpdateWindow( hWnd );
return TRUE;
}
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN extern
#include "ListView.h"
// *********************************************************
// 関数: WndProc
// *********************************************************
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch( message ) {
// 初期処理
case WM_CREATE:
InitWndProc( hWnd );
break;
// サイズ変更
case WM_SIZE:
Win->StatusFit( wParam, lParam );
Lview->ParentFit(
(DWORD)wParam,
0, 0,
0, Win->GetHeight( Win->hStatus )
);
break;
// オペレータイベント
case WM_COMMAND:
return OperatorEvent( hWnd, message, wParam, lParam );
// 終了処理
case WM_DESTROY:
EndWndProc( hWnd );
PostQuitMessage( 0 );
break;
default:
return DefWindowProc( hWnd, message, wParam, lParam );
}
return 0;
}
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN extern
#include "ListView.h"
// *********************************************************
// 関数: About
// *********************************************************
LRESULT CALLBACK About( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message ) {
case WM_INITDIALOG:
// ダイアログ登録
Dlg = new LboxDlg( hDlg );
return TRUE;
case WM_COMMAND:
// 終了処理
if( LOWORD(wParam) == IDCANCEL ||
LOWORD(wParam) == IDOK ) {
// ダイアログ終了
Dlg->End( LOWORD(wParam) );
// オブジェクト削除
delete Dlg;
return FALSE;
}
break;
}
return FALSE;
}
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN extern
#include "ListView.h"
// *********************************************************
// 関数: InitWndProc
// *********************************************************
void InitWndProc( HWND hWnd )
{
// リストビューの作成
Lview = new LboxListview(
hWnd,
LBOX_LISTVIEW_CREATE
);
// グリッドオプション
Lview->Grid( );
// フォント設定 ( MS Pゴシック )
Lview->SetFont( 0, 10, false );
// メインウインドウ登録
Win = new LboxWin( hWnd );
// ステータスバー実装
Win->StatusCreate( ID_STATUS );
// ステータスバー表示
Win->StatusSetText( "ListView スケルトン" );
// デスクトップフィットサイズ
Win->ScreenFit( );
}
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN extern
#include "ListView.h"
// *********************************************************
// 関数: EndWndProc
// *********************************************************
void EndWndProc( HWND hWnd )
{
// オブジェクト削除
delete Win;
delete Lview;
}
| |
|
|
|
|
#include "stdafx.h"
#define MyEXTERN extern
#include "ListView.h"
// *********************************************************
// 関数: OperatorEvent
// *********************************************************
LRESULT CALLBACK OperatorEvent(
HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
int wmId, wmEvent;
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch( wmId ) {
case IDM_ABOUT:
// About ダイアログ呼び出し
DialogBox( hInst,
(LPCTSTR)IDD_ABOUTBOX,
hWnd,
(DLGPROC)About
);
break;
case IDM_EXIT:
// アプリケーション終了
Win->Destroy( );
break;
default:
return DefWindowProc( hWnd, message, wParam, lParam );
}
return 0;
}
| |
|
|
|