MFC/SDK
文章平均质量分 74
13820
这个作者很懒,什么都没留下…
展开
-
VC添加按钮
MFC中Afx为前缀的函数,为全局函数。例:AfxGetApp返回 指向CWinApp的对象的指针 文档/视类结构文档类:从CDocument中派生的 用于管理 存放 加载 数据.视类:从CWnd派生的 用于显示 和 修改.MFC中 为了将 数据和显示 分离开来,于是就搞出了文档/视类结构。 窗口类 窗口类对象 和 窗口窗口类是类窗口类对象 不是 窗口.原创 2013-09-07 18:20:44 · 743 阅读 · 0 评论 -
vc文档串行化
1. CArchive在菜单打开保存时的代码 CFile file("1.txt",CFile::modeCreate | CFile::modeWrite); CArchive ar(&file,CArchive::store); int i=4; char ch='a'; float f=1.3f; CString str("http://www.sunxin.org")转载 2013-10-12 10:07:47 · 750 阅读 · 0 评论 -
VC网络编程
ISO/OSI 7层:为的是解决因网络环境复杂的问题,从而划分为一个个的小模块.从下往上说:1.物理层2.数据链路层3.网络层4.传输层5.会话层6.表示层7.应用层 TCP/IP模型从下往上说:1.网络接口层2.网络层3.传输层4.应用层 先下机 明天补充原创 2013-10-13 18:43:45 · 648 阅读 · 0 评论 -
vc多线程
一些概念进程和线程的概念: 套用 孙鑫的来说 进程就好像一个手术室.线程就是里面的医生,线程当中一定有一个主线程也就是程序里的main或winmain.记住代码不是线程.代码相当于医生的手术方案,你完成了手术方案,你医生就完成工作了. 也就是说代码的结束相当于线程的结束.一个进程当中可以有1个以上的线程.当然在程序当中你必须自己创建新的线程咯.我们可以当创建一个新线程为主刀医生叫一个新的原创 2013-10-14 18:12:15 · 478 阅读 · 0 评论 -
vc线程同步
线程同步的另外两种方式1.事件对象2.关键代码段,即临界区. 1.事件对象:内核对象 包含三成员:使用计数,人工重置还是自动重置,有信号无信号创建事件对象HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOLbManualReset, BOOLbInitialState, LPTSTRl原创 2013-10-17 19:08:03 · 547 阅读 · 0 评论 -
vc开发ActiveX控件
容器和服务器程序 容器应用程序时可以嵌入或链接对象的应用程序。Word就是容器应用程序。 服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。Excel就是服务器应用程序。 ActiveX控件不能独立运行,它必须被嵌入容器应用程序中,和容器应用程序一起运行。 Dispatch maps调度映射,主要是MFC提供让外部应用程序可以访问控件的属性和方法 Event m转载 2013-10-24 13:56:24 · 697 阅读 · 0 评论 -
vc异步套接字
MFC 创建异步套接字的网络聊天程序1.首先包含 winsock2.h2.工程-设置 链接 ws2_32.lib3.在app类的InitInstance()中加载套接字库 因为要用2.2的版本 所以AfxSocketInit()不用 不过AfxSocketInit加载1.1版本很方便 并且可以省去上面两步骤BOOL CChat16App::InitInstance(){ W原创 2013-10-17 19:23:03 · 761 阅读 · 0 评论 -
vc编写动态链接库
静态库和动态库 静态库:函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.EXE文件); 动态库: 在使用动态库的时候,往往提供两个文件:一个因入库和一个DLL。因入库包含被DLL导出的函数和变量的符号名,DLL包含实际的函数和数据。在编译链接原创 2013-10-24 20:46:21 · 589 阅读 · 0 评论 -
vc安装hook
钩子的创建钩子安装函数:HHOOK SetWindowsHookEx( int idHook, // hook type 钩子的类型 HOOKPROC lpfn, // hook procedure 钩子的过程函数 HINSTANCE hMod, // handle to原创 2013-10-25 16:52:33 · 619 阅读 · 0 评论 -
vc进程间通信
vc进程通信4种方式:1.前面的剪贴板2.匿名管道3.命名管道4.油槽匿名管道父进程void CParentView::OnPipeCreate() { // TODO: Add your command handler code here SECURITY_ATTRIBUTES sa; sa.bInheritHandle=TRUE;//指定匿名管道 句柄是否可以被继承原创 2013-10-21 16:23:26 · 671 阅读 · 0 评论 -
vc创建文件对话框
1.先构造一个 CFileDialog对象CFileDialog::CFileDialogCFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_原创 2013-10-10 11:38:00 · 912 阅读 · 0 评论 -
vc对win.ini和注册表的 读与写
WinIni文件的读写CWinApp::WriteProfileString xp的环境下写入注册表CWinApp::GetProfileString xp的环境下读取注册表::WriteProfileString Win32API xp的环境下写入c:\window\win.ini::GetProfileString Win32API xp的环境下读取c:\window\原创 2013-10-10 11:39:19 · 649 阅读 · 0 评论 -
vc创建对话框
模态对话框的创建: 创建模态对话框要调用CDialog类的成员函数:DoModel(),创建一个模态对话框,其返回值作为CDialog类的另一个成员函数:EndDialog的参数,后者的功能就是关闭模态对话框。 Void CMyboleView::OnDialog(){ CTestDlg dlg;//视类中源文件要包含这个类的头文件原创 2013-09-24 17:52:07 · 846 阅读 · 0 评论 -
VC简单画图
1.新建单文档工程2.首先在CDrawView中添加 private成员 CPoint m_ptOrigin(用来记录原点的)3.然后再VC的类向导中 添加 两个 消息 一个是 鼠标按下的 一个是 弹起的4.在CDrawView构造函数中 初始化CPointvoid CDrawView::OnLButtonUp(UINT nFlags, CPoint point) { /原创 2013-09-08 19:48:54 · 732 阅读 · 0 评论 -
VC文本编程
VC创建插入符CWnd::CreateSolidCaret原创 2013-09-09 20:42:09 · 542 阅读 · 0 评论 -
Windows创建窗口程序
Windows中创建一个窗口程序必须 经过几个步骤1.设计 WinMain函数2.设计WNDCLASS窗口类 3.注册窗口类RegisterClass4.创建窗口 CreateWindow5.显示 更新窗口 ShowWindow UpdateWindow6.编写消息循环 GetMessage7.编写窗口过程函数 WindowProc 遵循以上步骤 编写原创 2013-09-05 17:59:20 · 775 阅读 · 0 评论 -
VC工具栏编程
工具栏编程工具栏上的按钮ID与菜单项ID一样,因为工具栏是为了方便使用一些常用的菜单项命令.工具栏删除按钮:按delete是没用的只是将按钮的图像删掉了,正确的方法应该是,用鼠标把想删除的按钮拖出去.创建工具栏的方法:1.创建工具栏资源2.构造CToolBar对象3.调用Create或CreateEx函数创建工具栏,并把它与已创建的CToolBar对象关联起来.4.Lo原创 2013-09-30 15:23:53 · 734 阅读 · 0 评论 -
MFC定制应用程序外观
定制应用程序外观1.在应用程序创建之前修改它的外观和大小例如修改窗口大小BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles he原创 2013-09-29 20:01:36 · 599 阅读 · 0 评论 -
VC菜单编程
菜单命令的路由命令消息是由OnCommadn这个函数来处理的当单击菜单项参数命令消息后。框架类会收到此条消息,然后框架类会把消息给视类。视类会查找自己是否对该消息作出响应,如果有,则进行相应的处理结束路由过程。没有则交给文档类,文档类也会查找是否对消息做出响应,作出了则结束,否则 又给视类,视类又给框架类,框架类又给应用程序类。屏蔽菜单项,使之不能用 (需要在CMainFr原创 2013-09-16 20:35:39 · 595 阅读 · 0 评论 -
VC绘图控制
VC颜色对话框设置颜色对话框出初始选择的颜色,必须设置CC_RGBINIT标记.mcc.Flags|=CC_RGBINIT.设置CC_FULLOPEN可以让颜色对话框全部展开mcc.Flags|=CC_RGBINIT|CC_FULLOPEN.mcc.rgbResult保存了选择的颜色.示例代码:void CGraphicView::OnColor() { //原创 2013-10-02 20:31:31 · 505 阅读 · 0 评论 -
MFC加入滚动条
1. 可以在新建MFC程序时从CScrollView中派生类,也可以手动修改选择VC菜单项Edit-Replace2. 第一步做好后,当你编译运行时,程序会出错!并且不会出现滚动条,我们还要在窗口创建完毕后,我们可以添加个虚函数OnInitialUpdate()。在OnInitialUpdate()调用SetScrollSizes函数设置滚动条范围,因为OnInitialUpdat原创 2013-10-05 16:47:01 · 1223 阅读 · 0 评论 -
vc创建属性表单向导
属性表单 1.插入属性页资源。Insert->new Resource->Dialog 2.当选择Classwizard菜单时,系统提示是否为创建新的类,我们将其从CPropertyPage派生!这样可以为方便为其增加消息响应函数。 3.插入新的从CPropertySheet派生的类,在类中增加3个CPropertyPage的实例。 4.在view中增加菜单项,当点击原创 2013-09-24 17:56:54 · 704 阅读 · 0 评论 -
vc创建剪贴板
1.打开剪贴板OpenClipboard(),2.EmptyClipboard()清空剪贴板获得剪贴板的权限3.分配内存GlobalAlloc4.加锁 得到分配内存的指针6.复制数据到指针指向的内存中5.解锁6.设置剪贴板数据void CClipboardDlg::OnBtnSend() { // TODO: Add your control notificat原创 2013-10-21 14:38:33 · 642 阅读 · 0 评论