⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fastlist.h

📁 C语言编写的反汇编工具
💻 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 + -