OnVScroll的通常处理】的更多相关文章

void CDialogLAMP::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: 在此添加消息处理程序代码和/或调用默认值 SCROLLINFO scrollinfo; GetScrollInfo(SB_VERT, &scrollinfo, SIF_ALL); switch (nSBCode) { case SB_BOTTOM: ScrollWindow(0, (scrollinfo.nPos - sc…
原文地址:[MFC 中]关于对话框中的OnVScroll() 和 OnHScroll()函数作者:Winters     对话框中的滑块,微调控件都会向OnVScroll() 和OnHScroll()发送消息.    所以,要想对滑块,微调控件有效控制,就要对这两个函数(改写对话框的这两个函数)进行控制.     如: /////////////////////////////////////////////////////////////////////////////////////////…
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按下键盘上的一个键都会使Windows发送一个消息给应用程序.消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息.例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标.这个记录类型叫做TMsg, 它在Windows单元中是这样声明的:typeTMsg = packed recordhwnd: HWND; / /窗口句柄message: UINT; / /…
回顾上一节,讲的是组合框控件Combo Box的使用.本节详解滚动条控件Scroll Bar的相关内容. 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条.滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种.滚动条中有一个滚动块,用于标识滚动条当前滚动的位置.我们可以拖动滚动条,也可以用鼠标点击滚动条某一位置使滚动块移动. 从…
CWnd CObject  └CCmdTarget     └CWnd CWnd类提供了微软基础类库中所有窗口类的基本功能.CWnd对象与Windows的窗口不同,但是两者有紧密联系.CWnd对象是由CWnd的构造函数和析构函数创建或销毁的.另一方面,Windows的窗口是Windows的一种内部数据结构,它是由CWnd的Create成员函数创建的,而由CWnd的虚拟析构函数销毁.DestroyWindow函数销毁Windows的窗口,但是不销毁对象.CWnd类和消息映射机制隐藏了WndProc…
关键词:Mixer函数,控制面板,音频设备调节 如果你用过windows的音频设备,比如播放音乐或者录音,聊天,调节麦克或者声音的大小,以及设置静音,都可以通过控制面板中的音频设置面板来调节,你对于下面的两个设置面板肯定不陌生. 播放时调节音量大小和左右声道的控制板,还可以通过它将某个设备设置为静音. 图1 另一个就是录音时控制面板,在这里我们可以选择声音输入设备,以及调节录音时左右声道音量大小 图2 这两个控制板是windows提供给我们的,这两个控制板是让windows用户在播放声音或者录音…
一. 什么是MFC? 如果你要建立一个Windows应用程序,应该如何下手? 好的开端是从设计用户界面开始. 首先,你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象.Windows用户界面有一些标准的控件,如按钮.菜单.滚动条和列表等,这对那些Windows用户已经是很熟悉了.要记住的是,作为程序员必须选择一组控件并决定如何把它们安排到屏幕上.传统上,你需要在纸上做一下用户界面的草图,直到对各元素感到满意为止.这对于一些比较小的项目,以及一些大项目的早期原型阶段是可以的. 下一…
控件的通知消息 控件的消息映射宏的格式大致是: ON_通知消息码(nID, memberFun) //nID参数是控件的ID,memberFun参数是消息处理函数名.例如,ON_BN_CLICKED(IDC_BUTTON1, &CDlg::OnBnClickedButton1).此消息映射宏应添加到BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间. 消息处理函数声明的语法形式为: afx_msg void memberFun(); 静态文本框:CStatic类 CStati…
Edit显示代码行号 关键点 使用这个类然后关联Edit的变量为 LineNumberEdit类型的 实现过程 //////////////////////////////////////////////////////////////////////////////////////////////////////////// #if !defined(AFX_LINENUMBEREDIT_H__CAB7A465_709C_42B8_80D0_2B0AF6D25AD4__INCLUDED_) #…
近期由于项目的要求,需要一个可以编辑的列表控件,由于MFC提供的列表控件只支持第一行可编辑,无法满足项目需求,故只能自己动手重写一个列表控件.重写列表控件的思想为:当点击列表的某行某列时,在此处创建一个文本框.废话不多说,切入正题. 首先,你需要从CListCtrl继承一个类,名字自己取,这里我取名为CMyListCtrl.其次,从CEdit继承一个类,取名为CMyEdit. CMyEdit类的代码如下: CMyEdit.h文件 #pragma once#include "afxwin.h&qu…
CWnd类的成员 .数据成员 m_hWnd 指明与这个CWnd对象相关联的HWND句柄 .构造和析构 CWnd 构造一个CWnd对象 DestroyWindow 销毁相关联的Windows窗口 .初始化 Create 创建并初始化与CWnd对象相关联的子窗口 PreCreateWindow 在与CWnd对象相关联的窗口被创建之前调用 CalcWindowRect 调用这个函数以计算窗口客户区的矩形 GetStyle 返回当前的窗口风格 GetExStyle 返回窗口的扩展风格 Attach 将W…
在_tWinMain中有这样两条语句: MainWindowDelegate delegate; view::Window::CreateNativeWindow(NULL, gfx::Rect(), &delegate); 从这开始窗口相关的探索,目的就是要找到WNDCLASS注册与CreateWindow的地方.Window类顾名思义就是的窗口.chromium对原始窗口做的封装.window相关的类主要有Window / WindowDelegate / WindowWin / Widge…
进行程序设计时,选用一个合适的ActiveX控件,有时可大大减少编程工作量.ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用.本文仅以VC++为例说明Chart控件的使用. Chart控件指Mschart.ocx(5.0版)或Mschrt20.ocx(6.0 版),是Visual Studio自带的ActiveX控件之一,其属性.事件很多,功能非常强大,可实现柱状直方图.曲线走势图.饼状比例图等,甚至可以是混合图表,可以是二维或三维图表,可…
相信没有什么人对 MEMO 陌生了吧.尽管其组件的功能不错.但是,对它进行一些功能的改进,可以更好的使用. 有的时候,我们想要知道,当前的坐标是什么?甚至,想要在 滚动条滚动时触发一些事件. 但,TMemo 本身并没有这样的功能.那我们就要扩展它: 那我们现在就来作: file -> new -> other -> package 在 dpk 窗口上, Add . New component 如下图: 完整的程序源代码如下: unit JoeMemo; interface uses Wi…
1.设置滚动条的滚动大小 创建一个基于CScrollview的SDI Project(在第6步中选CScrollview) 若你已创建了,这步可以省略. 然后: 改为如 void CTestView::OnInitialUpdate() { CScrollView::OnInitialUpdate(); CSize sizeTotal; // TODO: calculate the total size of this view sizeTotal.cx = 1024;  //改这两个 size…
MSG_WM_CREATE LRESULT OnCreate(LPCREATESTRUCT lpCreateStruct); MSG_WM_INITDIALOG LRESULT OnInitDialog(HWND hWnd, LPARAM lParam); MSG_WM_COPYDATA LRESULT OnCopyData(HWND hWnd, PCOPYDATASTRUCT pCopyDataStruct); MSG_WM_DESTROY void OnDestroy(); MSG_WM_M…
自动完成是个很酷也很实用的功能,比如在浏览器地址栏输入几个字母,相关的记录就会在下拉框中陈列出来. 最近在做公司产品UI部分的改善,原版本是MFC做的,我决定用WTL,于是就遇到自动完成控件的问题.遍寻Internet,WTL版的只找到一个用IEnumString+IE组件实现的,但是其个性化修改比较困难.so我决定自己用WTL改写该控件,在此向原作者 Andreas Kapust 致谢! 该控件包含四个文件:ACEdit.h, ACEdit.cpp, ACListWnd.h 和 ACListW…
MFC滚动条实现要点 1.鼠标拖动滚动条从而滚动窗口,需要实现CDialog::OnVScroll()函数.根据传入参数nPos,计算滚动距离.最后再调用ScrollWindow()和SetScrollPos()分别滚动窗口和设置滚动条位置. 2.鼠标滚轮滚动从而滚动窗口,需要实现OnMouseWheel()函数.根据参数zDelta来计算滚动距离.需要注意的是zDelta是滚轮滚动的距离,它一定是120的倍数,如果鼠标一次滚动达不到120,则会进行累计.只有达到120或以上才会触发OnMous…
MFC如何在树形图边上添加动态小地图 https://www.jianshu.com/p/7b1d828bf5db (简书无法识别缩进的...早知道先在博客园发了) (转载请注明出处) 作者:梦镜谷雨 萌新第一次写文章,请多多包涵.末尾附上相应代码(PS公司繁体系统所以部分注释繁体请别介意). 第一次接触MFC时做的一个小项目上有做个树形图边上带小地图的需求.(IDE:VS2010) 大四刚实习时写的,当时网上没找到现成的,打算记录下来也算篇技术谈不上的思路吧. 快2019了打算开始试着以后多记…
本章主要介绍MFC中主要的视图类,这些继承自Cview类. 继承关系如上图所示. 滚动视图 CscrollView给Cview添加了基本的滚动功能,它包含WM_VSCROLL和WM_HSCROLL消息的处理程序,将设计滚动窗口的工作交由MFC来完成. 首先介绍一下基本概念,物理视图,指得是占据屏幕的视图窗口和空间:逻辑视图指的是可以使用滚动条看到的整个虚拟空间. 成员函数SetScrollSize接受4个参数,其中2个可选. void SetScrollSizes( int nMapMode, …
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现.AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化. (2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名.Example:TCHARexeFullPath[MAX_PATH] // MAX_PATH在API中定义了吧,好象是128G…
回顾上一节,鸡啄米讲的是组合框控件Combo Box的使用.本节详解滚动条控件Scroll Bar的相关内容. 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条.滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种.滚动条中有一个滚动块,用于标识滚动条当前滚动的位置.我们可以拖动滚动块,也可以用鼠标点击滚动条某一位置使滚动块移动…
对话框滚动条及滚动效果实现,用的api主要有: ScrollWindow, SetScrollInfo, GetScrollInfo, SetWindowOrgEx.涉及的数据结构为SCROLLINFO. 实现的原理为:设置窗口显示的滚动条:响应滚动条的消息,在其中记录窗口原点的x和y坐标,并滚动窗口:在OnPaint中设置窗口原点,并绘图. SCROLLINFO typedef struct tagSCROLLINFO { UINT cbSize; UINT fMask; int nMin;…
MFC技巧学习 摘自:http://www.cnblogs.com/leven20061001/archive/2012/10/17/2728023.html 1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承: 然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch: 最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码: { m_tabsheet.Cr…
对话框自带滚动条的使用 摘自 http://wenku.baidu.com/link?url=aZe1zgBSBsf9xCYNpcz2fNGljmKxg372OVIGeJ7p6iRCWbbsertS7nA8sMUrv0JHak4T5hHpWqGHcUKRiefEcaU0GElq-1KexDvF1fwlJ-C 一,使用对话框窗口自带的滚动条,在属性页面中设置即可,如下 二,OnInitDialog()函数中,添加如下滚动条初始化语句 SCROLLINFO vinfo; vinfo.cbSize =…
  对话框的(上下/左右)滚动事件,比如,把一个比较大的对话框放入tab控件的某一页时,就需要添加滚动条.在使用了java和qt等图形界面化的集成开发环境之后,再使用MFC,就会发现,想要让一个对话框滚动是多么麻烦的一件事情.下面我记录一下自己在使用MFC对话框自己带的垂直滚动条的过程. (1)设置对话框的vertical scrollbar属性为true; (2)初始化滚动条,如下:   void Dlg_WholeTest_Test::initScrollbar(){ SCROLLINFO…
常用类 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…
CChartScrollBar类用来针对每个轴的数据进行滚动,将那些不在当前区域内的数据通过滚动展示出来. CChartScrollBar类的头文件. #pragma once class CChartAxis; class CChartScrollBar : public CScrollBar { public: CChartScrollBar(CChartAxis* pParentAxis); ~CChartScrollBar(); void CreateScrollBar(const CR…
近期学习了鸡啄米大神的博客,对其中的一些知识点做了一些自己的总结.不过,博客内容大部分来自鸡啄米.因此,这个博客算是转载博客,只是加了一些我自己的理解而已.若想学习鸡啄米大神的博客总结,请点击连接:http://www.jizhuomi.com/software/257.html 1.滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种.  MFC也为滚动条控件的操作提供了类,即为CScrollBar类.像列表框和组合框设置…
=WM_VSCROLL(消息反射) 和 WM_VSCROLL(消息响应)的区别 所谓消息反射就是控件拥有者自己不处这个理消息,而是反射给控件对象本身来处理这个消息 1.“=WM_VSCROLL”是消息反射标志  , WM_VSCROLL是 消息响应的标志,在VC6.0的ClassWizard中注意会发现这两个不同的消息,VS2010中没有“=WM_VSCROLL”,但是可以通过手动添加: 消息映射宏声明: BEGIN_MESSAGE_MAP(CMyScrollBar, CScrollBar) /…