
vc++程序设计
AllanSuen
这个作者很懒,什么都没留下…
展开
-
MFC绘图3--使用普通画刷
//使用普通画刷CClientDC dc(this);CBrush brush(RGB(255,0,0));dc.FillRect(CRect(m_ptOrigin,point),&brush);原创 2005-07-16 10:19:00 · 1727 阅读 · 0 评论 -
看孙鑫老师VC++视频教程笔记 之 多线程编程(一)
一、创建一个线程 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationF原创 2005-07-13 14:53:00 · 1882 阅读 · 0 评论 -
MFC绘图7--显示位图
1、将位图加载到内存DC中2、将内存DC中的内容绘制到要显示位图的DC中*MFC中没有直接用来加载位图的函数,可以使用WindowsAPI中的LoadImage函数来加载位图,其原型如下:HANDLE LoadImage(HINSTANCE hinst, //位图实体句柄,若位图在硬盘或者资源文件//中,则将该参数设为NULLLPCTSTR lpszName, //位图所在路径及文件名,或者资源名原创 2005-07-16 10:39:00 · 1774 阅读 · 0 评论 -
MFC绘图6--设置绘图模式
SetROP2The SetROP2 function sets the current foreground mix mode. GDI uses the foreground mix mode to combine pens and interiors of filled objects with the colors already on the screen. The foreground原创 2005-07-16 10:36:00 · 1441 阅读 · 0 评论 -
MFC绘图5--使用透明画刷
//创建透明画刷CClientDC dc(this);//使用(HBRUSH)GetStockObject可以返回空画刷句柄,但CBrush //无法通过画刷句柄构造,可通过给其静态成员函数FromHandle传递HBRUSH //句柄获得CBrush指针 CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));C原创 2005-07-16 10:22:00 · 6717 阅读 · 1 评论 -
MFC绘图4--使用位图画刷
CClientDC dc(this);//CBitmap对象必须在构造完成后,调用其成员函数//进行初始化,例如:LoadBitmap()CBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP1);CBrush brush(&bitmap);dc.FillRect(CRect(m_ptOrigin,point),&brush);原创 2005-07-16 10:20:00 · 1878 阅读 · 0 评论 -
MFC绘图1--使用不同DC
//使用HDC绘图/*HDC hdc;hdc=::GetDC(m_hWnd);MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);LineTo(hdc,point.x,point.y);::ReleaseDC(m_hWnd,hdc);*///所有跟窗口相关的操作都被封装在CWnd类中//所有跟绘图相关的操作都被封装在CDC类中//使用CDC绘图/*CDC *p原创 2005-07-16 10:07:00 · 1234 阅读 · 0 评论 -
使用自定义消息
1、在头文件中定义消息ID #define WM_MYMESSAGE (WM_USER + 1)2、在头文件中添加消息响应函数原型声明 afx_msg void OnMyProc ( WPARAM wParam, LPARAM lParam );3、在定义文件中添加消息映射 ON_MESSAGE ( WM_MYMESSAGE, OnMyProc );4、实现消息原创 2005-07-16 09:07:00 · 902 阅读 · 0 评论 -
看孙鑫老师VC++视频教程笔记 之 多线程编程(三)
一、使用WSAStartup()加载套接字库 参考MSDN中的范例代码,拷贝到自己的程序中修改即可。注意不再使用套接字后调用WSACleanup()。二、使用AfxSocketInit()加载套接字库(MFC) BOOL AfxSocketInit( WSADATA* lpwsaData = NULL ); 参数1:指向WSADATA结构体原创 2005-07-15 16:33:00 · 1664 阅读 · 0 评论 -
看孙鑫老师VC++视频教程笔记 之 多线程编程(二)
一、线程的同步 创建互斥对象完成线程同步 : HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCTSTR lpName ); 打开一个命名的或者没有名字的互斥对象: 参数1:指向SE原创 2005-07-13 17:01:00 · 2956 阅读 · 1 评论 -
MFC绘图8--生成镂空图
1、利用BitBlt函数将蒙版与背景图做AND运算,并贴图到目的DC2、将要镂空的图与背景图做OR运算,贴图到目的DC部分代码://取得客户取大小GetClientRect(&rect);//建立内存DCmdc->CreateCompatibleDC(pDC);//加载背景位图m_bgBmp.m_hObject=(HBITMAP)::LoadImage(NULL,"b1.bmp",IMAGE_BI原创 2005-07-16 10:41:00 · 2142 阅读 · 0 评论 -
MFC绘图2--画出其他颜色线条
CClientDC dc(this);//创建DC//1、创建画笔CPen pen(PS_SOLID,1,RGB(255,0,0));//2、将画笔选到设备描述表中并返回被替换的画笔指针CPen *pOldPen=dc.SelectObject(&pen);//3、绘图dc.MoveTo(m_ptOrigin);dc.LineTo(point);//4、将先前被替换的画笔重新选到设备描述表dc.S原创 2005-07-16 10:17:00 · 2418 阅读 · 0 评论