VS6.0单文档工程中,View界面想使用CListCtrl & list = GetListCtrl(); 问题总结

MFC MDI静态切分窗口实现:多视图界面布局与文档视图架构详解 在桌面应用开发中,多文档界面(MDI)与窗口切分技术是构建复杂数据展示系统的核心方案。MDI允许用户同时操作多个文档窗口,而窗口切分技术则能在单个窗口内划分多个独立视图区域,实现数据的多角度同步展示。其技术原理在于通过框架窗口管理视图容器,利用切分窗口控件(如MFC的CSplitterWnd)对客户区进行几何划分,每个窗格可承载不同类型的视图对象。这种架构的价值在于提升信息密度与操作效率,尤其适合监控系统、数据分析工具等需要同时展示统计图表、列表、详情的场景。本文以MFC框架为例,深入解析如何在MDI子框架 阅读详情

VS6.0单文档工程中,View界面想使用CListCtrl & list = GetListCtrl();

问题总结

第一步:将XView类的继承类从CView全部替换成CListView,新建工程有9处需要替换

第二步:在Stdafx.h中加入头文件 #include <afxcview.h>

第三步:重载CView类的虚函数 OnInitialUpdate 在其中添加下述你需要的实际相关代码即可,如:

//初始化主程序位号列表

void CDCMS3000MainView::InitOPCDataListCtrl()

{

      CListCtrl& list = GetListCtrl();

      list.ModifyStyle(NULL, LVS_REPORT  ,0);

      list.SetExtendedStyle(LVS_EX_FULLROWSELECT);

 

      while( list.DeleteColumn( 0 ) );

      list.InsertColumn( 0,  _T("位号"), LVCFMT_LEFT , 220, 0 );

      list.InsertColumn( 1,  _T("数据类型"), LVCFMT_LEFT, 80, 1 ); //必须

      list.InsertColumn( 2,  _T("位号描述"),LVCFMT_LEFT,160,1);

      list.InsertColumn( 3,  _T("值"), LVCFMT_LEFT,120, 1 );

      list.InsertColumn( 4,  _T("采样时间"), LVCFMT_LEFT, 120, 1 ); //必须

      list.InsertColumn( 5,  _T("质量"), LVCFMT_CENTER, 100, 1 );

      list.InsertColumn( 6,  _T("所属组"), LVCFMT_CENTER, 120, 1 );

}

 

 

在单文档中自定义CListCtrl 自定义的ClistCtrl,不是继承自CListView,是在CView中嵌入CListCtrl 立即下载

相关推荐

ROS学习笔记之——无人机PID调参过程记录

For cooperaive inquiries, please visit the website:guanweipeng.com

gwpscut的博客 6828

MFC总结之CListCtrl用法及技巧(二)

续第一篇:MFC总结之CListCtrl用法及技巧(一) http://blog.csdn.net/zwgdft/article/details/7560592         本篇重点介绍:禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问题。  6、禁止拖动表头        重载OnNoti

茅庐 1万+

PT静态时序分析实战:从基础命令到高级报告解析

本文详细介绍了PT(PrimeTime)静态时序分析(STA)的实战技巧,从基础命令如pt_shell和report_timing的使用,到高级报告解析与问题排查。通过丰富的实例和脚本示例,帮助工程师快速掌握时序分析的核心技能,提升芯片设计验证效率。

weixin_29289821的博客 954

MFC总结之CListCtrl用法及技巧

下文是zwgdft 的总结文章,尽管有少量错误,但总结比较到位,收藏学习. 本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧。当初学习时,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表

乱码涅磐的专栏 2190

c#.net使用正则表达式验证文本中是否包含手机号码或电话号码?

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Collections; namespace RegularPhoneApp { class Program

码农 3584

fpga的希尔伯特变换实现

fpga的希尔伯特变换实现零.实现背景一.希尔伯特实现的基本原理2.实现1)matlab仿真1)fpga滤波器实现实现成本:fpga实现采用VIvado的FIR的IP核, 零.实现背景 因为今明工作项目需要使用到希尔伯特变换来处理问题,所以顺便就把设计流程和代码都整理下来,以便供他人使用。选用Xilinx的7系列板子,Vivado平台。 一.希尔伯特实现的基本原理 希尔伯特变换的物理意义十分简单:...

weixin_42219690的博客 1万+

列表控件 MFC LIST CONTRL

以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn --------------------------------------------------------------------------------

huangxy10的专栏 4946

Lammps纳米压痕接触面积—Matlab接触面积计算(两种方法)

Lammps纳米压痕接触面积计算

Rockyoung 5448

CListCtrl控件详解

Create创建列表控件并将其附加给CListCtrl对象。

milanleon的专栏 2万+

基于 OpenCVSharp 的晶圆缺口自动检测与旋正方案

在半导体制造过程中,晶圆(Wafer)需要精确定位才能进行后续加工。每个晶圆边缘都有一个特定的缺口,这个缺口就像 "箭头" 一样,帮助机器确定晶圆的方向。我们的任务就是通过摄像头拍摄的图片,自动找到这个缺口的位置,计算出需要旋转多少角度才能让晶圆对准正确方向。简单来说,这个技术就像给晶圆 "找方向",确保它在生产线上始终保持正确的姿态。

品质生活,极致编程。 1211

VTK API 详解(115):vtkScalarBarActor - 显示颜色条

显示用于颜色映射的标量值范围。自动从vtkMapper中提取。可设置颜色条的位置、大小、字体、标签格式等。支持横向或纵向显示颜色条。是进行科学数据伪彩色可视化时非常重要的辅助工具,它能让用户直观地理解不同颜色代表的数值大小。通过灵活设置颜色表、标题、标签数量等,可以适配多种可视化需求。

yumeiguo的博客 488

VS6.0单文档工程中,View界面想使用CListCtrl & list = GetListCtrl();

<br />[color=#FF0000][/color]VS6.0单文档工程中,View界面想使用CListCtrl & list = GetListCtrl();<br />问题总结<br />第一步:将XView类的继承类从CView全部替换成CListView,新建工程有9处需要替换<br />第二步:在Stdafx.h中加入头文件 #include <afxcview.h><br />第三步:重载CView类的虚函数 OnInitialUpdate 在其中添加下述你需要的实际相关代码即可,如:<b

jiangting1986的专栏 1225

Spring AI 项目实战(十八):Spring Boot + AI + Vue3 + OSS + DashScope 实现高效语音识别系统(附完整源码)

本文介绍基于 Spring Boot AI 集成阿里云 OSS 与 DashScope 语音识别 API 的高效语音识别系统。该系统通过云端存储音频文件,解决传统本地存储的性能瓶颈与存储压力,支持同步 / 异步语音转文本,实现文件自动生命周期管理。文中详述技术选型、架构设计、核心代码实现(含前后端及配置)、部署流程,展现其高并发处理、可靠文件管理能力,适用于客服、教育等企业级场景,为语音识别应用提供实用解决方案。

博客 1537

VC++ MFC图书管理系统源码剖析:从数据库操作到界面优化的经典实战

数据库操作是桌面应用开发的核心基础,它涉及数据的持久化存储、查询与事务管理。其原理是通过封装底层数据库接口,实现业务数据的增删改查。掌握高效的数据库访问技术,对于构建稳定、可维护的管理系统至关重要,尤其在图书管理、库存系统等需要处理大量结构化数据的应用场景中。本文以经典的VC++ MFC框架为例,深入剖析一个完整的图书管理系统源码,详细解读如何通过ODBC进行数据库连接,利用CRecordset执行查询,并实现包含事务处理的借阅逻辑。同时,针对MFC项目常见的列表控件性能瓶颈,介绍了虚拟列表等优化技术,为理

weixin_33835103的博客 477

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

MFC汽配管理系统实例解析:从架构设计到代码重构

桌面应用程序开发的核心在于如何有效地组织数据、业务逻辑与用户界面。文档/视图架构作为一种经典的设计模式,通过分离数据模型与显示逻辑,为构建可维护的桌面应用奠定了基础。其原理在于定义清晰的职责边界:文档类管理数据持久化与状态,视图类处理用户交互与呈现。这种分离带来的技术价值是提高了代码的模块化程度,便于测试与功能扩展。在实际的工程实践中,诸如库存管理、订单处理等业务场景,都需要处理数据一致性、事务操作与性能优化等挑战。以MFC框架实现的汽配管理系统为例,它完整展示了如何运用这一架构处理**数据持久化**与**

weixin_33881140的博客 553

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

关于CListView和CListCtrl的排序!

今天用到了这些知识,所以记忆下来,方便以后查询!   CListView的排序和CListCtrl的排序基本相似,所以在这里一并提一下。   什么时候排序?   当用户点击表头的时候,自然要触发排序函数,进行排序。   如上图所示,点击时间这一列头,要触发排序。   如何响应点击表头这一动作?   点击表头时,触发LVN_COLUMNCLICK消息,我们只需要添加相

李树花开,风中摇曳 4483

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = &quot;R. B. Palm&quot;, title = &quot;Prediction as a candidate for learning deep hierarchical models of data&quot;, year = &quot;2012&quot;,}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er&lt;0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er &lt; 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free &quot;Bitdeli Badge&quot;)

&GetListCtrl()这句话为什么函数前边有一个"&"

为什么不干脆写代码: CListCtrl ctl = GetListCtrl(); 或: CListCtrl ctl; ctl = GetListCtrl(); 无论哪一种写法,似乎更符合我们一般的逻辑思维,但执行结果都是通不过编译的。 正确写法: CListCtrl* ctl = &amp;amp;GetListCtrl(); 或 CListCtrl&amp;amp; ctl = GetListCtrl(); ...

fwsylin的博客 635

CListCtrl使用技巧

以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的item      LVS_REPORT: 显示item详细资料      直观的理解:windows资源管理器,“查

gzjh1的专栏 2116

MFC-ListCtrl(列表控件)

效果如图: Icon Small Icon List Report 首先要在初始化对话框中设置ListCtrl的表头,正常图标,小图标 表头设置如下: //获取指向列表控件的指针 CListCtrl* pLc = (CListCtrl*)GetDlgItem(IDC_LIST); //改变视图为详细信息(report) pLc->ModifySt

_ACME_的博客 3787

MFC-ListCtrl基本用法

首先创建基于对话框的应用程序ListCtrl,在对话框中删除所有控件添加List Control控件,相关一个变量m_listctrl,然后在ListCtrlDlg.cpp的BOOL CListCtrlDlg::OnInitDialog()中添加初始化代码, m_listctrl.InsertColumn (0,"学号"); //添加列名  m_listctrl.InsertColumn (1

516843761 7034
上一篇: 为什么向VS6.0拖放 .dsp工程文件时,系统提示:
下一篇: 如何将VS6.0单文档工程中的任务栏设置上自己需要的信息显示?
PerfectToday
博客等级 码龄18年 46粉丝 129原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值