//这是当CTREECTRL控件点击时NM_CLICK的处理函数 void CDriverSelCtrl::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult) { CPoint curPoint; UINT nFlags; HTREEITEM hItem; GetCursorPos(&curPoint); //当前点坐标 ScreenToClient(&curPoint); //屏幕坐标转换为TREE内坐标 hItem = HitTest(curPoint…
本文实现了下面的功能: 当选中父节点时, 其所有子节点全部选中. 当取消选中父节点时, 其所以子节点全部取消选中. 点击子节点时, 根据子节点与其兄弟节点的选中状态, 自动设置父节点的选中状态. 通过继承CTreeCtrl实现, 代码如下(注释已经写得很清楚了): CustomTreeCtrl.h #pragma once // CCustomTreeCtrl class CCustomTreeCtrl : public CTreeCtrl { DECLARE_DYNAMIC(CCustomTr…
一.图形图像类 [Visual C++]vs2008/2005正确打开vs2010所创建项目的几种方法 jlins 2012-04-12 14:38 [Visual C++]关于无法打开包括文件:“StdAfx.h”或者意外结尾的错误解决方案 jlins 2012-04-11 21:10 [Visual C++]绘图函数BitBlt的使用方法 jlins 2012-04-10 18:11 [C++]关于随机函数与概率设置 jlins 2012-04-10 02:53 [Visual C++]CD…
以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏.如 ListView_InsertColumn -------------------------------------------------------------------------------- 1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为…
常用类 CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right.分别表是左上角和右下角的坐标.可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT& srcRect ); 由RECT结构构造 CRect( LPCRECT lpSrcRect ); 由RECT结构构造 CRect( POINT point, SIZE size ); 有左上角坐标和尺寸构造 CRect…
1.新建对话框MFC,在对话框上放一个ListCtrl ID:IDC_PATH View:Report 2.为ListCtrl添加变量 右击->添加变量m_wndPath 3.找到OnInitDialog()函数添加如下代码: // TODO: 在此添加额外的初始化代码 m_wndPath.DeleteAllItems();//清空 m_wndPath.InsertColumn(,_T("项目"));//添加列 m_wndPath.InsertColumn(,_T("所…
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示. 静态控件不需要调用Create()函数来创建. 而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过…
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点.MFC中使用CTreeCtrl类来封装树形控件的各种操作.通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格: TVS_HASLINES 在父/子结点之间绘制连线 TVS_LINESATROOT 在根/…
相应TVN_SELCHANGED可以得到选中的项,在相应函数内如下: LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR); CString strSelItemTest = m_mapTreeCtrl.GetItemText(pNMTreeView->itemNew.hItem); 可以得到选中的项,但这里有一个问题,就是我点击的选中项没有改变时,就触发不了这个函数. 所以如果每次点击到项上都要得到选中项,相…
当前许多应用程序都在使用树型控件时为其添加了背景位图,增强的控件的魅力,然而对于Visual C++编程爱好者来说,使用Visual C++MFC提供的树型控件(CTreeCtrl)本身就是一个难点,至于如何使该控件能够带有背景位图,那就更加是一个令人困惑的问题了.本实例对CTreeCtrl类进行了增强,不仅使它带有背景位图,而且解决了在点击树型控件时背景位图闪动的问题,另外,通过在对话框中使用该控件来显示三级目录,演示了树型控件的基本使用方法.下图为程序编译后的运行效果图: 图一.带背景图的树…
界面美化 摘要本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者.读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理: 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制: 3. 熟悉OOP理论和技术: 本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助.  正文1. 美化界面之开题篇相信使用过<金山毒霸>.<瑞星杀毒>软件的读者应该还记得它们的精美界面:     图1 瑞星杀毒软件的精美界面程序的功能如何如何强大是一回事…
本文正文其实是自己的毕业论文,现在搬上来有两个原因. 一是之前大学的文档都放在百度网盘上,大概去年的时候百度网盘改版搞得不太稳定,文件夹移动次数一多里边就会有一些文件丢失了,也没有很在意.但前几天看申请软著的汇编记事本代码文件怎么找都找不到,自己电脑也早就换了,放网盘不靠谱放自己电脑也不靠谱,这情况怕是现在没丢的东西以后也会丢有必要另想他法保存. 二是当时论文答辩的时候,导师问“你觉得你的扫描器对比网上现有的扫描器有什么优势”,当时回答的是“现在网上很多扫描器很多是闭源的这扫描器是开源的”---…
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现.AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化. (2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名.Example:TCHARexeFullPath[MAX_PATH] // MAX_PATH在API中定义了吧,好象是128G…
先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用.其次,我们这里用条款一,条款二来描述第一点,第二点,这个是参照<Effective C++>的叫法,俺觉得这么叫比较COOL :)条款一:设置ListCtrl的风格在CSDN上常常看到有人问怎么设置风格的,他们ListCtrl的样子是一个列表,有横条和竖条分界线,然后选中一行,要整一行都选…
设置CTreeCtrl的Always Show Selection:TrueCListCtrl的Always Show Selection:False在NM_CUSTOMDRAW事件中添加如下代码: ;     LPNMTVCUSTOMDRAW pDraw=(LPNMTVCUSTOMDRAW)pNMHDR;     DWORD dwDrawStage=pDraw->nmcd.dwDrawStage;     UINT uItemState =pDraw->nmcd.uItemState;   …
树形控件可以显示出各项之间的层次关系,因此在VC中很常用. 1.树形控件的常用风格 TVS_HASBUTTONS 在父项目前显示+.-.用户可以通过点击该符号来打开或收起子项 TVS_HASLINES 在层次中用线条来连接各个项目名称. TVS_LINESATROOT 在根目录下的项目也用线连接. 2.树形控件的数据结构 1.HTREEITEM句柄 树形控件的每个节点都可以由一个TREEITEM类型的句柄表示.我们通过CTreeCtrl类的成员函数对树进行访问和操作时都需要使用到HTREEITE…
1.在VC++ 6.0中新建基于对话框的MFC应用程序ListCtrl; 2.在主对话框上添加一个List Control至合适的位置及大小: 3.在对话框OnInitDialog中初始化ListCtrl,代码如下: // 设置ListCtrl的风格及扩展风格 LONG lStyle; lStyle = GetWindowLong(m_ctlListCtrl.m_hWnd, GWL_STYLE); lStyle &= ~LVS_TYPEMASK; lStyle |= LVS_REPORT; Se…
1. CListCtrl 样式及设置 2. 扩展样式设置 3. 数据插入 4. 一直选中Item 5. 选中和取消选中Item 6. 得到CListCtrl中所有行的checkbox的状态 7. 得到CListCtrl中所有选中行的序号 8. 得到item的信息 9. 得到CListCtrl的所有列的header字符串内容 10. 使CListCtrl中一项可见,即滚动滚动条 11. 得到CListCtrl列数 12. 删除所有列 13. 得到单击的CListCtrl的行列号 14. 判断是否点…
昨天QQ群里有人问我怎么实现CTreeCtrl的功能,说实话,我也是一个VC 的初级学者,没有弄过CTreeView的代码,参考了MSDN后,写了一小段代码,和大家一起分享,其中包括窗口切分,都是比较基础的内容.[以下代码是在VC .net 2005中调试成功]   1.首先建立一个“基于单文档”的MFC应用程序,在CMainFrame类中重载OnCreateClient()函数,其内部的代码为:   BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT…
经常听到有朋友抱怨他的电脑运行软件或者游戏时提示缺少什么 d3dx9_xx.dll 或 msvcp71.dll.msvcr71.dll又或者是 .Net Framework 初始化之类的错误而无法正常使用,其实很多时候,只是因为你的电脑没有安装好这些软件所需要的运行库 (又称"运行时" / Runtime) 而已. 在 Window s环境下,很多软件特别是游戏都需要依赖一些运行库才能正常使用,而这些库并没有集成在 Windows 里的,需要我们自行下载安装 (所需的运行库一般在软件或…
用VS15 preview 5打开文件夹(详情查看博客http://www.cnblogs.com/zsy/p/5962242.html中配置),文件夹下多一个slnx.VC.db文件,如下图: 本文件是SQLite文件,通过Navicat Premium打开,配置如下: 打开如下: 一共有14张数据表.其中以下3张表有数据: 各个表与字段含义,从官网也没有找到相关解释,还有待考证:其中个别表可以从命名来理解,例如properties,表示属性.有知情者请告诉一二,如向本人获取Navicat P…
一: 编译程序的时候设置一下 在项目属性--连接器--清单文件--UAC执行级别改为requireAdministrator 二: void GainAdminPrivileges(CString strApp, UINT idd) { CString strCmd; strCmd.Format (_T("/adminoption %d"), idd); SHELLEXECUTEINFO execinfo; memset(&execinfo, 0, sizeof(execinf…
一.背景 VS或者VC++6.0编译出来的程序需要在未安装VS/VC++6.0的电脑上跑,很大情况会出现MSVCRXXX.dll 或者其他DLL丢失的情形,本篇就DLL相关问题做个记录. 二.正文 1.如何使VS或者VC++6.0编译出来的程序在未安装VS/VC++6.0的电脑上跑 在X:\Program Files [(x86)]\Microsoft Visual Studio 版本\VC\redist\区域设置\ 中的 Visual Studio 安装目录下找到包含在 Visual Stud…
1 VC维的定义 VC维其实就是第一个break point的之前的样本容量.标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个样本打散:假设空间的VC维就是它能打散的最大样本数目N.若对任意数目的样本都有函数能将它们打散,则函数集的VC维是无穷大: 几种假设空间的VC维如下: 2 感知机的VC维 d维感知机的vc维是d+1.(证明略) 3 VC维的物理意义 VC维表示的是做二分类时假设空间的自由度,是把数据集打散的能力.…
百度了了一大堆,都说让重装vc++6.0,然而并没有什么卵用. 解决办法:找到你的vc6.0安装路径下的WINDOWS.H,将0x0400改为0x0500 Window各个版本对应的宏值WINVER:…
本文主要介绍如何使用微软TTS语音引擎实现文本朗读,以及生成wav格式的声音文件. 1.语音引擎及语音库的安装 TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把文本转化为语音输出. 微软TTS语音引擎提供了Windows Speech SDK开发包供编程者使用.Windows Speech SDK包含语音合成SS引擎和语音识别SR引擎两种,语音合成引擎用于将文字转换成语音输出,语音识别引擎用于识别语音命令. Windows Speech SDK可以在微软的官网上免费下…
一.前言 刚接到个任务,要把带有透明背景的章子图片打印出来,开始觉得不是很简单吗,直接用vc自动生成的打印功能不就ok了.不过问题却不是想像的那么简单! 二.窗口中显示透明图片 在窗口中显示图片,可以用强大的CImage类,这个类能加载很多常见格式的图像文件,当然对于我要加载的png格式的透明图片也是可以的.具体的代码如下: CImage m_image; m_image.Load(_T("picture.png")); if (m_image.IsNull()) { MessageB…
最近我的电脑*.c文件关联失败,无法实现双击*.c打开vc++6.0,感觉特别不爽. 在经过自己的琢磨研究后,终于找到了解决方法. 特此分享下,希望可以帮到遇到同样问题的你. 核心内容: 1.&Open with MSDEV2."D:\Program Files\vc++6.0\Microsoft Visual Studio\Common\MSDev98\Bin\msdev.exe" "%1"3.Open("%1")4.msdev 按照下…
能否用讲个故事的方式,由浅入深,通俗易懂地解释一下什么是天使投资,VC,PE 今天在知乎上看到一篇文章,觉得值得一转的,Here. 我给楼主讲个完整点的故事吧.长文慎点,前方高能,自备避雷针.18岁以下者请在父母或监护人指导下阅读此文. ----------------------------------------------我是分割线------------------------------------------------------- 我和东尼大木是一起玩到大的朋友,也有共同的爱好.…
工欲善其事,必先利其器,VC开发MFC Windows程序,Visual C++或Visual Studio是必须的,恩,这里都给你总结好了,拿去吧:VC/MFC开发必备Visual C++.Visual Studio.MSDN等下载汇总,甭客气~  啊?还没有开始学C++?那你先学习C++语言基础吧,C/C++语言基础学习资料及视频教程请看这里. 史无前例的网络最全最强C/C++资料索引: C/C++编程语言学习资料尽收眼底 电子书+视频教程 VC++/MFC(VC6)开发技术精品学习资料下载…