
C/C++
文章平均质量分 74
未晚
这个作者很懒,什么都没留下…
展开
-
Csocket常用函数
常用的函数和注意事项(详细的函数接口说明请查看MSDN): CSocket::Create 初始化(一般写服务器程序都不要用为好,用下面的 CSocket::Socket 初始化) CSocket::Socket初始化 CSocket::SetSockOpt 设置socket选项 CSocket::Bind 绑定地址端口 CSocket::Conne转载 2013-10-16 11:39:44 · 1380 阅读 · 0 评论 -
C++实现屏幕截图的方法
第一步:建立Windows 32控制台控制程序第二部:设置工程的属性如下:MFC的使用 --> 在共享 DLL 中使用 MFCstdafx.h#pragma once#define WIN32_LEAN_AND_MEAN // 从 Windows 头中排除极少使用的资料#include ScreenCapture.cp转载 2013-11-21 08:51:07 · 9766 阅读 · 6 评论 -
MFC中CDC类详解
CDCCObject └CDCCDC类定义的是设备上下文对象的类。CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。通过CDC对象的成员函数进行所有的绘图。类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。它还为获取和设转载 2013-11-21 08:54:31 · 21395 阅读 · 0 评论 -
c++编译时最常遇到的汉字
首先,什么都不说,我们来看一段代码,然后试着编译运行:[cpp] view plaincopyprint?#include #include #include using namespace std; char* h = (char*)malloc(2*sizeof(char)); int main() { string转载 2013-11-21 08:42:04 · 1285 阅读 · 0 评论 -
多线程程序问题分析小结
多线程程序问题分析小结程序的核心是逻辑,没有正确逻辑的代码算不上是程序。人脑是物理上的单核,写程序和看代码讲求一个流程,流程其实就是单核顺序执行的过程。怎么保证单核顺序的人脑写出来的多线程程序,在物理上的多核CPU上执行正确的逻辑呢?答案是根本保证不了。多线程程序运行起来就像是开跑的赛马场,谁先跑完,谁会落后,完全无法预测;有时候相互踩踏在所难免。代码里到处充斥锁和共享的内存片段,过多的随机分转载 2013-11-07 00:31:40 · 1425 阅读 · 0 评论 -
CString的一些简单介绍
CString位于头文件afx.h中。CString可以很方便的连接两个字符,可以进行如下操作: CString Hello("hello"); CString World("world"); CString HelloWorld=Hello+World;// HelloWorld valus is ''helloworld"这事因为CString对+运算符进行了重原创 2013-11-13 21:39:47 · 1400 阅读 · 0 评论 -
MFC初始化对话框函数
OnInitDialog()的原理 2010-10-14 21:12:09| 分类:c++ |字号 订阅BOOL CMyDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBO转载 2013-11-28 08:52:14 · 5331 阅读 · 0 评论 -
重绘函数onpaint()
WM_PAINT是窗口每次重绘都会产生的一个消息。OnPaint是对这个消息的反应函数mfc 的 CWnd::OnPaint没做什么,只是丢给系统处理。一: 先执行OnEraseBkgnd,擦除背景(如果想自绘控件,这个函数直接return TRUE就可以了,这样就不会擦除背景,不会闪)OnEraseBkGnd与OnPaint的区别与联系在OnEraseBkGnd中转载 2013-11-28 08:57:00 · 3795 阅读 · 0 评论 -
MFC中OnDraw与OnPaint的区别
MFC中OnDraw与OnPaint的区别在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图的OnPaint 处理函数通转载 2013-11-28 08:58:27 · 1197 阅读 · 0 评论 -
MFC 程序入口和执行流程
MFC 程序入口和执行流程一 MFC程序执行过程剖析1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数。而在MFC程序当中我们不在能找到类似WinMain这样的程序入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对转载 2013-11-06 18:49:29 · 1083 阅读 · 0 评论 -
CListCtrl控件使用方法总结
CListCtrl控件使用方法总结今天第一次用CListCtrl控件,遇到不少问题,查了许多资料,现将用到的一些东西总结如下:以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格转载 2013-11-06 18:17:05 · 887 阅读 · 0 评论 -
TCP实现文件传输
TCP协议实现文件传输 使用TCP协议实现传输文件 程序分为发送端和接收端。首先在传输文件数据之前,发送端会把将装有文件名称和文件长度等信息的数据包发送至接收端。接收端收到文件名称和文件长度信息后会创建好空白文件。接着开始传输文件数据。下面介绍实现功能的主要过程:1.创建套接字、绑定、监听、连接、接受连接//创建TCP协议的套接字 m_Socket转载 2013-10-16 11:45:15 · 1385 阅读 · 1 评论 -
实现屏幕监控的大体思路
屏幕监控简单说就是对进程的当前桌面进行截屏存成位图,然后将此位图数据传输到远程。对桌面进行截图需要通过一系列Windows GDI API来完成的。首先通过CreateDC,CreateCompatibleDC,CreateCompatibleBitmap,SelectObject等API将“DISPLAY”驱动器的设备上下文与位图句柄关联起来。然后通过GetStockOb转载 2013-10-25 14:18:49 · 2060 阅读 · 0 评论 -
关于结构体的大小(内存对齐)
内存对齐规则是指变量的偏移量要是他自身类型长度的整数倍。并且结构体的总长度要是其中最长变量类型的整数倍。struct s{ char a; char b; int c;}sizeof(s)的大小并不是6(1+1+4) ,而应该是8.这是由于结构体的对齐规则,在b之后,系统会补充2个字节的填充字节。以确保c的偏移地址是4的整数倍。struct s2{char a;int b;cha原创 2013-10-20 19:28:10 · 849 阅读 · 0 评论 -
MFC 消息映射
MFC的消息映射机制一、映射机制原理Windows程序是基于消息机制来编程的。MFC消息映射机制的具体实现方法是:在每个能接收和处理消息的类中,定义一个消息和消息函数静态对照表,即消息映射表。在消息映射表中,消息与对应的消息处理函数指针是成对出现的,也就是他们是绑定在一起的。某个类能处理的所有消息及其对应的消息处理函数的地址都列在这个类所对应的静态对照表中。当有消息需要处理时,转载 2013-10-23 20:52:42 · 1257 阅读 · 0 评论 -
关于内存的动态分配
在C语言中,内存的动态分配是使用malloc和free来开辟和释放内存资源,而在C++中,出了可以利用和C语言中同样的malloc和free之外,还可以使用new和delete关键字来开辟和释放内存。需要注意的是,malloc和free,new和delete需要配对使用。malloc和new的区别 1.malloc是一个函数,原型为extern void *malloc(unsigne原创 2013-10-23 21:31:06 · 796 阅读 · 0 评论 -
MFC控件的使用
MFC控件的使用MFC 对话框设计问题(控件的使用) 1.如何在对话框上添加图片利用MFC中的Picture Control控件,步骤如下:在资源管理其中添加一个位图文件;在对话框中添加一个Picture Control控件,并将该控件Type属性选择为Bitmap;随后,在Image属性中选择添加的位图资源ID2.如何在对话框中显示表格实现类似excel的表格,以转载 2013-10-23 20:35:09 · 1382 阅读 · 0 评论 -
基于UDP的socket通信
TCP/IP协议栈中的用户数据报协议UDP提供简单的、不可靠的、无连接的数据传输服务。利用UDP服务的套接字编程不需要建立连接,所以每次发送和接收的数据报都包含了发送方和接收方的地址信息。UDP套接字并没有发送缓存,缓存大小仅仅表示写到套接字的UDP数据报的大小上限。应用进程的数据在沿协议栈向下传递时,以某种形式复制到内核的缓存中,当数据链路层把数据传出去后这个副本就被丢弃。转载 2013-10-30 19:09:39 · 890 阅读 · 0 评论 -
MFC中列表控件的使用
列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:L转载 2013-10-30 18:45:29 · 2233 阅读 · 0 评论 -
afxmessagebox与MESSAGEBOX的区别
如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便。 但是在WIN32 SDK的情况下只能使用MESSAGEBOX。MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox().afxmessagebox更多的时候是用于调试AfxMessage转载 2013-11-13 22:52:53 · 1047 阅读 · 0 评论