1. 消除: warning C4996:’sprintf’: This function or variable may be unsafe. Consider 的方法:
    http://blog.csdn.net/lllxy/article/details/6859289
    最简单的可以用的方法:
    选项Project -> Configuration Properties -> C/C++ ->Preprocessor -> Preprocessor Definitions
    添加_CRT_SECURE_NO_DEPRECATE_SCL_SECURE_NO_DEPRECATE
    或用sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format [argument]...);替换

  2. vc2008错误:不能将参数 1 从“const char []”转换为“LPCTSTR”
    http://90chuanlin.blog.163.com/blog/static/4042992920114233169866/
    是因为vs 2008之后项目使用的是unicode字符集,在“项目-属性”中将”unicode字符集”换成”多字节字符集”就行了,也可以将文本内容放在_T()里面,不变字符集。

  3. unicode编码与多字节编码

  4. oncreat不行要注册MSChart控件

  5. MsChart实现无闪烁动态曲线(MFC)
    http://www.cnblogs.com/wy-wangyan/archive/2011/05/13/2045851.html

  6. VS2010 VC Project的default Include设置
    http://blog.csdn.net/jeffchen/article/details/5491435

  7. ADC采样,DAC输出sin

  8. CString函数大全,去掉最后一个字符

  9. CString转float 要考虑字符编码问题 _tstof

  10. vc中如何对float型数保留两位小数?
    http://liangjun1800.blog.163.com/blog/static/349705912009013843523/

    loat fMoney = 1.12345; 
    fMoney = ((long)(fMoney*100)/100.0);

    或者

    float fMoney = 1.12345;
    CString strMoney;
    strMoney.Format("%.2f",fMoney);
    fMoney = atof(strMoney);
  11. 绘图闪烁问题:双缓存法

  12. m_Picture在初始化之后不能使用m_Picture.BringWindowToTop(); m_Picture.ShowWindow(SW_NORMAL);进异常中断,由以前的类的成员变量改成全局的static CStatic m_Picture;就行了。

  13. 靠自己是最靠谱的,写程序有感(参考别人的程序,特别是很古老的程序)

  14. xx.MoveWindow 时候 ASSERT(::IsWindow(m_hWnd))?
    动态加载一个窗体窗体里面有一些控件。在重载窗体的onsize函数后对控件的大小进行修改。
    http://blog.csdn.net/vip_wanrui/article/details/6550607
    解决办法是
    if (xxxx.GetSafeHwnd()!=NULL)//必须先判断hwnd是否已经生成。。。。

  15. 添加状态栏
    static UINT BASED_CODE indicators[]=
    //状态栏的指示器列表,如有未定义的字符串名,需在Resource View的String Table中添加定义

  16. 添加状态栏导致退出时进入异常中断。
    改成全局的static f=(0:length(y)-1)’*fs/length(y);%进行对应的频率转换点数,及采样率

  17. 自定义控件(12,16)Picture控件和状态栏

  18. ONSize 时要考虑最小化与最大化或尺寸拉伸,分开处理

  19. 用GetDC()得到的DC, 必须调用ReleaseDC() 用CreateDC()创建的DC, 必须调用DeleteDC()
    一般情况下,上面这个代码也能够工作,就是有时要报一点
    CHandleMap::RemoveHandle(HANDLE h)异常,跟踪进代码也看不出啥问题.
    区别:
    ReleaseDC()仅是释放对DC的引用
    DeleteDC()是删除DC对象, 使用GetDC()的时候,明显的这个DC不是我们自己创建的,使用DeleteDC()的话就会将别人(通常是MFC框架)创建的DC干掉,这样当别人要使用自己创建的DC时,就会产生异常了.
    ReleaseDC()恰好解决这个问题,它仅是释放一个引用,告诉创建者DC,我已经不用了.
    最小化,最大化,尺寸拉伸异常中断问题解决!!(因为最小化,最大化,尺寸拉伸时都要调用DC来重绘)

  20. 添加//DDX_Control(pDX, IDC_PICTURE, m_Picture);  //自定义的picture控件的问题
    添加编辑框的问题只能用GetDlgItem(IDC_Freq),不能用CEdit m_Freq;

  21. 添加有字符显示的控件 就有问题,拷贝的图像从那个控件开始显示 原来自定义的IDC_PICTURE的ID号和刚添加的控件ID重复相同了!!!!!!!!!!!!!!!!!

  22. InitInstance Run-Time Check Failure #2 - Stack around the variable ’dlg’ was corrupted.

    缓冲区溢出原因终于找到:之前是,不是=

    //一组数据接收完成显示
    if(Data_Index = m_Chart.GetRowCount())
    但改为=数据就少了一个,图向右移
    最终原因:
    m_Data[]数组溢出越界
    由m_Data[Data_Length]改为m_Data[Data_Length+1];问题解决。