リストビュースケルトン

  ListView.h



  
#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;		// ダイアログオブジェクト
  



  ListView.cpp



  
#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;
}
  



  MyRegisterClass.cpp

  
#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 );
}
  



  InitInstance.cpp

  
#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;
}
  



  WndProc.cpp

  
#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;
}
  



  About.cpp

  
#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;
}
  



  InitWndProc.cpp

  
#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( );
}
  



  EndWndProc.cpp

  
#include "stdafx.h"

#define MyEXTERN extern
#include "ListView.h"

// *********************************************************
//   関数: EndWndProc
// *********************************************************
void EndWndProc( HWND hWnd )
{
	// オブジェクト削除
	delete Win;
	delete Lview;
}
  



  OperatorEvent.cpp

  
#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;
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ