📄 lview.h
字号:
//======================================================================
// Header file
//
// Written for the book Programming Windows CE
// Copyright (C) 1998 Douglas Boling
//======================================================================
// Returns number of elements
#define dim(x) (sizeof(x) / sizeof(x[0]))
//----------------------------------------------------------------------
// Generic defines and data types
//
struct decodeUINT { // Structure associates
UINT Code; // messages
// with a function.
LRESULT (*Fxn)(HWND, UINT, WPARAM, LPARAM);
};
struct decodeCMD { // Structure associates
UINT Code; // menu IDs with a
LRESULT (*Fxn)(HWND, WORD, HWND, WORD); // function.
};
//----------------------------------------------------------------------
// Generic defines used by application
#define IDC_CMDBAR 1 // Command bar ID
#define IDC_LISTVIEW 2 // ID for report list box
#define ID_ICON 10 // Icon resource ID
#define ID_MENU 11 // Main menu resource ID
// Menu item and Command bar IDs
#define IDM_EXIT 101
#define IDC_LICON 111
#define IDC_SICON 112
#define IDC_LIST 113
#define IDC_RPT 114
#define IDM_ABOUT 120
#define VIEW_BMPS (VIEW_NEWFOLDER+1) // Number of BMPs in
// view list
//----------------------------------------------------------------------
// Program-specific structures
//
// Defines for simulated database
typedef struct {
TCHAR szName[32];
TCHAR szType[32];
INT nSize;
INT nImage;
INT nState;
} LVDATAITEM;
typedef LVDATAITEM *PLVDATAITEM;
//----------------------------------------------------------------------
// Function prototypes
//
// Cache functions
PLVDATAITEM GetItemData (INT nItem);
void InitDatabase (void);
void FlushMainCache (void);
void FlushEndCaches (void);
INT LoadTopCache (void);
INT LoadBotCache (void);
INT LoadMainCache (INT nStart, INT nEnd);
// Database functions
void InitDatabase (void);
PLVDATAITEM GetDatabaseItem (INT nItem);
INT SetDatabaseItem (INT nItem, PLVDATAITEM pIn);
PLVDATAITEM GetItemData (INT nItem);
INT AddItem (HWND, INT, LPTSTR, LPTSTR, INT);
int InitApp (HINSTANCE);
HWND InitInstance (HINSTANCE, LPWSTR, int);
int TermInstance (HINSTANCE, int);
// Listview compare callback
int CALLBACK CompareLV (LPARAM, LPARAM, LPARAM);
// Window procedures
LRESULT CALLBACK MainWndProc (HWND, UINT, WPARAM, LPARAM);
// Message handlers
LRESULT DoCreateMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoSizeMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoNotifyMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoCommandMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoDestroyMain (HWND, UINT, WPARAM, LPARAM);
// Command functions
LPARAM DoMainCommandExit (HWND, WORD, HWND, WORD);
LPARAM DoMainCommandChView (HWND, WORD, HWND, WORD);
LPARAM DoMainCommandAbout (HWND, WORD, HWND, WORD);
// Dialog procedures
BOOL CALLBACK AboutDlgProc (HWND, UINT, WPARAM, LPARAM);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -