
技术
yuxiao1121
性格怪癖,时好时坏;为人懒惰,楚帅性格;
展开
-
锁定CListCtrl的首列或前几列
原文链接:http://jingyan.baidu.com/article/5bbb5a1b38af1113eaa17910.htmlCYJHeaderCtrl是继承CHeaderCtrl的自定义类,重载OnChildNotify,以下代码可以禁止指定列数的列被拖动改变列宽,从而实现锁定例的功能。BOOL CYJHeaderCtrl::OnChildNotify(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pLResult){ //原创 2021-03-11 08:52:16 · 666 阅读 · 0 评论 -
利用HDN_LAYOUT改变CListCtrl表头高度
添加两个自定义类:CYJListCtrl:CListCtrl和CYJHeaderCtrl:CHeaderCtrl1、在YJListCtrl.h中加入:#include "YJHeaderCtrl.h"2、定义成员变量:private: CYJHeaderCtrl m_headerCtrl;3、定义成员函数:public: void SetHeaderHeight(int nHeight);4、重载PreSubclassWindow,在YJListCtrl.cpp中原创 2021-03-10 16:22:51 · 292 阅读 · 0 评论 -
查询计算机上可用端口的两种方法
在设备远程控制中,经常需要搜索设备上已安装端口号,例如在“计算机”→“设备”能看到的端口(COM和LPT)。本文介绍的两种方法都是通过访问注册表实现的。方法一:仅查询端口号,如:COM1、COM2等HKEY hkey;LPCTSTR lpSubKey = _T("HARDWARE\\DEVICEMAP\\SERIALCOMM\\");long retopen = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, 0, KEY_READ, &原创 2020-07-07 09:17:02 · 4620 阅读 · 1 评论 -
Expression:_CtrlsValidHeapPointer(pUserData)
代码如下:UpdateData(TRUE);USES_CONVERSION;char *pChar = T2A(m_strCommand);strncat_s(pChar, 256, "\r\n", 2);……UpdateData(FALSE);Debug下出现上述错误,Release下则没有错误。经查,错误原因在于:strncat_s(pChar, 256, "\r\n", 2);...原创 2020-05-19 10:03:53 · 1248 阅读 · 0 评论 -
vc下通过文件路径加载bmp图片并显示
HBITMAP hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), "E:\\setting.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION); CBitmap bitmap; bitmap.Attach(hBitmap); BITMAP ...原创 2018-08-20 15:45:32 · 1563 阅读 · 0 评论 -
《21天学通Java(第7版)》——VC程序员的学习笔记1
第一章 Java基础1.2 面向对象编程 1、Java和VC一样都是面向对象(OOP)的编程语言。 2、Java独立于平台。即Java开发的程序无须修改便能运行在不同的计算环境中。Java 程序被编译成一种名为字节码的格式,而字节码可被任何带Java 虚拟机(JVM)的计算机或设备运行。您可以在Windows 10 机器上创建Java 程序,然后在Linux W...原创 2018-08-28 20:31:48 · 577 阅读 · 0 评论 -
《21天学通Java(第7版)》——VC程序员的学习笔记2
第2章 Java编程基础 这一章节的内容基本上与C是相同的,故只列出几许差异和个人认为需要注意的点。2.1 语句与表达式 同VC,C语言的程序员可以略过该节。2.2 变量和数据类型 1、有3 种变量:实例变量、类变量和局部变量。实例变量用于定义对象的属性。类变量定义类的属性,适用于类的所有实例。局部变量用于方法定义乃至方法中更小的语句块中。仅...原创 2018-09-03 11:20:09 · 972 阅读 · 0 评论 -
《21天学通Java(第7版)》——VC程序员的学习笔记3
第三章 对象 1、使用new创建对象,基本格式为:类名 实例名 = new 类名(初始化参数列表)。初始化参数列表中的参数个数和参数类型须和类的构造函数保持一致,否则将无法通过编译。(在C语言中,new创建的是一个指向实例对象的指针。) 2、使用运算符new,将创建给定类的实例,为它分配内存,调用给定类定义的一个特殊方法(构造函数)。 3、只有没有定...原创 2018-09-15 11:03:57 · 224 阅读 · 0 评论 -
CListCtrl隐藏某一列并不允许手动调整该列宽
1、将要隐藏列的列宽设置为0 m_ctrlList.SetColumnWidth(i, 0); //i为要隐藏的列的索引2、禁止手动调整列宽 添加HDN_BEGINTRACK事件响应函数: void CXXX::OnHdnBegintrackList(NMHDR *pNMHDR, LRESULT *pResult) {...原创 2019-08-08 21:18:10 · 1732 阅读 · 0 评论 -
日期倒推
vc中只提供了一个类CTimeSpan类根据“天”数来倒退日期,但在很多查询任务中需要用到倒推几个月或几年来获取起始时间,此时就不能简单的应用CTimeSpan类来实现了。网上没有找到相关的代码,就自己动手写了一下,下面四个函数分别实现倒推**天/**周/**月/**年,得到新的时间信息。CTime OnGetLastDays(CTime curTime, int nDays){原创 2013-12-07 21:24:05 · 4448 阅读 · 0 评论 -
名字空间
在论坛中看到一段代码,使用了名字空间,不明白,后去查了资料,总结如下:随着程序的复杂,应用程序将由多个源文件组成,而且多个开发者将开发和管理每个源文件,最后将组织和连接分开的多个文件以产生最终的应用程序。传统地,文件管理要求所有源文件中的名字必须分离相同的全局名字空间,这些源文件没有被封装在限定的名字空间中(也就是说不限制其范围,如函数体、类体、或转换单元),因此在连接分开的模块时原创 2008-06-27 20:33:00 · 557 阅读 · 0 评论 -
通过查询注册表,枚举所有串口,并加载到下拉列表中
//枚举所有串口HKEY hKey;LPCTSTR data_set = "HARDWARE\\DEVICEMAP\\SERIALCOMM\\";long retopen = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_READ,&hKey));if(retopen != ERROR_SUCCESS){DWORD原创 2012-03-28 19:55:03 · 802 阅读 · 0 评论 -
int main(int argc,char *argv[])中两个参数的说明
int mian(int argc,char *argv[])argc用来存储参数个数argv用来存放参数argc的值最小为1,argv[0]中存放的始终是该代码编译出来的应用程序全路径(很多地方都说是应用程序名,但在我实际运行后出来的结果是应用程序的全路径,不知道为什么会有这样的出入,目前还没仔细探究过)。如果在“运行”里输入: 程序路径 a b c则argc为4,argv[原创 2008-06-27 21:05:00 · 599 阅读 · 0 评论 -
非MFC DLL实例
新建,选择Win32 Dynamic Link Library,输入工程名testdll在建立的工程中新建头文件“testdll.h”和源文件“testdll.cpp”,代码如下//testdll.h#ifndef TESTDLL_H#define TESTDLL_H extern "C" _declspec(dllexport) int GetData(int a原创 2008-06-12 22:33:00 · 444 阅读 · 0 评论 -
非MFC DLL实例
新建,选择Win32 Dynamic Link Library,输入工程名testdll在建立的工程中新建头文件“testdll.h”和源文件“testdll.cpp”,代码如下//testdll.h#ifndef TESTDLL_H#define TESTDLL_H extern "C" _declspec(dllexport) int GetData(int a原创 2008-06-12 22:30:00 · 583 阅读 · 0 评论 -
DLL (Dynamic Link Library)
一、引言动态链接库在Windows中是非常重要的,几乎所有的内容都是以DLL的形式存在的。例如显示的字体和图标存储在GDI.DLL中;显示Windows桌面,处理用户输入所需要的代码被存储在User.DLL中;Windows编程所需要的大量的API函数存储在Kernel.DLL中。比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。有转载 2008-06-12 20:54:00 · 770 阅读 · 0 评论 -
文件的复制、移动与删除
//nIndex:標誌操作 0:複製 1:刪除 2:移動//strSourceDir: 被操作的文件//strDenstinationDir:複製或移動的目標路徑,刪除時該值為空void OnExecute(int nIndex, CString& strSourceDir, CString& strDestinationDir){DWORD errorCode;CS原创 2012-03-28 19:53:49 · 463 阅读 · 0 评论 -
指定目錄及其子目錄下的查找指定文件
void BrowseFile(CString& strDir, CString& strFile, CString& Ext){//定義查找文件對象CFileFind cff;CString szDir = strDir;//當為根目錄時,最右側為'\'if(szDir.Right(1)!="\\")szDir+="\\";//所有類型文件szDir原创 2012-03-28 19:56:18 · 520 阅读 · 0 评论 -
查找指定目錄下的所有文件夾
void BrowseDir(CString& strDir){//定義查找文件對象CFileFind cff;CString szDir = strDir;//當為根目錄時,最右側為'\'if(szDir.Right(1)!="\\")szDir+="\\";//所有文件szDir += "*.*";BOOL bResult = cff.F原创 2012-03-28 19:57:03 · 483 阅读 · 0 评论 -
CString转化为TCHAR
使用函数lstrcpyTCHAR name[15];CString m_str = _T("lsidjjge");lstrcpy(name, m_str);原创 2012-02-08 19:36:42 · 416 阅读 · 0 评论