vc 教程(vc++6.0使用教程)
本篇文章给大家谈谈vc 教程,以及vc++6.0使用教程对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
急求C++视频教程
《C++语言 45集郑莉清华大学》百度网盘资源免费下载
链接: https://pan.baidu.com/s/1RuvlguuUC5-JX6Bv21d_xw?pwd=1ifw提取码: 1ifw
C++语言 45集郑莉清华大学|9c++简单程序设计(七).flv|8c++简单程序设计(六).flv|7c++简单程序设计(五).flv|6c++简单程序设计(四).flv|5c++简单程序设计(三).flv|4c++简单程序设计(二).flv|45异常处理.flv|44泛型程序设计与c++标准模板库(二).flv|43泛型程序设计与c++标准模板库(一).flv|42流类库与输入输出(二).flv|41流类库与输入输出(一).flv|40群体类和群体数据的组织(六).flv|3c++简单程序设计(一).flv|39群体类和群体数据的组织(五).flv
vc++6.0使用教程
软件是一个有用而又神奇的东西,既然到学校里学软件,第一门课就是C语言啦。
电脑:华为MateBook14
系统:Windows10
软件:vc1.0
1、首先打开vc,看见中间的窗口了吧,可以点击c结束(可能你的不是c结束但没有影响),或者直接点右上角的X关闭中间的窗口。
2、点击左上角的新建,出现了这个窗口,既然是初学者,可以不去理会工程这一栏,直接点击文件栏。
3、然后出现这样的窗口,点击(左击而且是单击)c++ source file,还没有结束,注意到右边吗,自己写一个名字,但是如果是写C语言的话要在名字后面加。
比如我打算写一段代码名字叫new world,那么在命名的时候就写new world.c否则系统会默认是c++文件。至于文件保存的位置,就随便你啦。
vc++ mfc 剪贴板操作教程
本文主要介绍了VC++/MFC中如下内容的剪贴板操作:
1、文本内容的操作
2、WMF数据的操作
3、位图的操作
4、设置使用自定义格式
5、感知剪贴板内容的改变
6、自动将数据粘贴到另一应用程序窗口
一、文本内容的操作
下面的代码示范了如何将文本内容复制到剪贴板(Unicode编码的先转化为ASCII):
CString source;
//文本内容保存在source变量中
if( OpenClipboard())
{
HGLOBAL clipbuffer;
char* buffer;
EmptyClipboard();
clipbuffer= GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);
buffer=(char*)GlobalLock(clipbuffer);
strcpy(buffer, LPCSTR(source));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
}
下面的代码显示了如何从剪贴板上获得文本内容:
char* buffer= NULL;
//打开剪贴板
CString fromClipboard;
if( OpenClipboard())
{
HANDLE hData= GetClipboardData(CF_TEXT);
char* buffer=(char*)GlobalLock(hData);
fromClipboard= buffer;
GlobalUnlock(hData);
CloseClipboard();
}
二、WMF数据的操作
在剪贴板上读写图象数据是非常有用的功能,并且实现起来也很简单。下面的代码显示了如何将扩展图元文件复制到剪贴板:
if(OpenClipboard());
{
EmptyClipboard();
//创建图元文件DC
CMetaFileDC* cDC= new CMetaFileDC();
cDC-CreateEnhanced(GetDC(),NULL,NULL,"the_name");
//调用绘图例程
//关闭CMetafileDC并获得它的句柄
HENHMETAFILE handle= cDC-CloseEnhanced();
//复制到剪贴板
SetClipBoardData(CF_ENHMETAFILE,handle);
CloseClipboard();
//删除dc
delete cDC;
}
下面的代码演示了从剪贴板获得图元文件并将其绘制到client DC上:
if(OpenClipboard())
{
//获得剪贴板数据
HENMETAFILE handle=(HENMETAFILE)GetClipboardData(CF_ENHMETAFILE);
//显示
CClientDC dc(this);
CRect client(0,0,200,200);
dc.PlayMetaFile(handle,client);
//关闭剪贴板
CloseClipboard();
}
三、位图的操作
位图的操作稍微复杂一点,下面这个例子显示了如何在剪贴板保存位图:
if(OpenClipboard())
{
EmptyClipboard();
CBitmap* junk= new CBitmap();
CClientDC cdc(this);
CDC dc;
dc.CreateCompatibleDC(cdc);
CRect client(0,0,200,200);
junk-CreateCompatibleBitmap(cdc,client.Width(),client.Height());
dc.SelectObje
ct(junk);
DrawImage(dc,CString("Bitmap"));
//复制数据到剪贴板
SetClipboardData(CF_BITMAP,junk-m_hObject);
CloseClipboard();
delete junk;
}
下面的代码显示了如何从剪贴板上获得位图数据:
if(OpenClipboard())
{
//获得剪贴板数据
HBITMAP handle=(HBITMAP)GetClipboardData(CF_BITMAP);
CBitmap* bm= CBitmap::FromHandle(handle);
CClientDC cdc(this);
CDC dc;
dc.CreateCompatibleDC(cdc);
dc.SelectObject(bm);
cdc.BitBlt(0,0,200,200,dc,0,0,SRCCOPY);
CloseClipboard();
}
四、设置并使用自定义格式
使用RegisterClipboardFormat()函数,可以复制和粘贴任何你需要的数据类型。比如我们有以下一个数据类型:
struct MyFormatData
{
long val1;
int val2;
};
我们要把它复制到剪贴板,可以使用如下的代码:
UINT format= RegisterClipBoardFormat("MY_CUSTOM_FORMAT");
if(OpenClipboard())
{
MyFormatData data;
data.val1= 100;
data.val2= 200;
HGLOBAL clipbuffer;
EmptyClipboard();
clipbuffer= GlobalAlloc(GMEM_DDESHARE, sizeof(MyFormatData));
MyFormatData* buffer=(MyFormatData*)GlobalLock(clipbuffer);
//保存到内存
*buffer= data;
//保存到剪贴板
GlobalUnlock(clipbuffer);
SetClipboardData(format,clipbuffer);
CloseClipboard();
}
读取数据使用以下代码:
UINT format= RegisterClipboardFormat("MY_CUSTOM_FORMAT");
MyFormatData data;
if(Openclipboard())
{
HANDLE hData=GetClipboardData(format);
MyFormatData* buffer=(MyFormatData*)GlobalLock(hData);
data=*buffer;
GlobalUnlock(hData);
CloseClipboard();
}
五、感知剪贴板内容的改变
通过Windows消息可以感知剪贴板内容是否发生改变,代码如下:
//In your initialization code call:
SetClipboardViewer();//将我们的程序添加到剪贴板观察链
//In your message map add:
ON_MESSAGE(WM_DRAWCLIPBOARD, OnClipChange)//添加Message handle
//Which is declared as:
afx_msg void OnClipChange();
Finally implement:
void CDetectClipboardChangeDlg::OnClipChange()
{
CTime time= CTime::GetCurrentTime();
SetDlgItemText(IDC_CHANGED_DATE,time.Format("%a,%b%d,%Y--%H:%M:%S"));
DisplayClipboardText();
}
六、自动将数据粘贴到另一应用程序窗口
只需获得相应窗口的句柄,并发送一个消息就可以了
好了,文章到这里就结束啦,如果本次分享的vc 教程和vc++6.0使用教程问题对您有所帮助,还望关注下本站哦!