dropzone.h

来自「winNT技术操作系统,国外开放的原代码和LIUX一样」· C头文件 代码 · 共 40 行

H
40
字号
#ifndef DROPZONE_INCLUDED
#define DROPZONE_INCLUDED

//
//	define a drop-zone, which can be used to over-ride
//	drop-behaviour for any card stacks which fall under it
//

class CardStack;

class DropZone
{
	friend class CardWindow;

	DropZone(int Id, RECT *rect, pDropZoneProc proc) : 
	  id(Id), DropZoneCallback(proc) { CopyRect(&zone, rect); }

public:

	void SetZone(RECT *rect) { CopyRect(&zone, rect); }
	void GetZone(RECT *rect) { CopyRect(rect, &zone); }
	void SetCallback(pDropZoneProc callback) { DropZoneCallback = callback; }

	int  DropCards(CardStack &cardstack) 
	{
		if(DropZoneCallback)
			return DropZoneCallback(id, cardstack);
		else
			return -1;
	}

private:

	int  id;
	RECT zone;
	pDropZoneProc DropZoneCallback;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?