一、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"));

六、自动将数据粘贴到另一应用程序窗口

只需获得相应窗口的句柄,并发送一个消息就可以了

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。