26.绘制文本框和移动窗口

简介

看似立体的窗口、按钮、输入框等,全是在2维坐标中画出来的。

目标

绘制简单的文本输入框和按住鼠标左键移动窗口。

1.os.c
makeWindow函数绘制输入框在消息窗体上

static void makeWindow(SHTCTL *shtctl,SHEET *sht) {
	
	static char closebtn[14][16] = { 
		"OOOOOOOOOOOOOOO@", "OQQQQQQQQQQQQQ$@","OQQQQQQQQQQQQQ$@", 			
		"OQQQ@@QQQQ@@QQ$@", "OQQQQ@@QQ@@QQQ$@", "OQQQQQ@@@@QQQQ$@", 		
		"OQQQQQQ@@QQQQQ$@", "OQQQQQ@@@@QQQQ$@", "OQQQQ@@QQ@@QQQ$@", 		
		"OQQQ@@QQQQ@@QQ$@", "OQQQQQQQQQQQQQ$@", "OQQQQQQQQQQQQQ$@", 
		"O$$$$$$$$$$$$$$@", "@@@@@@@@@@@@@@@@" 
	}; 


	int bxsize = sht->width; 
	int bysize = sht->height; 
	sheet_fillRect(0,0,bxsize,1,COL8_C6C6C6,sht);
	sheet_fillRect(1,1,bxsize-2,1,COL8_FFFFFF,sht);
	sheet_fillRect(0,0,1,bysize,COL8_C6C6C6,sht);
	sheet_fillRect(1,1,1,bysize-1,COL8_FFFFFF,sht);

	sheet_fillRect(bxsize-2,1,1,1,COL8_848484,sht);
	sheet_fillRect(bxsize-1,0,1,bysize,COL8_000000,sht);
	sheet_fillRect(2,2,bxsize-4,bysize-4,COL8_C6C6C6,sht);
	sheet_fillRect(3,3,bxsize-6,18,COL8_000084,sht);
	sheet_fillRect(1,bysize-2,bxsize-2,1,COL8_848484,sht);
	sheet_fillRect(0,bysize-1,bxsize,1,COL8_000000,sht
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值