编程基础
qsycn
这个作者很懒,什么都没留下…
展开
-
Virtual Keys, Standard Set
/* * Virtual Keys, Standard Set */#define VK_LBUTTON 0x01#define VK_RBUTTON 0x02#define VK_CANCEL 0x03#define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */#if(_转载 2009-07-12 20:05:00 · 963 阅读 · 0 评论 -
积累的VC编程小技巧之编辑框
1.如何让对话框中的编辑框接收对话框的消息////////////////////////////////////////////////// 如何让对话框中的CEdit控件类接收对话框的消息////////////////////////////////////////////////1、在对话框中增加一个ID 为IDC_EDIT1的CEdit1控件2、通过ClassWizard 生成一个基转载 2009-06-19 10:23:00 · 730 阅读 · 0 评论 -
VC 如何获取和改变一个RichEdit控件内的字体
首先了解一下CHARFORMAT结构SetDefaultCharFormat( CHARFORMAT& cf ); typedef struct _charformat { UINT cbSize; _WPAD _wPad1; DWORD转载 2009-06-19 13:39:00 · 5512 阅读 · 1 评论 -
CFont与LOGFont、HFont是什么关系,如何建立联系?
CFont ftFolders; CFont ftItems; CFont ftHotItems;LOGFONT lf; HFONT hf = (HFONT) GetStockObject(DEFAULT_GUI_FONT); CFont * gf = CFont::FromHandle(hf); gf->GetLogFont(&lf); lf.lfUnderline = TRUE; f转载 2009-06-20 16:07:00 · 10142 阅读 · 0 评论 -
CRichEditView或CRichEditVCtrl的资料
CRichEditViewCObject └CCmdTarget └CWnd └CView └CCtrlView └CRichEditView 一个“带格式编辑控件”是一个窗口,在这个窗口中用户可以输入和编辑文本。文本可以被赋予字母或段落的格式化,也可以包括嵌入的OLE对象。带格式编辑控件为格式化文本提供了设计界面。但是,应用程序必须实现需要的用户部件,以使格式化操作对用户来说可用。CRichE转载 2009-06-20 18:28:00 · 3109 阅读 · 0 评论 -
VC 位图中相关对象的互相转换
一、BITMAP与CBitmap (1) BITMAP --> CBitmap HBITMAP hBitmap; CBitmap bm; CBitmap* pBitmap; ... pBitmap= bm原创 2009-06-20 14:24:00 · 906 阅读 · 0 评论 -
Richedit使用大全
一.常见问题a.可以编译,不能执行的AfxInitRichEdit();b.升级默认的Riched版本(默认的有一些bug),如可在InitInstance中添加LoadLibrary("RICHED20.DLL") 最后注意 FreeLibrary 如果是CRichEditView基类的可用BOOL CXXXXXXView::PreCreateWindow(CREATESTRUCT& cs){/转载 2009-06-19 10:34:00 · 1522 阅读 · 0 评论 -
如何在对话框类中访问父窗口中的数据
对话框是VC++ 编程中一种经常用到的资源,同时它也是一种非常便捷地与用户沟通信息的方式。对话框基本上可以分为两大类:模态对话框和非模态对话框。如何从对话框中访问其父窗口中的数据将是我们下面要讨论的问题。 一。父窗口类为 CMainFrame , CChildFrame 和 CDialog 类: 当父窗口为主边框窗口类,子边框窗口类和对话框类时,我们可以在调转载 2009-06-20 11:58:00 · 1152 阅读 · 0 评论 -
Visual C++头文件互相包含的解决方案
现在我总结一下问题的解决过程和方法: 方法一:利用友元类我一共有两个类,由于要在两个类的头文件里互相应用对方,所以,在每一个类的头文件里面现包含另一个类的头文件,然后在该类的定义中声明另一个类为友元类。如下: #include "B.h" class CA: public CDialog { friend class CB; p转载 2009-09-28 14:50:00 · 1822 阅读 · 0 评论 -
变长结构体的几种方法
定义结构体时,往往其成员中含有变长的元素,可用以下方法解决 一、定义变长数组struct CToolBarData{ WORD wVersion; //版本号 ==1 WORD wWidth; WORD wHeight; WORD wItemCount; //给出后面有几项 WORD aItems[1];}abc; 将结构体最后一个元素定义为含有一个元素的数组,倒数第二个成员定原创 2009-09-30 16:38:00 · 2322 阅读 · 0 评论 -
const int *p,const * int p,int const *p
1 从const int i 说起 有了const修饰的ic 我们不称它为变量,而称符号常量,代表着20这个数。这就是const 的作用。ic是不能在它处重新赋新值了。 认识了const 作用之后,另外,我们还要知道格式的写法。有两种:const int ic=20;与int const ic=20;。它们是完全相同的。这一点我们是要清楚。总之,你务必要记住const 与int哪转载 2009-10-14 11:35:00 · 645 阅读 · 0 评论 -
c语言获取时间
C语言中如何获取时间?精度如何?1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精确到毫秒转载 2009-11-23 15:16:00 · 1282 阅读 · 0 评论 -
Visual C++常用数据类型转换详解
说明:本文纯粹是总结一下有关类型转换的贴子,本人并未对所有方法都做测试,仅仅是为了给大家一个参考。读者层次:初学int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_转载 2009-11-23 16:04:00 · 2955 阅读 · 0 评论 -
UTF-8, Unicode, GB2312格式串转换之C语言版
(申明:此文章属于原创,若转载请表明作者和原处链接 ) /* author: wu.jian (吴剑) English name: Sword /* date: 2007-12-13 /* purpose: 知识共享 这几天工作上碰到了UTF-8转GB2312的问题,而且是在嵌入式的环转载 2010-03-02 09:19:00 · 1000 阅读 · 0 评论 -
sscanf函数的高级用法
<br />sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。<br />函数原型:<br />int scanf( const char *format [,argument]... );<br />其中的format可以是一个或多个:<br />{%[*] [width] [{h|l|I64|L}] type|'_'|'/t'|'/n'|非%符号},<br />注:{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。<br转载 2011-04-16 14:48:00 · 605 阅读 · 0 评论 -
以太网帧FCS校验码CRC32的三种实现方法
提供了三种实现方法。方法一:按位计算CRC32校验码。方法二:使用非翻转的查找表进行快速计算,按字节计算CRC32校验码。但计算过程中有位翻转操作,计算速度慢。方法三:使用翻转的查找表进行快速计算,按字节计算CRC校验码。速度极快。#include #include #include #define alt_8 char#defin转载 2012-08-08 15:32:58 · 6411 阅读 · 2 评论 -
VC实现类似Excel文件夹式样的标签控制
众所周知,Excel中一个工作簿可以有多个工作表单(worksheet),每个表单可以通过左下角的标签控制灵活切换(如图一),Visual C++也有类似的控制,如在Output窗口中设置有:Build,Debug,Find in Files和Results等标签控制(如图二)。 图一Excel中的标签控制 图二 Visual C++中的标签控制 我们将这种界面称为文件夹式样的标签控制,转载 2009-06-17 09:24:00 · 1263 阅读 · 0 评论 -
VC定时器SetTimer的用法
SetTimer函数的用法 1 )用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimerFunc // 回调函转载 2009-06-15 08:53:00 · 1456 阅读 · 1 评论 -
MFC 自定义消息四步曲
1. 定义全局变量或宏#define WM_MyMessage (WM_USER + n) n为数字到少大于100或者用 const UINT WM_MYMESSAGE = WM_USER + n一般可以加在stdafx.h 或resource.h 或*.app.h中。他们都是全局变量头文件所以都可以.2. 在所在类的*.H文件增加消息函数声明.protected://{{AFX_转载 2009-06-14 22:35:00 · 883 阅读 · 0 评论 -
c如何实现可变参数
在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法: printf("%d",i);转载 2009-07-13 15:59:00 · 878 阅读 · 2 评论 -
CString,int,string,char*之间的转换
CString,int,string,char*之间的转换................................................................《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”/0“的字符串数组 2,c_str(),返回有”/0“的字符串数组 3,copy() .转载 2009-07-17 16:24:00 · 531 阅读 · 0 评论 -
VC:CString用法整理
1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。 说明:此成员函数用来测试一个CString 对象是否是空的。 示例: 下面的例子说明了如何使用CString::IsEmpty。 // CString::IsEmpty 示例 CString s; ASSERT(转载 2009-07-22 11:49:00 · 511 阅读 · 0 评论 -
extern "C"的用法解析
extern "C"的用法解析 http://blog.sina.com.cn/u/494a1ebc010004g5http://www.cnblogs.com/xulei/archive/2006/11/12/558139.html C++中extern “C”含义深层探索 1.引言 C转载 2009-05-20 15:33:00 · 445 阅读 · 0 评论 -
C语言宏定义详解
我们可能要定义很多常量( 不管是放在源文件还是头文件 ),那么我们有时考虑定义某个常量时,我们就必须返回检查原来此常量是否定义,但这样做很麻烦.if defined宏正是为这种情况提供了解决方案.举个例子,如下: #define .... #define .... ........ ........ #define a 100 ....... 此时,我们要检查a是否定义(假设我们已经记不着这点了)转载 2009-07-30 15:43:00 · 1256 阅读 · 0 评论 -
Ascii码表(全)
ASCII Table (7-bit)(ASCII = American Standard Code for Information Interchange) Decimal Octal Hex Binary Value ------- ----- --- ------ ----- 000 000转载 2009-05-20 17:11:00 · 697 阅读 · 0 评论 -
函数指针 (*(void (*)( ) )0)( ) 解析
概述 在很多情况下,尤其是读别人所写代码的时候,对 C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。 问题:声明与函数 有一段程序存储在起始地址为 0的一段内存上,如果我们想要调用这段程序,请问该如何去做? 答案 答案是 (*(void (*)( ) )0转载 2009-08-03 09:15:00 · 731 阅读 · 0 评论 -
VC用法汇总
VC用法汇总(1)如何通过代码获得应用程序主窗口的指针?主窗口的指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2)确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Example:TC转载 2009-08-04 11:17:00 · 7218 阅读 · 1 评论 -
C语言代码优化方案
C语言代码优化方案1、选择合适的算法和数据结构选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。 在许多种情况下,可以用指针运算代替数组索引,这样做常常能产生又快又短的代码。与数组索引相转载 2009-08-03 09:44:00 · 912 阅读 · 0 评论 -
嵌入开发中C可以提高效率和减少代码size的方法
1 switch-case 语句。在程序中经常会使用switch-case语句,每一个由机器语言实现的测试和跳转仅仅是为了决定下一步要做什么,就浪费了处理器时间。为了提高速度,可以把具体的情况按照它们发生的相对频率排序。即把最可能发生的情况放在第一,最不可能发生的情况放在最后,这样会减少平均的代码执行时间。 2 全局变量。使用全局变量比向函数传递参数更加有效率,这样做去除了函数调用前参数入栈转载 2009-06-01 14:23:00 · 1725 阅读 · 0 评论 -
MFC应用程序中指针的使用
1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7) 获得状态栏与工具栏变量 8) 在Mainframe获得菜单指针 9) 在任何类转载 2009-06-09 14:25:00 · 437 阅读 · 0 评论 -
Microsoft Platform SDK 选择
Windows Platform SDK Download Sites:Windows Server 2003 PSDK February 2003 Edition,可以和VC6一起使用、并支持各种目标OS的最后一个版本的SDK。 This edition of the SDK supports development for the following platforms: Wi转载 2009-08-17 14:14:00 · 1133 阅读 · 0 评论 -
VC下显示位图的几种方法
VC下显示位图的几种方法总结一下关于位图的几种用法。说到这还是开头给大家介绍一下,有关位图的知识吧,以及对于我们比较有用的几个关于位图的结构体。一.位图结构如下: ---- 一、BMP文件结构 ---- 1. BMP文件组成 ---- BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 ---- 2. BMP文件头 ---- BMP文件头数据结构转载 2009-06-11 20:38:00 · 801 阅读 · 0 评论 -
VC 中获得当前路径的方法
1.//以下代码来自CSDN 2004 VC编程经验总结{CString strPath;GetCurrentDirectory(MAX_PATH,strPath.GetBuffer(MAX_PATH));strPath.ReleaseBuffer();return strPath;} 2.//以下代码来自TZ MFC.NET Primer 1.01CStrin转载 2009-06-16 16:47:00 · 7249 阅读 · 0 评论 -
VC读写INI文件
我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTS转载 2009-06-16 16:55:00 · 705 阅读 · 0 评论 -
用source insight宏自动加入或去除C注释
用source insight宏自动加入或去除C注释 收藏 我们的项目是主要在linux下的存C开发,SI这个工具无疑是必须的。但是手工加入注释很不方便,网上都是C++的注释风格,自己写了一个C的,共享一下,有兴趣的拿去修改一下。/* the info like: by guixue 2009-8-19 */ macro getCommentInfo()转载 2012-10-30 15:02:00 · 1627 阅读 · 0 评论