某库,暂存

/*
    This scope give out some usual fuctions about tiny games.
    You can free use:
        Locate(x,y);
        Setcolor(COLOR);
        SetConsoleTitle("title");
        system("mode con cols=50 lines=50");
*/

#include<windows.h>
#include<conio.h>

HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord;

HANDLE hCon;
enum Color {
    DARKBLUE = 1,
    DARKGREEN,
    DARKTEAL,
    DARKRED,
    DARKPINK,
    DARKYELLOW,
    GRAY,
    DARKGRAY,
    BLUE,
    GREEN,
    TEAL,
    RED,
    PINK,
    YELLOW,
    WHITE
};

void Setcolor(Color c) {
    if(hCon == NULL)
        hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hCon, c);
}

void Locate(int x,int y) {
    y = y * 2 - 1;
    coord.X=y - 1;
    coord.Y=x - 1;
    SetConsoleCursorPosition(hout,coord);
}
int winx,winy;
void Winset(int x,int y) {
    winx = y;
    winy = x;
    RECT rect;
    HWND hwnd=GetForegroundWindow();
    GetWindowRect(hwnd,&rect);
    int title_high = GetSystemMetrics(SM_CYCAPTION);   //窗口标题栏高度
    int line_wight = GetSystemMetrics(SM_CYSIZEFRAME) 
                    + GetSystemMetrics(SM_CYBORDER);   //窗口边框宽度
    MoveWindow(hwnd,y-line_wight,x-title_high-line_wight,rect.right-rect.left,rect.bottom-rect.top,TRUE);
}
struct Mos {
    int xx,yy;
};
Mos Getmouse() {
    POINT pt;
    GetCursorPos(&pt);
    Mos res;
    int title_high = GetSystemMetrics(SM_CYCAPTION);   //窗口标题栏高度
    int line_wight = GetSystemMetrics(SM_CYSIZEFRAME) 
                    + GetSystemMetrics(SM_CYBORDER);   //窗口边框宽度
    res.yy = (pt.x-winx)/16+1;
    res.xx = (pt.y-winy)/16+1;
    return res;
}
/*
    POINT pt;
    GetCursorPos(&pt);
    cout << "当前的鼠标坐标为:" << pt.x << "," << pt.y << endl;
    system("cls");


       =   4
SM_CXBORDER   =   5
SM_CYBORDER   =   6



GetSystemMetrics(6)   //窗口边框宽度
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值