第1章C++关键语法及其在VC++中的应用1.1重载1.1.1函数重载1.1.2运算符重载1.1.3函数重载在MFC中的应用举例1.1.4运算符重载在MFC中的应用举例2.2虚拟函数1.2.1静态联编与动态联编1.2.2虚拟函数的定义1.2.3虚拟函数的实现机制1.2.4虚拟函数的应用1.2.5纯虚拟函数1.2.6虚拟函数在MFC中的应用举例1.3静态成员1.3.1静态成员变量1.3.2静态成员函数1.3.3静态成员变量在MFC中的应用举例1.3.4静态成员函数在MFC中的应用举例1.4类模板1.4.1类模板的定义1.4.2使用类模板和模板类1.4.3模板在MFC中的应用举例1.5多重继承和内嵌类1.5.1继承方式与访问权限1.5.2多重继承和虚拟基类1.5.3内嵌类与类合成1.5.4类继承与类合成的应用1.5.5多重继承和内嵌类在COM中的应用第2章MFC类结构与窗口操作2.1MFC类结构2.1.1CObject类2.1.2CCmdTarget类2.1.3CWinThread类2.1.4CWnd类2.2CWnd类与Windows窗口的关系2.2.1使用WIN32API创建窗口2.2.2亲自动手创建窗口封装类2.2.3CWnd类如何封装Windows窗口2.3CWnd的派生类2.3.1CFrameWnd类2.3.2CView类2.3.3CDialog类2.4窗口操作2.4.1检索窗口2.4.2屏幕坐标与客户区坐标2.4.3窗口之间的层次关系2.4.4父窗口与子窗口2.5Windows窗口类2.5.1窗口类的结构2.5.2系统定义的窗口类2.5.3窗口的子类化和超类化第3章消息映射与消息处理3.1MFC的消息映射3.1.1消息映射机制3.1.2消息映射的宏定义3.2非窗口消息3.2.1命令消息3.2.2通知消息3.2.3反射消息3.2.4非窗口消息的传递路由3.2.5非窗口消息的扩展3.3特殊消息和处理函数3.3.1空闲消息处理3.3.2命令状态更新消息3.3.3使用OnCmdMsg0函数分发非窗口消息第4章控件子窗口4.1控件的创建和子类化4.1.1控件的创建4.1.2控件的子类化4.2控件的属主画与自定义画4.2.1属主画消息处理和虚拟函数4.2.2几个控件的属主画特性4.2.3控件的自定义画4.3自定义控件4.3.1自定义控件的窗口类4.3.2自定义控件的通知消息4.3.3自定义控件的绘制4.3.4自定义的分隔条控件第5章界面优化5.1开发使用控制条5.1.1为控制条按需分配客户区5.1.2控制条基类CControlBar5.1.3控制条的停靠与浮动5.1.4实现停靠浮动子窗口5.2工具栏优化5.2.1添加按钮文本5.2.2创建工具栏的子控件5.3菜单优化5.3.1动态创建菜单5.3.2菜单的属主画第6章文档视图框架6.1CWinApp应用类6.1.1应用类全局对象6.1.2注册表和INI文件操作6.1.3命令行参数处理6.2单文档模板框架6.2.1文档、框架、视图的动态创建6.2.2非拆分视图的切换6.3多文档模板框架6.3.1CMDIFrameWnd主框架6.3.2CMDIChildWnd子框架6.3.3CDocument类的文档管理功能6.4编写多框架的应用程序6.4.1创建多框架的必要性6.4.2自动创建的多框架程序6.4.3改进自动创建的多框架程序6.4.4手工创建多框架程序6.5拆分视图6.5.1认识CsplitterWnd窗口拆分类6.5.2应用Cview::OnCreate0消息处理函数实现拆分6.5.3创建非视图的拆分子窗口6.5.4拆分视图的创建删除和隐藏显示第7章屏幕绘图与打印7.1MFC设备环境类7.1.1基类CDC7.1.2CWindowDC与CClientDC7.1.3WM_PAINT窗口消息与CPaintDC类7.1.4使用设备上下文的剪裁区提高刷新效率7.2脱离视图的MFC打印功能7.2.1准备打印设备和打印参数7.2.2单页打印7.2.3分页打印7.2.4调整图文打印尺寸7.3窗口的自动打印7.3.1自动打印的消息处理7.3.2自动打印客户区和非客户区第8章多线程的创建与控制8.1工作者线
2024/6/30 22:51:08 18.07MB VC++ 编程技术 Visual C++
1
intmain(void){delay_init();//延时函数初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(115200);//串口初始化为115200LED_Init();//初始化与LED连接的硬件接口TM1637_Init();while(1){delay_ms(1);//延时1msTM1637_NixieTubeDisplay();TM1637_NixieTubeDisplayChar(1,0);//第一位显示1TM1637_NixieTubeDisplayChar(2,1);//第二位显示2TM1637_NixieTubeDisplayChar(3,2);//第三位显示3TM1637_NixieTubeDisplayChar(4,3);//第四位显示4}}
2024/6/28 16:21:43 2.55MB STM32 TM1637 四段数码管
1
008.VisualStudio2017C#WPF动态数据曲线[DynamicDataDisplay]实现
2024/6/28 4:27:30 447KB WPF
1
Fanuccnc-screen-display-function-operator'smanual,ForFanucsystemdevelopment.
2024/6/25 20:03:33 1.05MB Fanuc
1
使用AbstractTableModel构建Table在表格中添加JButton按钮,之前在网上找了2天没有找到好用的程序,最终终于找到一个好用的例子。
不要使,我退你们分。

singtheSwingJTableclasscanquicklybecomeastickybusinesswhenyouwanttocustomizeittoyourspecificneeds.FirstyoumustbecomefamiliarwithhowtheJTableclassisorganized.IndividualcellsarerenderedbyTableCellRendererimplementations.ThetablecontentsarerepresentedbyanimplementationoftheTableModelinterface.Bydefault,JTableusesDefaultTableCellRenderertodrawitscells.DefaultTableCellRendererrecognizesafewprimitivetypes,renderingthemasstrings,andcanevendisplayBooleantypesascheckboxes.ButitdefaultstodisplayingthevaluereturnedbytoString()fortypesitdoesnotspecificallyhandle.YouhavetoprovideyourownTableCellRendererimplementationifyouwanttodisplaybuttonsinaJTable.TheTableCellRendererinterfacecontainsonlyonemethod,getTableCellRendererComponent(...),whichreturnsajava.awt.Componentthatknowshowtodrawthecontentsofaspecificcell.Usually,getTableCellRendererComponent()willreturnthesamecomponentforeverycellofacolumn,toavoidtheunnecessaryuseofextramemory.Butwhenthecontentsofacellisitselfacomponent,itisallrighttoreturnthatcomponentastherenderer.Therefore,thefirststeptowardshavingJButtonsdisplaycorrectlyinaJTableistocreateaTableCellRendererimplementationthatreturnstheJButtoncontainedinthecellbeingrendered.Intheaccompanyingcodelisting,JTableButtonRendererdemonstrateshowtodothis.EvenaftercreatingacustomTableCellRenderer,you'restillnotdone.TheTableModelassociatedwithagivenJTabledoesnotonlykeeptrackofthecontentsofeachcell,butitalsokeepstrackoftheclassofdatastoredineachcolumn.DefaultTableModelisdesignedtoworkwithDefaultTableCellRendererandwillreturnjava.lang.String.classforcolumnscontainingdatatypesthatitdoesnotspecificallyhandle.Theexact
2024/6/23 0:29:22 4KB Table JButton 按钮
1
3.4:缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战(1).docx
2024/6/22 4:18:35 36KB linux
1
opengl20面体#include#defineX.525731112119133606#defineZ.850650808352039932staticGLfloatvdata[12][3]={//各顶点坐标{-X,0.0,Z},{X,0.0,Z},{-X,0.0,-Z},{X,0.0,-Z},{0.0,Z,X},{0.0,Z,-X},{0.0,-Z,X},{0.0,-Z,-X},{Z,X,0.0},{-Z,X,0.0},{Z,-X,0.0},{-Z,-X,0.0},};staticGLuinttindices[20][3]={//构成各面(三角形)的顶点索引{1,4,0},{4,9,0},{4,5,9},{8,5,4},{1,8,4},{1,10,8},{10,3,8},{8,3,5},{3,2,5},{3,7,2},{3,10,7},{10,6,7},{6,11,7},{6,0,11},{6,1,0},{10,1,6},{11,0,9},{2,11,9},{5,2,9},{11,2,7},};voiddisplay(){glClear(GL_COLOR_BUFFER_BIT);glBegin(GL_TRIANGLES);for(inti=0;i<20;++i){glColor3f(1.0,1.0,i*1.0/20);//颜色设置glVertex3fv(&vdata;[tindices[i][0]][0]);glVertex3fv(&vdata;[tindices[i][1]][0]);glVertex3fv(&vdata;[tindices[i][2]][0]);}glEnd();glFlush();}voidinit(){glClearColor(0.0,0.0,0.0,0.0);}intmain(intargc,char**argv){glutInit(&argc;,argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);glutInitWindowSize(250,250);glutInitWindowPosition(100,100);glutCreateWindow("Polygon");init();glutDisplayFunc(display);glutMainLoop();return0;}
2024/6/21 7:15:38 749B opengl 20面体
1
植物植物是一个mod,旨在将各种植物添加到Minecraft。
瞧瞧,《我的世界》有时会很乏味。
也许所有的绿色不是您想要的,并且您想要额外的东西。
也许您只是来这里参加Excalibur,花盆或MagicalBrewing大锅。
无论哪种方式,植物都会在Minecraft中添加约180种新植物,并且还在不断增加。
但是,还有一些其他功能需要注意。
植物以其自身取代了香草花盆。
该花盆可以支持所有没有图块实体的事物。
如果您安装了Botania,它还包括旧的Excalibur。
在较新的版本中,您可能还会看到来自名为ForgottenNature的旧版Mod的内容,例如Crystal
2024/6/20 17:22:02 296.56MB minecraft plants forge-mod plants-mod
1
PyTorchimplementationofSpatialTransformerNetwork(STN)withThinPlateSpline(TPS)
2024/6/18 22:49:43 15.89MB Python开发-机器学习
1
1本程序在vc++6.0编译通过并能正常运行。
2主界面程序已经尽量做到操作简便了,用户只需要根据提示一步步进行操作就行了。
六思考和总结:这个课程设计的各个基本操作大部分都在我的综合性实验中实现了,所以做这个主要攻克插入和删除这两个算法!其中插入在书本上已经有了,其中的右平衡算法虽然没有给出,但通过给出的左平衡算法很容易就可以写出右平衡算法。
所以最终的点就在于删除算法的实现!做的过程中对插入算法进行了非常非常多次的尝试!花了非常多的时间,这其中很多时候是在对程序进行单步调试,运用了VC6。
0的众多良好工具,也学到了很多它的许多好的调试手段。
其中删除算法中最难想到的一点是:在用叶子结点代替要删除的非叶子结点后,应该递归的运用删除算法去删除叶子结点!这就是整个算法的核心,其中很强烈得体会到的递归的强大,递归的最高境界(我暂时能看到的境界)!其它的都没什么了。
选做的那两个算法很容易实现的:1合并两棵平衡二叉排序树:只需遍历其中的一棵,将它的每一个元素插入到另一棵即可。
2拆分两棵平衡二叉排序树:只需以根结点为中心,左子树独立为一棵,右子树独立为一棵,最后将根插入到左子树或右子树即可。
BSTreeEmpty(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:若T为空平衡二叉排序树,则返回TRUE,否则FALSE.BSTreeDepth(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:返回T的深度。
LeafNum(BSTreeT)求叶子结点数,非递归中序遍历NodeNum(BSTreeT)求结点数,非递归中序遍历DestoryBSTree(BSTree*T)后序遍历销毁平衡二叉排序树TR_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作右旋处理,处理之后p指向新的树根结点即旋转处理之前的左子树的根结点L_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作左旋处理,处理之后p指向新的树根结点,即旋转处理之前的右子树的根结点LeftBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作左平衡旋转处理,本算法结束时,指针T指向新的根结点RightBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作右平衡旋转处理,本算法结束时,指针T指向新的根结点Insert_AVL(BSTree*T,TElemTypee,int*taller)若在平衡的二叉排序树T中不存在和e有相同的关键字的结点,则插入一个数据元素为e的新结点,并返回OK,否则返回ERROR.若因插入而使二叉排序树失去平衡,则作平衡旋转处理布尔变量taller反映T长高与否InOrderTraverse(BSTreeT)递归中序遍历输出平衡二叉排序树SearchBST(BSTreeT,TElemTypee,BSTree*f,BSTree*p)在根指针T所指的平衡二叉排序树中递归的查找其元素值等于e的数据元素,若查找成功,则指针p指向该数据元素结点,并返回TRUE,否则指针p指向查找路径上访问的最后一个结点并返回FALSE,指针f指向T的双亲,其初始调用值为NULLDelete_AVL(BSTree*T,TElemTypee,int*shorter)在平衡二叉排序树中删除元素值为e的结点,成功返回OK,失败返回ERRORPrintBSTree_GList(BSTreeT)以广义表形式打印出来PrintBSTree_AoList(BSTreeT,intlength)以凹入表形式打印,length初始值为0Combine_Two_AVL(BSTree*T1,BSTreeT2)合并两棵平衡二叉排序树Split_AVL(BSTreeT,BSTree*T1,BSTree*T2)拆分两棵平衡二叉树}(2)存储结构的定义:typedefstructBSTNode{ TElemTypedata; intbf;//结点的平衡因子 structBSTNode*lchild,*rchild;//左.右孩子指针}BSTNode,*BSTree;
1
共 439 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡