VS2013 MFC Windows 程序设计之窗口滚动条 他对,坚持,坚持,就对了。
来源:互联网 发布:java stackofinteger 编辑:程序博客网 时间:2024/05/17 04:37
1.新建一个空项目,设置属性:MFC 的使用:在静态库中使用 MFC、字符集:使用 Unic http:// ode 字符集和普通工作集:Windows XP。
2.新建一个头文件和原文件。
**********************************************图片分割线************************************************
#include <afxwin.h>#include "demo.h"
**********************************************图片分割线************************************************
class CMyWinApp : public CWinApp{};class CMyFrameWnd : public CFrameWnd{};
**********************************************图片分割线************************************************
**********************************************图片分割线************************************************
this->m_pMainWnd = new CMyFrameWnd;this->m_pMainWnd->ShowWindow(this->m_nCmdShow);this->m_pMainWnd->UpdateWindow();return 0;
**********************************************图片分割线************************************************
public:CMyFrameWnd();**********************************************图片分割线************************************************
this->Create(NULL, TEXT("Demo"), WS_OVERLAPPEDWINDOW);
CMyWinApp app;在demo.cpp中InitInstance函数返回值改return TRUE;编译,运行。
**********************************************图片分割线************************************************
**********************************************图片分割线************************************************
#define MAXLINE 100#define LINESIZE 15//这里图中是错误的,没有;
**********************************************图片分割线************************************************
for (int i=0; i < MAXLINE; ++i){dc.TextOut(0, i*LINESIZE, TEXT("Hello"),5);}
**********************************************图片分割线************************************************
TCHAR szBuffer[1024];for (int i=0; i < MAXLINE; ++i){_sntprintf(szBuffer, 1024,TEXT("Hello %d"), i);//这里图中是错误的,应该是,不是.dc.TextOut(0, i*LINESIZE, szBuffer, lstrlen(szBuffer));<pre name="code" class="cpp">//这里图中是错误的,少了)和出现这个警告_CRT_SECURE_NO_WARNINGS(解决办法:<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">右击工程 -- 属性 -- 配置属性 -- C/C++ -- 命令行--<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px;">命令行增加 /D _CRT_SECURE_NO_WARNINGS</span></span>)}
**********************************************图片分割线************************************************
表达式还是从零开始的,所以要+1。
**********************************************图片分割线************************************************
protected:int m_nVScrollPos;//滚动条不回去。int m_nViewHeight;//所有要显式数据的高度。int m_nVPageSize;//即窗口中显示部分,看的见的部分。**********************************************图片分割线************************************************
**********************************************图片分割线************************************************
m_nViewHeight = LINESIZE * MAXLINE;m_nVScrollPos = 0;**********************************************图片分割线************************************************
每当窗口发生改变。
**********************************************图片分割线************************************************
int nVScrollMax =0;m_nVPageSize = 0;//cy表示窗口改变以后的高度,cx表示窗口改变以后的宽度。if (cy < m_nViewHeight){nVScrollMax = m_nViewHeight - 1;m_nVPageSize = cy;//取一个最小值m_nVScrollPos = min(m_nVScrollPos, m_nViewHeight - m_nVPageSize - 1);}SCROLLINFO si;si.fMask = SIF_PAGE | SIF_RANGE | SIF_POS;//没有标志下面的就不起作用。si.nMin = 0;si.nMax = nVScrollMax;si.nPos = m_nVScrollPos;si.nPage = m_nVPageSize;this->SetScrollInfo(SB_VERT, &si, TRUE);**********************************************图片分割线************************************************
int nDelta = 0;switch (nSBCode){case SB_LINEUP://拉一下向上走一行。nDelta = -LINESIZE;break;case SB_PAGEUP:nDelta = -m_nVPageSize;//第二步break;case SB_THUMBTRACK:nDelta = (int)nPos - m_nVScrollPos;//第三步break;case SB_PAGEDOWN:nDelta = m_nVPageSize;//第二步break;case SB_LINEDOWN:nDelta = LINESIZE;break;default:return;}if (nDelta != 0){m_nVScrollPos = m_nVScrollPos+nDelta;SetScrollPos(SB_VERT, m_nVScrollPos, TRUE);ScrollWindow(0, -nDelta);//第四步}
**********************************************图片分割线************************************************
dc.SetWindowOrg(0, m_nVScrollPos);
- VS2013 MFC Windows 程序设计之窗口滚动条 他对,坚持,坚持,就对了。
- MFC Windows程序设计学习笔记--滚动条
- VS2013 MFC Windows 程序设计之Accel
- windows程序设计读书笔记之滚动条
- Windows程序设计 滚动条
- windows程序设计 滚动条
- 考研回忆录之坚持就有希望
- VS2013 MFC Windows 程序设计之消息框(里面没什么)
- 坚持
- 坚持
- 坚持
- 坚持
- 坚持
- 坚持
- 坚持
- 坚持
- 坚持
- 坚持
- WCF开发实战:编写WCF程序并使用IIS发布
- 不要闷声发大财,要懂内存分析……
- 数据结构课程设计
- macbook环境下从iphone微信中导出语音文件
- 架构、引擎与UI通用语言解释
- VS2013 MFC Windows 程序设计之窗口滚动条 他对,坚持,坚持,就对了。
- 【C++ Primer】【学习笔记】【第八章】标准IO库之:面向对象的标准库
- Win8(NT.6X)修改MTU值过小后蓝屏处理记录
- ios项目结构
- javascript 对象的可扩展性详解
- iOS8 scrollView滚动视图
- 建立基于Arduino的空调控制系统 – 参考项目
- hdu 5122 K.Bro Sorting 2014ACM/ICPC亚洲区北京站-重现赛
- 博弈问题分析与数学归纳