BC++环境下实现矩形移动控制

版权申诉
0 下载量 23 浏览量 更新于2024-11-15 收藏 565B RAR 举报
资源摘要信息:"ZX.rar_bc++文件中包含了一个使用BC++编程环境编写的源代码文件ZX.C,该文件实现了在BC++环境下通过键盘输入控制一个矩形在屏幕上的移动。该程序演示了图形用户界面(GUI)编程的基本概念,包括窗口创建、事件处理、图形绘制等关键知识点。" 在BC++环境下创建可移动矩形涉及到的知识点包括: 1. BC++编程环境 - BC++是Borland公司的C++编译器,它提供了一个集成开发环境(IDE),允许开发者进行代码编写、编译、调试等一系列开发活动。BC++主要用于DOS平台,但它也支持在Windows环境下运行。 2. 图形用户界面(GUI)编程 - 在BC++中编写图形程序通常需要调用图形库,例如使用Borland的图形界面库(Graphics Library,简称graphics.h)。图形界面编程使得开发者能够在屏幕上绘制图形和处理用户的输入。 3. 窗口创建 - 程序启动时,通常需要创建一个窗口作为图形输出和用户交互的界面。在BC++环境下,这可能涉及到设置图形模式和初始化图形系统。 4. 坐标系统 - BC++中的图形库通常具有自己的坐标系统。为了绘制和移动矩形,开发者需要理解并使用这个坐标系统。坐标系统定义了图形对象在屏幕上的位置。 5. 事件处理 - 图形用户界面的程序需要响应用户的输入,如键盘或鼠标事件。BC++中通常需要设置中断服务例程来捕捉用户的按键动作,并根据按键值来改变矩形的位置。 6. 图形绘制 - 在屏幕上绘制矩形涉及到使用绘图函数,如rectangle()。这些函数允许开发者指定矩形的位置和尺寸。绘制图形时,可能还需要清除屏幕或部分屏幕,以便更新显示。 7. 键盘输入处理 - 为了控制矩形的移动,程序需要能够接收和处理键盘输入。BC++中的graphics.h库提供了对键盘事件的简单支持,可以通过检测特定按键(如方向键)来移动矩形。 8. 循环和延时 - 为了让矩形能够持续在屏幕上显示并响应用户输入,程序通常需要运行在一个循环中。循环中可能还需要添加延时函数(如delay()),以控制矩形移动的速度。 在BC++环境下编写可移动矩形的示例代码可能如下: ```cpp #include <graphics.h> int main() { int gd = DETECT, gm; initgraph(&gd, &gm, NULL); // 初始化图形模式 int x = 100, y = 100; // 矩形初始位置 int deltax = 10, deltay = 10; // 矩形移动的距离 while(!kbhit()) { // 检测键盘输入 cleardevice(); // 清除屏幕 rectangle(x, y, x+50, y+20); // 绘制矩形 x += deltax; y += deltay; // 更新矩形位置 // 检测边界,确保矩形不会移出屏幕 if(x < 0) x = 0; if(y < 0) y = 0; if(x > getmaxx()) x = getmaxx(); if(y > getmaxy()) y = getmaxy(); delay(50); // 控制矩形移动的速度 } closegraph(); // 关闭图形模式 return 0; } ``` 上述代码创建了一个简单的图形界面,通过键盘输入可以控制矩形在屏幕上的移动。代码中使用了Borland C++的graphics.h库函数来实现图形的绘制和处理用户输入。
2023-06-09 上传

$("#h_box").on("click","#sendNextUsersM",function(){ var rows = me.datatable.rows(".selected").data().toArray(); if(rows.length ==1){ var is_valid = rows[0].IS_VALID; if(is_valid!="Y"){ wj_fun.wj_confirm_init("校验未通过,不可以发送!"); return; } //var item_key = rows[0].ITEM_KEY; //zjptWorkFlow(item_key,query); var tempSql = " select WF_VIEW_URL,WF_MODIFY_URL from XSR_XZ_EX_XLS_CONFIG where xls_code = '"+rows[0].XLS_CODE+"' "; var sqlResult = getForm.getSqlForms({"sql":tempSql}); var dpSql = " select d.dp_name from Xsr_Xz_Ba_Ou_Dp_All d where d.dp_id = "+rows[0].DP_ID; var dpResult = getForm.getSqlForms({"sql":dpSql}); var param = { "H_DESC": rows[0].INV_H_NAME, "VENDOR_SITE": "", "EMP_TYPE": "", "XLS_CODE": rows[0].XLS_CODE, "WF_VIEW": zx_session_vars["rootPath"]+"/"+sqlResult.WF_VIEW_URL, "WF_MODIFY_URL": zx_session_vars["rootPath"]+"/"+sqlResult.WF_MODIFY_URL, "WF_VIEW_URL": zx_session_vars["rootPath"]+"/"+sqlResult.WF_VIEW_URL, "WF_JBR_ID": "", "OU_ID": rows[0].OU_ID, "OU_NAME": rows[0].OU_NAME, "DP_NAME": dpResult.DP_NAME, "INV_H_NAME":rows[0].INV_H_NAME, "INV_H_CODE": rows[0].INV_H_CODE, "INV_H_VAL": rows[0].INV_H_VAL, "PAY_H_VAL": rows[0].INV_H_VAL, "WITH_TAX_VAL": rows[0].INV_H_VAL, "LOGINNAME": rows[0].BXR, "JBRXM":rows[0].EMPNAME, "DP_ID": rows[0].DP_ID, "EMP_NAME": rows[0].EMPNAME, "DP_CODE": "", "p_table_name": "xsr_xz_ex_inv_h", "p_primary_column": "INV_H_ID", "e_business_id": rows[0].INV_H_ID }; var callback = function () { //执行完成之后的回调函数,刷新表格 query(); wj_fun.tip_block({ "title": "流程提交成功!" }); }; wf_submit(rows[0].ITEM_TYPE, rows[0].ITEM_KEY, rows[0].AUDIT_STATUS, param,callback, true) }else{ wj_fun.wj_confirm_init("请选择一条数据!"); return ; } });

2023-07-12 上传
2023-06-09 上传
2023-06-09 上传