mousemod.h
来自「有限元学习研究用源代码(老外的),供科研人员参考」· C头文件 代码 · 共 163 行
H
163 行
#include <windows.h>
typedef struct tagflag{
int previousoutline;
int anchor;
int movingobject;
int rotatingobject;
int reshapeobject;
int rescaleobject;
int reconnect;
} flags;
class mousemode{
protected:
static flags flag;
static PRPTY property;
public:
PRPTY getproperty(void){return property;};
void toggleproperty(PRPTY p){property ^= p;};
virtual void lbuttondown(HWND, LONG) = 0;
virtual void rbuttondown(void) = 0;
virtual void move(HWND, LONG) = 0;
virtual void ldownmove(HWND, LONG) = 0;
virtual void lbuttonup(HWND) = 0;
virtual void rbuttonup(HWND) = 0;
virtual void presstoolbar(void) = 0;
virtual void releasetoolbar(void) = 0;
virtual void ldblclk(HWND, LONG) = 0;
void setflag(int p){flag.previousoutline = p;};
};
class pointermode:public mousemode{
private:
RECT enclosure;
public:
void lbuttondown(HWND, LONG);
void rbuttondown(void){};
void move(HWND, LONG);
void ldownmove(HWND, LONG);
void lbuttonup(HWND);
void rbuttonup(HWND){};
void presstoolbar(void);
void releasetoolbar(void);
void ldblclk(HWND, LONG);
};
class moveobjectmode:public mousemode{
private:
block *singleblock;
dPOINT gcenter, offcenter, ploc;
public:
void lbuttondown(HWND, LONG);
void rbuttondown(void);
void move(HWND, LONG);
void ldownmove(HWND, LONG);
void lbuttonup(HWND){};
void rbuttonup(HWND){};
void presstoolbar(void);
void releasetoolbar(void);
void ldblclk(HWND, LONG);
};
class rotateobjectmode:public mousemode{
private:
block *singleblock;
dPOINT lever, pivot;
dVECTOR v1, v2;
double psin, pcos;
public:
void lbuttondown(HWND, LONG);
void rbuttondown(void);
void move(HWND, LONG);
void ldownmove(HWND, LONG);
void lbuttonup(HWND){};
void rbuttonup(HWND){};
void presstoolbar(void);
void releasetoolbar(void);
void ldblclk(HWND, LONG);
};
class modifymode:public mousemode{
private:
RECT enclosure;
public:
void lbuttondown(HWND, LONG);
void rbuttondown(void){};
void move(HWND, LONG);
void ldownmove(HWND, LONG);
void lbuttonup(HWND);
void rbuttonup(HWND){};
void presstoolbar(void);
void releasetoolbar(void);
void ldblclk(HWND, LONG);
};
class enquirymode:public mousemode{
private:
RECT enclosure;
public:
void lbuttondown(HWND, LONG);
void rbuttondown(void){};
void move(HWND, LONG);
void ldownmove(HWND, LONG){};
void lbuttonup(HWND){};
void rbuttonup(HWND){};
void presstoolbar(void);
void releasetoolbar(void);
void ldblclk(HWND, LONG){};
};
class addmode:public mousemode{
private:
dPOINT ploc, center;
public:
void lbuttondown(HWND, LONG);
void rbuttondown(void);
void move(HWND, LONG);
void ldownmove(HWND, LONG){};
void lbuttonup(HWND){};
void rbuttonup(HWND){};
void presstoolbar(void){};
void releasetoolbar(void);
void setcenter(dPOINT ct){
center.x = ct.x;
center.y = ct.y;
}
void ldblclk(HWND, LONG){};
};
class resizeobjectmode:public mousemode{
private:
block *singleblock;
dPOINT pivot, hookedloc;
dPOINT pcorner;
dVECTOR v1, v2;
int hookedcorner;
double refscale, pfactor;
public:
resizeobjectmode(){singleblock = NULL;};
void lbuttondown(HWND, LONG);
void rbuttondown(void);
void move(HWND, LONG);
void ldownmove(HWND, LONG);
void lbuttonup(HWND){};
void rbuttonup(HWND){};
void presstoolbar(void);
void releasetoolbar(void);
void ldblclk(HWND, LONG);
int hook(void){return hookedcorner;};
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?