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消息。

第二步:实现消息处理函数。该函数使用WPRAMLPARAM参数并返回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,wscanfscanf的宽字符版本,用法与scanf是一样的,用来读取stdin流,并将信息存储到其参数列表指定的变量中。

cin 对象是由istream类所衍生出的,主要用来将数据由标准输入装置输入到程序中的变量,通过cin输入的数据,必须以字节流的格式组成,cin搭配“>>”用算符

 

 


相关文章
|
数据安全/隐私保护
|
C++ 索引 Windows
VC中的界面美化
本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; 本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。
1204 0
Nokia 920板砖自救(理论上通用,升级Win10成板砖也可以用这个恢复)
异常处理汇总 ~ 修正果带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4599258.html 个人博客:http://dnt.dkill.net 下载下两个软件(下载地址在下面) Nokia教程: 按音量下键+电源键 进手机页面重装系统就可以了 ———————————————————————————————————————————————————————————————— WP其他手机: 进手机重新安装系统即可。
859 0

热门文章

最新文章