VC雕虫小技集(二)
VC雕虫小技集(二)
1,如果你没有定义_UNICODE,则LPCTSTR代表 const char * ,因此直接使用就可以了.
如果定义了_UNICODE ,LPCTSTR代表 const wchar_t* ,就不能直接使用了.
2,得到鼠标的位置
DWORD dw = GetMessagePos();
CPoint pt(LOWORD(dw),HIWORD(dw));//鼠标的屏幕坐标
CWnd::ScreenToClient();
3,得到文件的长度
方法一:HANDLE hHandle;
DWORD dwSize;
hHandle = ::CreateFile((LPCTSTR)strZipfile,GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,
NULL);
if(hHandle == INVALID_HANDLE_VALUE)
return FALSE;
dwSize = ::GetFileSize(hHandle,NULL);
CloseHandle(hHandle);
方法二:CString szFile="c:/aaa.txt";
int nFileSize=0;
CFileFind finder;
if(finder.FindFile(szFile)){
finder.FindNextFile();
nFileSize = finder.GetLength(); //文件大小在这里
finder.Close();
}
方法三:CStdioFile sf;
….
sf.GetLength();
4,CArray没有"=",但有copy.
CStringArray arr1,arr2;
arr1.Add("0");
arr2.Add("a");
arr1.Copy(arr2);
5,如何得到view类的句柄
不要忘记了# include 文件
CMyView *pView = (CMyView *)((CMainFrame *)AfxGetMainWnd())->GetActiveView();
pView->m_hWnd就是
6,自定义消息
下面是增加自定义消息的步骤:
第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。
LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:
class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤同上。
7,wscanf是scanf的宽字符版本,用法与scanf是一样的,用来读取stdin流,并将信息存储到其参数列表指定的变量中。
cin 对象是由istream类所衍生出的,主要用来将数据由标准输入装置输入到程序中的变量,通过cin输入的数据,必须以字节流的格式组成,cin搭配“>>”用算符
VC雕虫小技集(二)的更多相关文章
- MongoDB 复制集(二) 选举 自动故障切换
一 复制集的高可用性简介 复制集通过故障自动切换来实现高可用性,当主节点出现故障的时候,从节点可以通过选举成为主节点,而这个过程在大多数当情况下是自动进行的,不需要手动干预.在某些情况 ...
- 史上最全最新java面试题合集二(附答案)
下面小编整理了本套java面试题全集,分享给大家,希望对大家的java学习和就业面试有所帮助. 51.类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断 ...
- Java面试题合集(二)
接下来几篇文章准备系统整理一下有关Java的面试题,分为基础篇,javaweb篇,框架篇,数据库篇,多线程篇,并发篇,算法篇等等,陆续更新中.其他方面如前端后端等等的面试题也在整理中,都会有的. 注: ...
- java高级工程师开放面试题集<二>
临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么? 作为一个java后端老鸟,跌打滚爬多次被面试和面试别人,总结了一些经验,希望对大家有所帮助. 特别说明,仅仅针对工作两年以上的java ...
- 算法笔记_118:算法集训之结果填空题集二(Java)
目录 1 欧拉与鸡蛋 2 巧排扑克牌 3 排座位 4 黄金队列 5 汉诺塔计数 6 猜生日 7 棋盘上的麦子 8 国庆星期日 9 找素数 10 填写算式 11 取字母组成串 1 欧拉与鸡蛋 大数 ...
- Hadoop自学系列集(二) ---- CentOS下安装JDK
上篇我们讲述了如何使用VMware安装CentOS系统,接下来就看如何安装我们最为熟悉的jdk吧!安装前先看看系统上有没有安装过jdk,输入java -version,如果查询出了其他版本的jdk版本 ...
- 9.MongoDB系列之创建副本集(二)
1. 如何设计副本集 大多数:选取主节点时需要由大多数决定,主节点只有在得到大多数支持时才能继续作为主节点,写操作被复制到大多数成员时就是安全的写操作.这里的大多数定义为"副本集中一半以上的 ...
- 算法笔记_126:算法集训之编程大题集二(Java)
目录 1 连续数的公倍数 2 漏掉的账目明细 3 罗马数字转十进制 4 逻辑推断 5 平面4点最小距离 6 取球博弈 7 人民币金额大写 8 人员排日程 9 三角螺旋阵 10 手机尾号评分 1 ...
- 【python】python实例集<二>
##扫描某个ip的端口号 # #-*- coding: utf-8 -*- # import socket # def main(): # sk = socket.socket(socket.AF_I ...
- 算法笔记_115:算法集训之代码填空题集二(Java)
目录 1 连续数的公倍数 2 孪生素数 3 迷宫走法 4 拍7游戏 5 排列为平方数 6 平面点最小距离 7 扑克牌排列 8 三进制转十进制 9 识别复制串 10 蔬菜价格计算 1 连续数的公倍 ...
随机推荐
- 标准结构篇:9.1)JB5054-2000流程
本章目的:了解这个最基础的产品设计研发流程标准 1.前言 JB5054-2000流程是2000年的研发流程,如果你自家公司的研发流程环节或提交资料比这个还少,就真的要考虑一下,到底是什么地方漏了. 2 ...
- RVO算法原理与实现之骑砍军团的交战
RVO算法原理 https://blog.csdn.net/lsccsl/article/details/119732620 https://indienova.com/indie-game-deve ...
- spring 的aop面试题
- spring 的事物
- 全志T113核心板一张表介绍其参数|性能|功耗|-盈鹏飞嵌入式
随着市场应用的逐渐细化,细分市场的处理器逐渐浮出水面,盈鹏飞嵌入式顺应市场大势,推出了以全志主控T113-i/S3/S4和A40I(T3)的相关核心模块产品和主板,那么这些处理器到底有什么优势?用户该 ...
- 套路的人心:MySQL使用delete删除数据的正确套路!
为啥MySQL不建议用DELETE删数据?说白了,你可能还真不配用它 阿里面试问这个问题,不是***难你,是想看看你到底是CRUD民工,还是能把数据库当朋友用的老炮儿. 一.DELETE听起来很清爽, ...
- 2025杭电多校第一场 树上lcm、子序列、传送门个人题解
传送门 dijkstra 题目 思路 这题很明显是一个最短路问题,但是其中的限制条件比较特殊,每个边都有自己的颜色,在更新当前节点的时候需要考虑上一个节点的信息. 我们开的结构体\(edge\)存边时 ...
- 文献精读:气候变化、CO2浓度提高和土地利用变化对全球陆地蒸散发的影响分析
阅读文献是Liu(2021)发表的<Response of global land evapotranspiration to climate change, elevated CO2, and ...
- [题解]AtCoder Beginner Contest 394(ABC394) A~G
A - 22222 遍历字符串\(s\),按题意输出所有2即可. 点击查看代码 #include<bits/stdc++.h> #define int long long using na ...
- [题解]P3952 [NOIP2017 提高组] 时间复杂度
P3952 [NOIP2017 提高组] 时间复杂度 我们把循环的嵌套关系看做树形结构,梳理一下\(3\)种情况: 直接跳过当前子树: \(x,y\in\mathbb{N}\),且\(x>y\) ...