中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 13:42
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » 金狮兄帮帮俺啊!!!如何改变鼠标的默认光标形状[求助]
可打印版本  1,061 / 1
第1楼 boblhh9999 发表于 2004-06-03 00:00
中级用户 发帖 74 积分 316
金狮兄帮帮俺啊!!!如何改变鼠标的默认光标形状[求助]
我想改变鼠标的默认图标,利用33h的调用。
程序如下
struct shape
{
unsigned char shape;
char hotx;
char hoty;
};

struct shape ARROW={
{

0x3fff,0x1fff,0x0fff,0x07ff,
0x03ff,0x01ff,0x00ff,0x007f,
0x003f,0x00ff,0x01ff,0x10ff,
0x30ff,0xf87f,0xf87f,0xfc3f,
0x0000,0x7c00,0x6000,0x7000,
0x7800,0x7c00,0x7e00,0x7f00,
0x7f80,0x7e00,0x7c00,0x4600,
0x0600,0x0300,0x0300,0x0180
},
0,0,
};

void mouse_shape(struct shape sp)
{
struct SREGS sr;
union REGS r;
union REGPACK re;

r.w.ax=0x00;
int386(0x33,&r,&r);
r.w.ax=0x09;
r.w.bx=sp.hotx;
r.w.cx=sp.hoty;
r.x.edx=FP_OFF(&sp.shape);
segread(&sr);
sr.es=FP_SEG(&sp.shape);
int386x(0x33,&r,&r,&sr);
r.w.ax=0x01;
int386(0x33,&r,&r);
}

但显示不正常,
关键是鼠标的16*16的位图是如何在数组中排列,这一点我不懂,
所以毫无头绪,希望那为大侠给予指点。

谢谢!!!!急急急


第2楼 qb45 发表于 2004-06-07 00:00
高级用户 发帖 194 积分 677
要QBASIC的原程序吗?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023