HDC与HWND的关系(转自CSDN)

摘要: 本文转自CSDN都知道,从HWND可以通过方法GetSafeHDC获得一个HDC句柄,用CDC::GetWindow方法可以获得一个CWnd指针。我就犯嘀咕了,dc和窗口两个类(对象)之间,究竟是怎么一种关系?他们是怎么互相获得的?通过什么联系? GetSafeHDC是CDC的函数吧。 CDC::GetWindow调用的是API函数WindowFromDC(),从窗口句柄得到客户区DC句柄的API函数是GetDC()。 窗口句柄,将所有窗口有关的资源联系在一起。象窗体,按钮等其他图元其实都是视频显示器上的一块区域。而所有的图元都有一个dc,这个dc是用户用于GDI的一些参数,建议看看《W... 阅读全文
posted @ 2012-02-14 22:44 专吃兔子的大黑猫 阅读(4885) 评论(0) 推荐(0) 编辑

DLL初步(1)

摘要: 这个主要是看过一个视频后的笔记隐式链接建立一个动态链接库工程,首先启动VC6.0,选择Win32 Dynamic-Link Library,然后输入工程名称和工程路径,在第二项页面中选择一个空的DLL工程,点击完成。工程建立好后添加C++ Source File。在文件中编写一个完成加法运算的函数和一个完成减法运算的函数。View Code 1 int add(int a,int b)2 {3 return a+b;4 }5 int sub(int a,int b)6 {7 return a-b;8 }编译程序,此时在工程文件夹下的Debug文件夹中会出现DLLL1.dll。此... 阅读全文
posted @ 2012-02-14 17:20 专吃兔子的大黑猫 阅读(321) 评论(0) 推荐(0) 编辑

希尔排序分析

摘要: 在分析希尔排序之前先看插入排序: 1 void InsertSort(int A[],int N) 2 { 3 int j,p,temp; 4 for(p=1;p<N;p++) 5 { 6 temp=A[p]; 7 for(j=p;j>0&&A[j-1]>temp;j--) 8 { 9 A[j]=A[j-1];10 }11 A[j]=temp;12 }13 }从第4行可以看出,插入元素从第一个开始(前面有第0个)。通过第7行到第10行的循环找出插入元素所在的位... 阅读全文
posted @ 2012-02-13 13:39 专吃兔子的大黑猫 阅读(314) 评论(0) 推荐(0) 编辑

数组作为函数参数进行传递

摘要: 今天编程序时发生了个这样的错误:在头文件里 定义了一个数组:View Code 1 char s[]="1234567890";又定义了一个现显示组的函数:View Code 1 void Display(char* c);通过下面这两条语句分别在现实函数和主函数中现实数组的大小:View Code 1 sizeof(c);2 sizeof(s);现实结果却大相径庭,在主函数中为11,在现实函数中却为4。经过思考发现,在主函数中s代表的是一个数组,而在现实函数中c代表的是一个指向数组头的指针。数组的大小为11,指针的大小为4。主程序如下:View Code 1 #inclu 阅读全文
posted @ 2012-02-11 22:19 专吃兔子的大黑猫 阅读(5771) 评论(1) 推荐(0) 编辑

C++中数组的普通移位和循环移位

摘要: 普通移位:若数组想从某一位开始向右移n位,一般是从数组的最后一位开始逐次向右移位。程序如下:View Code #include <iostream>#include <stdlib.h>using namespace std;int s[11]={1,2,3,4,5,6,7,8,9,0};void main(){ for (int i=0;i<11;i++) { cout<<s[i]; } cout<<endl; //移位代码,此地假设向右移移位 for (int j=10;j>0;j--) { s[j]=s[j-1]; ... 阅读全文
posted @ 2012-02-10 10:15 专吃兔子的大黑猫 阅读(4534) 评论(0) 推荐(0) 编辑

第一篇文章,一个简单的定时器

摘要: 主要是练习一下定时器的使用,在网上找了一个编写简单定时器的小教程照着做了一下。定时器界面如下图所示:添加了三个处理函数,包括两个按钮的处理函数和一个定时器的处理函数,如下图所示:给文本框添加了一个变量,用于计数并显示:添加的三个处理函数代码如下:View Code void CTest020902Dlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default m_Edit1+=1; UpdateData(FALSE); CDialog::OnTim... 阅读全文
posted @ 2012-02-09 22:52 专吃兔子的大黑猫 阅读(203) 评论(0) 推荐(0) 编辑