Windows编程
文章平均质量分 64
LL-Studio
这个作者很懒,什么都没留下…
展开
-
Visual C++编程之MFC概述
学习Visual C++,自然就离不开MFC这个东西。MFC全称Microsoft Foundation Classes,也就是微软基础类库。它是VC++的核心,是C++与Windows API的结合,很彻底的用C++封装了Windows SDK(Software Development Kit,软件开发工具包)中的结构和功能,还提供了一个应用程序框架,此应用程序框架为软件开发者完成了一些例行化的原创 2012-08-09 13:48:59 · 1323 阅读 · 0 评论 -
汉字编码中区位码、国标码和机内码的区别
区码和位码分别加20H后转换成内码例如:区位码5448,其中区码54(十六进制36H)位码48(十六进制30H)36H+20H->56H,30H+20H->50H,所以该字国标码为5650H 每个汉字有个二进制编码,叫汉字国标码。 在我国汉字代码标准GB2312-80中有6763个常用汉字规定了二进制编码。 每个汉字使用原创 2012-09-20 22:03:20 · 19075 阅读 · 0 评论 -
MFC中Listbox控件的简单使用
MFC中listbox控件是为了显示一系列的文本,每个文本占一行。Listbox控件可以设置属性为:LBS_CHILD :(默认)子窗口LBS_Visible :(默认)可视LBS_Multiplesel :可选择多行LBS_Extendedsel :可以使用shift或ctrl选择多行LBS_SORT:所有行按字母顺序进行排序转载 2012-09-20 21:59:59 · 46887 阅读 · 0 评论 -
C++ 标准库的 locale 类用法
原来一篇总结了下 C 标准库的 setlocale() 用法,这篇讲解的是 C++ 标准库中 locale 类的用法。参考:cplusplus.com 上关于标准 C++ 中国际化支持的参考:Localization libraryLocale classThe C++ Standard Library(Nicolai M. Josuttis,侯捷译)第 14转载 2012-09-20 22:06:14 · 959 阅读 · 0 评论 -
VC++中2进制,10进制,16进制相互转换
摘要:关于VC++中2进制,10进制,16进制相互转换的深入研究。步骤/方法 下面是一个图例表示转换过程使用的函数BinToDec CString::Format2 --------------------------> 10 ---------------------------> 162 DecToBin strtoul 2转载 2012-09-20 22:04:12 · 8117 阅读 · 0 评论 -
字符集与编码方式解惑
1、什么是【locale】?【locale】指一个程序或者操作系统所处的国家、字符集、时间显示的格式、货币符号等。在C标准库的locale.h文件中定义了常量LC_ALL(全部locale项)、LC_COLLATE(排序)、LC_CTYPE(语言符号)、LC_MESSAGES、LC_MONETARY(货币符号)、LC_NUMERIC、LC_TIME(日期格式)等。locale是linux系转载 2012-09-20 12:32:40 · 5302 阅读 · 0 评论 -
汉字编码对照表(gb2312/unicode/utf8)
一、汉字编码的种类 汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。 1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占6763个。我们平时说6768个汉字,实际上里边有5个编码为空白,所以总共有转载 2012-09-20 12:14:10 · 2409 阅读 · 0 评论 -
15本经典C、C++、MFC、VC++教程与开发资料
15本经典C、C++、MFC、VC++教程与开发资料15本经典C、C++、MFC、VC++教程,都是pdf完整版的C++ Primer第三版(中文pdf高清完美版,1043页)点击下载C++实例教程(pdf版)点击下载More Effective C++ 教程点击下载转载 2012-09-20 12:28:42 · 2914 阅读 · 0 评论 -
MFC中定时器的使用
巧妙地使用定时器能达到意想不到的效果,写界面的时候能实现渐变,也能帮助多线程控制等我们知道,在VC的MFC中,已经为我们封装好了很多全面和强大的函数集,所以在MFC编程时,巧妙地调用MFC函数库可以为我们省去很多麻烦。其中定时器也可以在MFC程序中很好地利用。在MFC中和定时器相关的有三个函数:1.设置定时器(定义一个定时器的属性): SetTimer( UINT n转载 2012-09-24 21:06:48 · 1188 阅读 · 0 评论 -
静态链接库与动态链接库(中)
五、认识动态链接库动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了转载 2012-10-26 22:23:45 · 749 阅读 · 0 评论 -
Visual C++编译错误:error C2220: 警告被视为错误 - 没有生成“object”文件
产生这种错误的原因是:原因是该文件使用的编码格式与当前系统对应的代码页格式不一样,例如原文件的代码页为unicode或utf-8,而我们系统中的代码页为中文gb2312-936。解决方案:(查看当前系统使用的代码页,使用cmd命令:chcp)1. 启动Microsoft Visual Studio,文件->打开->选择该cpp,然后在文件->高级保存选项->编码,选择当前系...原创 2018-05-06 22:19:45 · 8911 阅读 · 0 评论 -
ON_COMMAND ON_MESSAGE ON_NOTIFY区别与联系
ON_COMMAND是菜单和工具栏项处理消息的宏 ON_MESSAGE是处理自定义消息的宏 ON_NOTIFY 是控件向其父窗口发送消息处理的宏对这几个消息的理解要先了解一下Window消息的背景。 在Windows3.1里,控件会将mouse, keybord等等的消息通知它的父窗口, 使用的消息就只有WM_COMMAND, 事件种类和控件ID被包含在wParam中, 控件的句柄包含在lP转载 2015-09-22 20:17:19 · 603 阅读 · 0 评论 -
#pragma 预处理指令详解
在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中par转载 2015-09-22 20:01:47 · 555 阅读 · 0 评论 -
VC_SkinMagic使用方法总结
一直以来总想为自己用VC6做的程序美容一下,于是便找到这款skinmagic,虽然网上有许多关于此软件的使用说明,但实际使用过程中总会遇到一些问题,经过反复摸索和总结,于是便有了此文,希望对您有所帮助。 使用步骤:另附自己找到的builder2.3版本1。把SkinMagicLib.h, SkinMagicLibMT6.lib, SkinMagicLibMD6.lib放到你转载 2015-09-09 10:39:26 · 1508 阅读 · 0 评论 -
CloseHandle()函数的使用?
文章来自: http://www.cnblogs.com/cryinstall/archive/2011/08/06/2280830.htmlCloseHandle()函数的使用??很多程序在创建线程都这样写的:............ThreadHandle = CreateThread(NULL,0,.....);CloseHandel(ThreadHandle转载 2015-09-02 18:15:23 · 809 阅读 · 0 评论 -
静态链接库与动态链接库(下)
七、动态地加载和调用动态库中的函数在VC中new一个名为dllCall的Win32 Console Application工程,并将上面生成的dllTest.dll文件拷贝到dllCall的工程子目录下。dllCall工程仅包含一个main.cpp文件,其源代码如下::#include #include typedef int(*lpAddFun)(int, int转载 2012-10-26 22:24:21 · 648 阅读 · 0 评论 -
静态链接库与动态链接库(上)
一、分别编译与链接(Linking) 大多数高级语言都支持分别编译,程序员可以显式地把程序划分为独立的模块或文件,然后每个独立部分分别编译。在编译之后,由链接器把这些独立的片段(称为编译单元)“粘接到一起”。(想想这样做有什么好处?) 在C/C++中,这些独立的编译单元包括obj文件(一般的源程序编译而成)、lib文件(静态链接的函数库)、dll文件(动态链转载 2012-10-26 22:22:22 · 791 阅读 · 0 评论 -
静态链接库与动态链接库导出函数详解(Windows)
文章来源:http://hi.baidu.com/yueyemijing/blog/item/b0a3f500f932c181e850cd07.htmlMSDN资料:http://msdn.microsoft.com/zh-cn/library/d91k01sh(VS.80).aspxhttp://pcedu.pconline.com.cn/empolder/gj/vc/0转载 2012-10-26 21:44:39 · 1882 阅读 · 0 评论 -
MFC中UpdateData( bool b)函数的用法---控件变量与数值
MFC中UpdateData( bool b)函数的用法(ZT)UpdateData只有一个BOOL类型的参数,UpdateData(FALSE)一般用于对话框控件连接的变量值刷新屏幕显示;UpdateData(TRUE)用于获取屏幕数据到对话框控件连接的变量中。 具体地说: UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。 Up转载 2012-09-20 11:41:34 · 5575 阅读 · 0 评论 -
MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
combo box控件用法:下拉选择控件,首先将控件拖动到你需要使用控件的地方,用ClassWizard为它关联一个变量,我们注意到变量类型是CString型的。右击属性,General中可以设置一般属性类容Data中可以设置该控件下拉选择的内容,Styles中设置combo box控件风格,Extended Styles设置扩展风格,主要的设置在Data中,Data中设置了下拉菜转载 2012-09-20 11:40:22 · 2070 阅读 · 1 评论 -
Scintilla使用(编辑器篇)(1) - 简介
Scintilla是一个开源的编辑组件,它不仅具有通常的编辑功能,而且还提供了语法样式、代码折叠、标签、代码自动完成和提示等功能。 Windows版本的Scintilla,是一个标准的Windows组件,用户可以通过SendMessage函数发送消息,与其进行交互。SendMessage函数接口如下所示:LRESULT SendMessage( HWND转载 2012-08-23 16:58:24 · 2724 阅读 · 0 评论 -
插件及可扩展性的理解
插件其实就是基于动态库的软件扩展技术;http://blog.csdn.net/libbyliugang/article/details/1666006插件技术有三个核心:动态库技术,面向接口编程技术,运行时对象查找和生成.动态库技术: 一个插件包就是一个动态库,每个动态库中可以导出很多个不同的接口的插件.每个导出的对象就是所谓的插件,没什么神奇的.面向接口编程技转载 2012-08-23 16:50:00 · 1114 阅读 · 0 评论 -
Scintilla开源库使用指南(编辑器篇)(二)
Scintilla开源库使用指南(二)上一篇文章介绍了Scintilla的基本应用,这里继续学习Scintilla更多的控制命令和实现细节,完善我们的编辑器;页边(Margins)和标记(Markers)代码折叠是现代IDE和代码编辑器的必备功能,如果现在推出一个不支持折叠的编辑器,那是要被BS地~~。为了不被BS,很有必要先“研究”一下Scintilla的转载 2012-08-23 16:38:13 · 5541 阅读 · 0 评论 -
Scintilla使用(编辑器篇)(2) - 全文检索和修改
在Scintilla中,每个字符后面,都跟有一个表示字符样式的字节,字符字节和样式字节一起组成一个字符单元。样式字节的8个bit,分为两部分:字符样式和字符指示器。通过SCI_INDICATORFILLRANGE消息可以设置一段文本的字符指示器。默认低5位为字符样式,高3位为字符指示器。因此,可以有32种字符样式。3个互相独立的字符指示器,可以用来指示语法错误、不赞成的名字和坏的缩进等信息。可以使转载 2012-08-23 16:59:55 · 3648 阅读 · 0 评论 -
Scintilla开源库使用指南(编辑器篇)(一)
Scintilla开源库使用指南(一)摘自:http://www.cnblogs.com/superanyi/archive/2011/04/07/2008632.html Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成(code completion)和调用提示(call tips)。能包含转载 2012-08-23 16:32:21 · 9133 阅读 · 3 评论 -
afx_msg作用与afx_前缀说明
Afx前缀是微软MFC一个小组的名称简写,并没有别的意义。 MFC的很多代码,包括全局函数名、宏、头文件名都使用了"Afx"。 Afx*.h是一组MFC的核心头文件, 比如: afxwin.h 定义MFC的核心和标准组件 afxext.h 定义MFC的扩展 afxdisp.h 是MFC自动化支持的类定义头文件 afxdb.h 是MFC的ODBC类封装AFX_msg 在转载 2012-08-22 17:19:30 · 7102 阅读 · 2 评论 -
语法高亮编辑控件Scintilla在MFC中的简单使用
项目中要使用代码编辑器,搜索之后,发现了强大的编辑器控件Scintilla。摘自:http://www.qingfengju.com/article.asp?id=14 1.简介Scintilla是一款开源的语法高亮编辑器控件,官方网站:http://www.scintilla.org/。Scintilla是最优秀的编辑控件之一,实现了语法高亮,代码折叠,书签,自动完成等等转载 2012-08-22 15:16:30 · 6160 阅读 · 0 评论 -
VS2010中菜单设置于快捷键设置
我们在MFC中使用菜单时,都想使菜单项有快捷键,比如Ctrl+B等,在VC++2008或者VC++2010上面,我们会在子菜单项的Caption里输入菜单名以及额外输入(&I)\tCtrl+I,就能够显示如 发送(I) Ctrl+I 这样子菜单项,然后在Accelerator里面绑定一下快捷键及菜单ID就可以了。 但是问题出现了,在VC++2008和VC++2010上面没有效果转载 2012-08-29 16:40:24 · 7110 阅读 · 1 评论 -
Scintilla使用(编辑器篇)(3) - 搜索和替换
Scintilla提供了搜索和替换功能,它可以进行普通查找和正则表达式查找。Scintilla的正则表达式,只提供了很有限的一些基本功能。 在进行文本搜索时,需要设置搜索标志:搜索标志说明SCFIND_MATCHCASE匹配大小写SCFIND_WHOLEWORD匹配整个单选转载 2012-08-23 17:00:53 · 3563 阅读 · 0 评论 -
Windows下使用Scintilla
How to use the Scintilla Edit Control in windows?This should be a little step by step explanation how to use Scintilla in the windows environment.How to create Scintilla Edit Control?First o转载 2012-08-27 21:06:55 · 2248 阅读 · 0 评论 -
VC中Combo Box控件使用
一、如何添加/删除Combo Box内容1. 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。2. 在程序初始化时动态添加如: //控件内容初始化CString strTemp;((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//消除现有所有内容转载 2012-09-19 15:33:55 · 2193 阅读 · 0 评论 -
TeeChart绘图控件 - 之三 - 提高绘图的效率
TeeChart是个很强大的控件,其绘图能力之强,其他控件难以比拟,但是有个问题就是他的绘图速度,其实TeeChart绘图速度还是很快的,只是大家一直都没正确运用其功能所以导致绘图速度慢的假象。下面说说影响绘图速度的两个主要因素1、当点数特别多时不需要绘出全部点(性能提升不大)TeeChart绘图控件 - 之一文章里已经讲过,可以设置只绘出部分点。设置方法如图:转载 2012-09-19 09:01:23 · 25635 阅读 · 3 评论 -
Win32串口API
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。转载 2012-09-18 16:56:51 · 1169 阅读 · 0 评论 -
VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图,柱状图)
1.前期准备 具体可见VS2010 使用TeeChart绘图控件 - 之一 控件和类的导入1. 1 添加TeeChart控件,给控件添加变量m_TeeChart 添加TeeChart控件,右击控件,选择添加变量,vs会自动给我们引入CTchart1这个类,但是只有这个类,我们是远远不够的,需要添加teechart其他相关的类,添加方法在之前已经讲过,不再重复转载 2012-09-19 09:00:33 · 61173 阅读 · 15 评论 -
Windows核心编程 第3章 内核对象
Windows核心编程 第3章 内核对象3.1 什么是内核对象内核对象就是内核中的一块内存,是一个结构,并且只能由内核对象访问,应用程序只能通过调用Windows提供的函数来操作内核对象。每个内核对象都有相同的部分比如安全属性和使用计数器。3.1.1 内核对象的使用计数内核对象中的使用计数和进程无关,当进程第一次创建某个内核对象时候使用计数变为1转载 2012-09-18 16:59:03 · 1095 阅读 · 0 评论 -
Windows核心编程 第4章 进程
Windows核心编程 第4章 进程进程由两部分组成:操作系统管理进程的内核对象。存放该进程 的统计信息的地方。地址空间,包含可执行模块和DLL模块的代码和数据。动态分配的内存(线程堆栈和堆)。进程是不活泼的,进程当中至少要有一个线程,每个线程要有自己的堆栈和自己的CPU寄存器。CPU通过算法给每个线程分配时间片的办法来造成假象是在同时工作(多核转载 2012-09-18 16:58:11 · 990 阅读 · 0 评论 -
MFC对话框中处理Enter或Esc按键事件方法
建立好的MFC的对话框,按下Enter或Esc时,系统会调用”默认“事件处理函数,也就是OnOK(),倘若自己的CFormView子类或者CDialog子类没有重写OnOK()函数,则会调用父类的OnOK,其结果是关闭界面。要屏蔽Enter键或Esc退出的功能,只需要将在CDialog中重写ONOK()函数即可。而要实现默认为“确定”功能,下面两种方法供参考:1.采用ClassWizard进行原创 2012-09-18 13:58:21 · 19711 阅读 · 2 评论 -
VS2010 使用TeeChart绘图控件 - 之一 - 控件和类的导入
vs2010的用法和vc6有很大的不同,特别是在一些函数调用那里,当然。控件导入也是很不一样的安装好控件后就可以在工程里加入teechart控件了加入方法有如下几种:1.添加Teechart控件1.1 插入Teechart控件1.1.1 插入控件新建一个对话框工程,在对话框上点击鼠标右键,弹出的菜单里选择“插入ActiveX控件”转载 2012-09-19 08:59:12 · 26839 阅读 · 7 评论 -
[NSIS]-如何将自己的程序打包成一个安装程序
假如你有一个很棒的程序,能实现许多有趣的功能,你该怎么分享给你的好友呢,如果让你把庞大的工程传给他,我的天,那得传到什么时候?于是,学会打包程序也成为程序员的一个必备技能了在这里我用的是:NSIS(Nullsoft Scriptable Install System)+NIS Edit,下载请自行百度。1、安装完毕,打开NIS Edit,点击文件,选择新建脚本:向导(W),如下图...转载 2019-08-10 13:46:59 · 1316 阅读 · 0 评论