一、vc******6***0使用教程
软件是一个有用而又神奇的东西,既然到学校里学软件,第一门课就是C语言啦。
1、首先打开vc,看见中间的窗口了吧,可以点击c结束(可能你的不是c结束但没有影响),或者直接点右上角的X关闭中间的窗口。
2、点击左上角的新建,出现了这个窗口,既然是初学者,可以不去理会工程这一栏,直接点击文件栏。
3、然后出现这样的窗口,点击(左击而且是单击)c++ source file,还没有结束,注意到右边吗,自己写一个名字,但是如果是写C语言的话要在名字后面加。
比如我打算写一段代码名字叫new world,那么在命名的时候就写new world.c否则系统会默认是c++文件。至于文件保存的位置,就随便你啦。
二、vc++ mfc 剪贴板操作教程
本文主要介绍了VC++/MFC中如下内容的剪贴板操作:
6、自动将数据粘贴到另一应用程序窗口
下面的代码示范了如何将文本内容复制到剪贴板(Unicode编码的先转化为ASCII):
clipbuffer= GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);
buffer=(char*)GlobalLock(clipbuffer);
strcpy(buffer, LPCSTR(source));
SetClipboardData(CF_TEXT,clipbuffer);
下面的代码显示了如何从剪贴板上获得文本内容:
HANDLE hData= GetClipboardData(CF_TEXT);
char* buffer=(char*)GlobalLock(hData);
在剪贴板上读写图象数据是非常有用的功能,并且实现起来也很简单。下面的代码显示了如何将扩展图元文件复制到剪贴板:
CMetaFileDC* cDC= new CMetaFileDC();
cDC-CreateEnhanced(GetDC(),NULL,NULL,"the_name");
//关闭CMetafileDC并获得它的句柄
HENHMETAFILE handle= cDC-CloseEnhanced();
SetClipBoardData(CF_ENHMETAFILE,handle);
下面的代码演示了从剪贴板获得图元文件并将其绘制到client DC上:
HENMETAFILE handle=(HENMETAFILE)GetClipboardData(CF_ENHMETAFILE);
dc.PlayMetaFile(handle,client);
位图的操作稍微复杂一点,下面这个例子显示了如何在剪贴板保存位图:
junk-CreateCompatibleBitmap(cdc,client.Width(),client.Height());
DrawImage(dc,CString("Bitmap"));
SetClipboardData(CF_BITMAP,junk-m_hObject);
下面的代码显示了如何从剪贴板上获得位图数据:
HBITMAP handle=(HBITMAP)GetClipboardData(CF_BITMAP);
CBitmap* bm= CBitmap::FromHandle(handle);
cdc.BitBlt(0,0,200,200,dc,0,0,SRCCOPY);
使用RegisterClipboardFormat()函数,可以复制和粘贴任何你需要的数据类型。比如我们有以下一个数据类型:
我们要把它复制到剪贴板,可以使用如下的代码:
UINT format= RegisterClipBoardFormat("MY_CUSTOM_FORMAT");
clipbuffer= GlobalAlloc(GMEM_DDESHARE, sizeof(MyFormatData));
MyFormatData* buffer=(MyFormatData*)GlobalLock(clipbuffer);
SetClipboardData(format,clipbuffer);
UINT format= RegisterClipboardFormat("MY_CUSTOM_FORMAT");
HANDLE hData=GetClipboardData(format);
MyFormatData* buffer=(MyFormatData*)GlobalLock(hData);
通过Windows消息可以感知剪贴板内容是否发生改变,代码如下:
//In your initialization code call:
SetClipboardViewer();//将我们的程序添加到剪贴板观察链
ON_MESSAGE(WM_DRAWCLIPBOARD, OnClipChange)//添加Message handle
void CDetectClipboardChangeDlg::OnClipChange()
CTime time= CTime::GetCurrentTime();
SetDlgItemText(IDC_CHANGED_DATE,time.Format("%a,%b%d,%Y--%H:%M:%S"));
六、自动将数据粘贴到另一应用程序窗口
只需获得相应窗口的句柄,并发送一个消息就可以了

