算法相关技术专家
暂时未有相关通用技术能力~
阿里云技能认证
详细说明还是 在做俄罗斯方框的过程中遇到的问题 1.调用了InvalidateRect之后 知否发现不能继续贴图了 。。但是只要窗体一被遮住就没问题 解决 : 这是应为 InvalidateRect这个函数会使指定的矩形区域编程无效区域 会导...
1 . 有效区域无效区域 调用InvalidateRect之后会使矩形区域编程无效区域 会导致指定区域重绘 如果不调用 ValidateRect那么 就会导致那个矩形区域无法绘制 2.
//虚函数是多态的关键 virtual 我们直接定义对象 来调用函数并不能实现多态性 //多态的特性是 父类的指针可以指向子类的对象 我们可以令父类的指针指向 不同的子类对象MFC类库就是多态的原理 //比如下面我们如果同时让p1 p2分别指向新开辟的 A B类的对象 那么...
GetSystemMetrics(SM_CYCAPTION) //可以获得 标题栏的 高度 GetSystemMetrics(SM_CMOUSEBUTTONS) //获得鼠标上安装的按键的个数 如果没安装那么返回 0 int fMouse = GetSystemMe...
窗体在失去焦点的时候发出 WM_WM_KILLFOCUS 窗体在获得焦点的时候会发出 WM_GETFOCUS 只有活动视窗 会受到键盘消息 受到键盘消息的窗体可以是 活动窗体 也可以是活动窗体的 子窗体 也可以是活动窗体的 衍生窗体 ...
下面是2个加载位图的函数 HBITMAP LoadBitmap( HINSTANCE hInstance,// handle to application instance 应用程序的句柄 LPCTSTR lpBitmapName // name of bitmap reso...
我们在对 windows 设备进行绘图操作的时候要用到 GDI 函数 并且要获取 设备的 DC 也就是设备的代号 如果是响应WM_PAINT 消息 那么 我们利用 BeginPaint .
#include "windows.h" #include "stdio.h" #include "stdlib.h" #include "resource.h" //预编译我们的资源文件 #include "tchar.
windows.h 中包含了 许多其他的头文件 主要是 WINUSER.H 使用者界面 WINBASE.H kernel函数 WINDEF.
windows.h 中包含了 许多其他的头文件 主要是 WINUSER.H 使用者界面 WINBASE.H kernel函数 WINDEF.
在基于多文档的应用程序 CView的重绘为例子SD 在 K中我们是拦截 WM_PAINT 消息进行 重回的处理 只要 窗体一出现Invalid Area 那么都需要重绘 在MFC中 WM_PAINT 消息的响应函数 是 OnPaint() 但是为什么重绘 我们一直在 O...
对于用MFC写程序的人来说会觉得菜单很简单 直接用 APP wizard生成就行了 消息处理也是 由MFC来完成 实际上根本不知道 菜单的原理 下面就介绍下如何在 SDK写的程序中添加菜单 我所使用的环境是 VC6.
///Class Style 是指窗口本身的 属性 // CS_NOCLOSE 就是窗口不能被关闭 // CS_HREDRAW CS_VREDRAW 就是在 窗口移动或者 窗口的宽度或者高度改变的时候就会发送 WM_PAINT 消...
相信学过MFC或者写过 用MFC写过windows应用程序的人都知道 我们可以很简单的创建一个windows应用程序但是却 不知道其中的原理 利用SDK写windows程序的人 对内部原理比较了解但是对于上来就用MFC写程序的人来说 似乎 MFC底层不可触摸 ,因为微软对windo...
java applet 又称为java小程序 是嵌入在浏览器中运行的程序 用户可以通过 嵌入在浏览器中的java虚拟机来执行java小程序 java小程序不能随意的访问用户的本地资源更好的保护了安全性 java小程序的四个生命周期 init start stop des...
//在 .NET种又2种集合 一种是 VB的 collection 集合 另一种是 .NET Framework 的泛型集合 ////VB的collection集合 和 .
/* java中对象的序列化和反序列化 序列化将对象信息保存至文件等永久设备 反序列化从设备读取对象信息 在内从中根据信息重=构对象但是并不调用构造函数 序列化只保存对象的非静态成员 静态成员和方法不保存 transient 修饰的成员可以被忽略 不背保存 ...
/* RandomAccessFile进行文件的读写这个类实现了 Inputstream和 OutputStream 接口 可以很方便的对文件进行读写操作 */ import java.
/* Reader Writer 对应的是InputStream 和 OutputStream类 前者提供了对字符流的读写 后者提供了对字节流的读写 Writer 派生类 OutputStreamWriter 提供了字符流到字节流的转换 BufferedWriter 提供了向字符输出流写入数据的功能 写一个字符输出流的文本,缓冲各个字符,从而提供单个字符,数组和字符串的高效写入。
/* 流的链接 文件输入输出流->带缓冲的输入输出流(过滤流)->基本数据的输入输出流 链接 这样的好处是增强了文件输入输出流的功能 例如 我们只用文件流不能直接对文件写入 int char float 等类型的数据 但是我们吧这三个流连接起来 就增强了流的功...
/* 两种基本的流是:输入流(Input Stream)和输出流(Output Stream) 。可从中读出一系列字节的对象称为输入流。 而能向其中写入一系列字节的对象称为输出流。 System.
/* java 文件操作 java中文件操作的类是 File类 可以实现对文件的创建删除 修改等 File类 在 java.io包中 下面是 通过 java.
/* Properties 类 利用 System的getProerties返回系统属性 传递一个 System.out 这个类的用处是可以读取一个 ini配置文件的信息 键=值 具体用法看docs */ import java.
/* HashSet底层是采用HasMap实现的 HasMap保存的是 键值对 就跟 C++中 容器类似 keySet() 返回键的视图 values() 返回值的视图 entrySet() 返回的每一个元素都是Map.
/* TreeSet的性能比 HashSet差但是我们 在需要排序的时候可以用TreeSet 因为他是 自然排序也就是 升序 下面是TreeSet实现代码 这个类也似只能通过迭代器迭代元素 */ import java.
/*HashSet 类实现哈希表(散列表) 我们应该为插入到 哈希表的各个对象重写 hashCode()和equals() 方法 String 类重写的 hashCode() 是根据字符串计算的 Object 类的 hashCode() 是根据内存地址计算散列地址 哈希表只能通过迭代器迭代元素 Iterator */ import java.
/* LinkedList 类实现队列 队列 是FIFO 先进先出 FIRST IN FIRST OUT 一边进去 另一边出来 LinkedList 底层是采用链表完成 ArrayList底层采用数组完成 对数据的查找操作 用数组更快 */ import java.
/* java.util.LinkedList 类实现栈操作 栈是个后进先出的线性表 */ import java.util.*; class Test { private LinkedList ll=new LinkedList(); //创建栈 void push(Object o) { ll.
/* Collections类的所有方法都是静态的 sort方法 可以为一个列表进行排序 List 接口从 Collection派生来的 ArrayList类实现了 List接口 所以有iterator方法 Arrays类的sort方法是给一个数组进行排序 ...
今天看到 VC上面有个能增加启动窗体的向导 不过那个利用向导做出来启动界面代码多 我们根本无从修改 于是我摸索着写了个 启动窗体 基于对话框的启动界面 界面 是一块一块的慢慢显示 .
CReBae m_rebasr ; CToolBar m_wndToolBr; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT | TBSTYLE_TRANSPARENT //设置背景为透明 来...
下面介绍2种方法 实现 F11 全屏切换窗体 ...... 相关函数 介绍 RepositionBars(0, AFX_IDW_PANE_FIRST, AFX_IDW_PANE_LAST, reposQuery , &enableClient); //这个...
这种号也有人偷 。。。。鄙视
/* java中的集合类 实现了 Connection接口 ArrayList这个集合类 java.util.*这个包的类 toArray()方法可以返回一个 Object类型的对象数组 我们部队 ArratList进行泛型规范那么就会警告 但是还是可以运行的 这是因为JDK1.5中引进了泛型,但是你的ArrayList却没有采用,所有会有安全问题,比如你可以把一个别的对象放入al里面去,但是取出来的时候可能就会出错了,所以为了安全,在JDK1.5中引进了泛型这个概念。
在 框架类响应 WM_CLOSE消息的时候添加如下代码 HKEY key; //用于接收注册表项句柄 WINDOWPLACEMENT info; //获得窗体位置状态信息 GetWindowPlacement(&info); //C...
//这个函数允许我们对 windows鼠标消息进行处理 对于基类函数的返回值 我们可以通过判断消息类型来进行不同的处理 //也就是说 我们可以对鼠标消息做任意处理 比如 是菜单栏上的消息 我们可以返回标题栏的值 //对应的消息类型有如下 查找MSDN此函数的 值有介绍...
对话框初始化函数 中 static UINT indicators[]= { IDS_ALL, IDS_TIMER, IDS_STATUS }; CRect rect; GetClientRect(rect); //获得客户区域大小 if(!m_wndStatusBar.
/* 每一个对象除了有一个锁之外,还有一个等待队列(wait set),当一个对象刚创建的时候,它的对待队列是空的。 我们应该在当前线程锁住对象的锁后,去调用该对象的wait方法。 也就是在同步快 或者同步函数中调用 wait 对于生产者消费者问题应该在同一个对象的等待队列中 当调用对象的notify方法时,将从该对象的等待队列中删除一个任意选择的线程,这个线程将再次成为可运行的线程。
/* java线程死锁的模拟 两个线程同时请求对方的对方释放监视对象 造成死锁 请在 虚拟机 单核下运行 */ class Test { public static void main(String []args) throws Exception ...
/* 利用Java 多线程模拟火车站售票系统 了解java中的同步 class Test { public static void main(String []args) { SellThread st=new SellThread(); //创建一个实现了implements接口的对象 new Thread(st).
/* java 中Runnable的好处 可以实现共享一个数据 在一个类已经从其他类派生的时候 我们不能使用 直接从Thread类派生 那么这时候我们可以通过实现Runnable 接口来实现 class Test { public s...
//我们在进行贴图的时候需要将背景擦除 贴图之后我们返回TRUE告诉操作系统已经擦出了背景 如果调用基类的OnEraseBKknd那么 //我们的贴图会被再次擦除就看不到贴图了 //在对向指定设备拷贝位图之前 我们先要在内存中准备位图 我们创建一个和目的DC兼容的兼容DC...
VC下的界面着实难看 有时候我们不得不自己进行控件的绘制 以前 一直不理解最近再次看了学了一遍终于明白了一点 与大家分享下... 需要源代码的Q我 寻找一起学VC的朋友 比如说 我们要改变一个编辑框的背景 我们响应WM_CTLCOLOR函数 进行OnCtlColor进行修改但是对与 Button控件就不行了 .
1. 颜色对话框 CHOOSECOLOR 结构体来设置获取颜色对话框的相关信息 成员变量m_cc m_cc.rgbResult 在IDOK之后保存的是选择的颜色RGB值 COL...
/* java.lang.Thead java中的多线程 类从 Thread 覆盖run方法 调用start启动x线程 java中如果线程只剩后台线程那么程序终止运行 setDaemon设置为后台线程 当进城中只剩下后台线程 java...
状态栏的编程离不开 CStatusBar类 CProgressCtrl 进 度条相关的控件 下面我们介绍状态栏 编程技巧 以及在状态栏添加进度条 应用程序的启动界面 状态栏的添加步骤 SDI 单文档中 下面是MF...
创建工具栏 分2种情况 对话框的工具栏 和 SDI 单文档工具栏编程 用到的函数 RecalcLayout 当窗体布局发生改变的时候 调用这个函数会调用 RePositionBar重新摆放工具条 ShowControl...
首先我们修改窗体 有2种方法 一是 在窗体创建之前 二是在窗体创建之后 修改 下面就介绍各种修改方法 参考 MSDN window style window styles 用到的函数 GetWindowLong SetWindo...
/* java 的 Runtime 和 Process类 以及java的单例模式 单例模式:大型开发的时候如果一个程序只需要一个类的实例进行服务那么 我们就可以使用单例模式 Runtime类没有public构造函数 我们只能通过 getRuntime静态方法获得...
如何创建一个 没有子窗口的多文档应用程序 .. 这里涉及到 CCommandLineInfo 类 下面说说这个类的用处 这个类在 MFC应用程序初始化时候调用 可以通过命令参数 来设置 程序初始状态 在 APP类的初始化函数中有如下代码 CCommandLineInfo cmdInfo; .