随笔分类 -  VC Note

摘要:进程间的通信模式:①、剪贴板建立一个APPWIZARD,然后创建2个按钮(发送,接收),2个编辑框,对按钮添加函数;void CClickDlg::OnButtonSend() { //打开剪贴板,保存信息于剪贴板上 if(OpenClipboard()) { CString str; HANDLE hClip; char *pbuf;// EmptyClipboard(); GetDlgItemText(IDC_EDIT_SEND,str); hClip=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);//分配一个内存对象 //对一个内... 阅读全文
posted @ 2012-10-15 10:58 SolarJupiter 阅读(187) 评论(0) 推荐(0)
摘要:利用CreateEvent函数,创建线程互斥执行,是线程同步的另一种方式,(锁机制);#include <windows.h>#include <iostream.h>DWORD WINAPI func1proc(LPVOID lpParameter);DWORD WINAPI func2proc(LPVOID lpParameter);int tickets=100;HANDLE h_hevent;//保存时间对象的句柄,void main(){ HANDLE hthread1; HANDLE hthread2; hthread1=CreateThread(NULL, 阅读全文
posted @ 2012-10-12 22:30 SolarJupiter 阅读(197) 评论(0) 推荐(0)
摘要:区别:程序和进程、线程(轻量级进程)的概念;利用window库函数建立一个主线程和子线程的一个轮流执行#include <windows.h>#include <iostream.h>DWORD WINAPI func1proc(LPVOID lpParameter);int index=10;void main(){ HANDLE hthread1; hthread1=CreateThread(NULL,0,func1proc,NULL,0,NULL);//创建一个线程 CloseHandle(hthread1);//关闭句柄,不关闭线程,减少引用计数,计数为0释放; 阅读全文
posted @ 2012-10-11 22:21 SolarJupiter 阅读(276) 评论(0) 推荐(0)
摘要:文档和串行化首先利用CArchive结构建立两个读写文档的按钮,读写各种数据;void CGraphView::OnWrite() { CFile file("1.txt",CFile::modeCreate|CFile::modeWrite); CArchive Archive(&file,CArchive::store);//定义一个archive结构 int i=4; char ch='a'; float f=1.3f; CString str("我的测试数据"); Archive<<i<<ch< 阅读全文
posted @ 2012-09-04 16:41 SolarJupiter 阅读(192) 评论(0) 推荐(0)
摘要:文件的操作1、指向常量的指针 const char *pstr=ch;//此处不可以修改pstr所指向的值,但是pstr本身的值可以变化;2、指针常量,char* const pstr,指针本身是常量,不能修改;指向的内容可以修改字符数组的初始化办法:(1)char ch[3]={'a','b','c'}; (2)char ch[]={'a','b','c'}; (3)逐个元素初始化;(4)字符串常量初始化 char ch[]="我的测试数组";(5)多维数组初始化:char s 阅读全文
posted @ 2012-09-01 12:25 SolarJupiter 阅读(238) 评论(0) 推荐(0)
摘要:图形的保存和重绘首先建立画图的四个选项:点,线,矩形,椭圆的按钮,并添加成员变量,表示每个图形的种类;其次添加m_drawtype,和cpoint记录用户选择的画图类型和点的坐标位置;添加消息响应函数,BUTTONDOWN和BTUTTONUP;并在函数里面实现画图的函数;void CGraphic1View::OnPoint() { // TODO: Add your command handler code here m_nDrawType=1;}void CGraphic1View::OnLine() { // TODO: Add your command handler code her 阅读全文
posted @ 2012-08-31 15:37 SolarJupiter 阅读(129) 评论(0) 推荐(0)
摘要:图形的绘制,设置对话框,字体对话框,显示位图实现画点,线,圆,矩形,首先菜单上添加4个按钮,然后添加相应函数;void CGraphicView::OnRect() { m_DrawType=3;// TODO: Add your command handler code here }void CGraphicView::OnEclipse() { m_DrawType=4;// TODO: Add your command handler code here}void CGraphicView::OnPoint() { m_DrawType=1;}void CGraphicView::OnL 阅读全文
posted @ 2012-08-27 08:30 SolarJupiter 阅读(196) 评论(0) 推荐(0)
摘要:修个一个窗口的样式可以再函数BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs),中改变;BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.cx=300;//修改窗体的高和款,显示 cs.cy=200; 阅读全文
posted @ 2012-08-24 21:00 SolarJupiter 阅读(389) 评论(0) 推荐(0)
摘要:MFC里面的对控件的操作都是通过对响应的类的操作;创建属性表单时:1首先创建实例对象对话框,然后创建该对话框的类,以备于在CPropertySheet中使用;2创建属性表对象,利用CPropertySheet实例对象,然后在该类中添加实例对象类的成员变量public: CProp3 m_prop3; CProp2 m_prop2; CProp1 m_prop1; 3,利用AddPage()函数初始化实例对象;CPropSheet::CPropSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage) :CPropertySheet(nI 阅读全文
posted @ 2012-08-24 19:09 SolarJupiter 阅读(380) 评论(0) 推荐(0)