📄 fastlist.h
字号:
#include <windows.h>
#include <stdlib.h>
#include <stdarg.h>
#ifndef _FASTLIST_H_
#define _FASTLIST_H_
typedef struct FLCELL
{
char *szString;
DWORD dwStrLen;
RECT rtSize;
DWORD dwFrontColor;
DWORD dwBackColor;
}FLCELL;
typedef struct FLROW
{
FLCELL *cols;
struct FLROW *flrowNext;
struct FLROW *flrowPrev;
}FLROW;
typedef struct FLCOLHEADER
{
DWORD *flcolsWidth;
DWORD headerBackColor;
DWORD headerFrontColor;
char **szcolName;
RECT *rect;
}FLCOLHEADER;
typedef struct FLSCROLLBAR
{
DWORD height;
DWORD width;
HWND hwndscrollbar;
}FLSCROLLBAR;
typedef struct FLDATA
{
HINSTANCE hInstance;
HWND hwnd;
DWORD dwNumberOfRow;
DWORD dwHeightOfRow;
DWORD dwNumberOfCol;
FLROW *Selected;
DWORD dwViewRow;
HWND hwndClient;
HWND hwndBuf;
RECT rtClient;
HDC hdcClient;
RECT rtBuf;
HDC hdcBuf;
DWORD dwBackColor;
FLCOLHEADER flHeader;
FLROW *flTheFirstRow;
FLROW *flTheLastRow;
FLROW *flTheFirstRowOfThePage;
FLSCROLLBAR flScrollbar;
bool MouseDrag;
DWORD dwMouseDragCol;
}FLDATA;
/*typedef struct FLCOL
{
char szString[30];
int stringLen;
struct FLCOL *flcolNext;
}FLCOL;
typedef struct FLROW
{
FLCOL flcolFirst;
int state;
struct FLROW *flrowNext;
struct FLROW *flrowPrev;
}FLROW;
typedef struct FLCOLHEADER
{
char szString[20];
int width;
int x;
struct FLCOLHEADER *flcolheaderNext;
}FLCOLHEADER;
typedef struct FLDATA
{
HINSTANCE hInstance;
HWND hwnd;
DWORD dwNumberOfRow;
int dwNumberOfCol;
DWORD dwSelected;
DWORD dwViewRow;
HANDLE hMemory;
HWND hwndClient;
int clientWidth;
int clientHeight;
HDC hdcClient;
struct misc
{
int flagMouseDrag;
FLCOLHEADER *flcolh;
}misc;
struct callbackdata
{
int (*ScrollProc)( DWORD index, DWORD oldindex );
int (*ResizeProc)( int width, int height );
int (*RedrawProc)();
int (*HighlightProc)( DWORD dwView, DWORD dwIndex );
int (*SelectProc)( DWORD dwView, DWORD dwIndex );
int flagDrawFromZero;
}callbackdata;
FLROW flrowFirst;
FLROW *pflrowLast;
FLCOLHEADER flcolheaderFirst;
FLCOLHEADER *pflcolheaderLast;
}FLDATA;*/
void initFastListControl(FLDATA &flData);
LRESULT CALLBACK flWndProcBuf(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK flWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
void flSetHeader(FLDATA &flData,int cols,...);
void flClose(FLDATA &flData);
void flSetHeightOfRow(FLDATA &flData,DWORD height);
void flSetBackColorOfTable(FLDATA &flData,DWORD dwColor);
void flDrawFastList(FLDATA &flData);
FLDATA *flGetFlPointer(HWND hwnd);
void flSetBackColorOfHeader(FLDATA &flData,DWORD dwColor);
void flSetFrontColorOfHeader(FLDATA &flData,DWORD dwColor);
int flCheckClickBorder(FLDATA &flData,int m_x);//是则返回边框值,否则返回-1
void flRedrawFastList(FLDATA &flData);
void flAddNewRow(FLDATA &flData,char *firstcell,...);
void flSetNewView(FLDATA &flData,DWORD dwIndex);
void flSetWidthOfCol(FLDATA &flData,DWORD dwCol,DWORD dwWidth);
FLROW *flCheckClickRow(FLDATA &flData,int &nIndexRow,int m_y);//用dwIndexRow返回相对当前页面下的行号,0为标题栏,-1为空区域,函数返回选中行指针,标题栏为NULL
DWORD flGetRowText(FLDATA &flData,FLROW flRow,char *szString);//函数返回文字的长度,szString为去的文字的缓冲区
#endif _FASTLIST_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -