MFC
mummily
只为更好的学习只为学的更好
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MFC_OnSize_改变窗口大小(WM_SIZE消息映射)
//当改变窗口大小时,调节控件EDIT的大小 void CChgWndDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); GetDlgItem(IDC_EDIT1)->MoveWindow(10,10,cx-20,cy-10); // 后面的那两个坐标要多减去10 } 注:要将窗原创 2013-03-21 21:05:25 · 4628 阅读 · 0 评论 -
MFC_SOCKET_关于socket的服务端与客户端的通信
1. 如何创建socket对象成功 1.1 创建socket对象 用到的头文件: #include #include #pragma comment(lib, "ws2_32") 创建对象: SOCKET sock = socket(2, 1, 0); if (INVALID_SOCKET != sock) { AfxMessageBox("成功"); } else原创 2013-03-25 23:18:48 · 874 阅读 · 0 评论 -
MFC_BitmapTool(点击图标做相应的操作)
效果图: 它的作用:点图标实现一个功能,该图标通过bitmap来实现 1. 新建一个bitmap文件 2. 在OnInitDialog()中,添加代码 // 对每个图标设置资源ID UINT array[10]; for (int i = 0;i { if (i ==3) array[i]= ID_SEPARATOR; //第四个按钮为分隔条 else array[i原创 2013-03-24 09:38:23 · 725 阅读 · 0 评论 -
MFC_OnPaint_设置窗口背景图片
1. 不会自动适应窗口大小 CRect rc; GetWindowRect(&rc); CDC *pDC; CDC memdc; CBitmap *olddc; CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); pDC=this->GetDC(); memdc.CreateCompatibleDC(p原创 2013-03-21 21:52:10 · 1313 阅读 · 0 评论 -
MFC_多线程的使用
1. 使用的头文件 #include "afxmt.h" //添加"afxmt.h"实现文件中能够正确使用同步类CSemaphore 关键理解:CSemaphore sem_Write(2,2); //资源最多访问线程2个,当前可访问线程数2个 函数一:WaitForSingleObject 函数用来检测hHandle 事件的信号状态,当函数的执行时间超过 dwMil原创 2013-03-26 22:58:01 · 598 阅读 · 0 评论 -
MFC_如何连接Access数据库_读取出的数据显示在树上
第一部分:如何建立连接 1. stdafx.h中添加: #import "c:\Program Files\\Common Files\\System\\ado\\msado15.dll" re_namespace ADODB \ rename("EOF","ADOEOF") using namespace ADODB; 2. 在当前应用的cpp里定义(和theApp的定义放一起):原创 2013-03-24 09:05:22 · 1019 阅读 · 0 评论 -
MFC_CMenu_CIconMenu_带图标的菜单
效果图: 1. 如何修改单文档的标题(注:一个窗口的图标是由两部分组成的:文档标题+应用标题,此处修改的是文档标题) 在*doc.h中添加: virtual void SetTitle(LPCTSTR lpszTitle); 之后实现: void ***Doc::SetTitle(LPCTSTR lpszTitle) { lpszTitle = "带图标的程序菜单";原创 2013-03-24 11:25:56 · 3710 阅读 · 0 评论 -
MFC_CMenu_AppendMenu_基于dialog的动态创建menu
标题:基于dialog的动态创建menu 使用方法: 1. 在对话框的OnInitDialog()中SetMenu(&m_menu),主要是对m_menu的编辑 2. 根 菜 单:m_menu.CreateMenu(); //如:“基础信息管理”、“系统管理” 弹出菜单:popmenu.CreatePopupMenu(); //如:“操作员信息” m_menu.Crea原创 2013-03-23 17:55:28 · 2831 阅读 · 0 评论 -
PostMessage - SendMessage
1. CWnd::PostMessage Bool PostMessage(UINT message,WPARAM wParam=0,LPARAM lParam=0); 返回值:Nonzero if the message is posted; otherwise 0.(即消息是否提交成功) 说明:将消息放入windows消息队列,就直接返回,需要通过使用GetMessage或PeekMes原创 2013-04-14 11:11:34 · 659 阅读 · 0 评论 -
MFC - 进程间传递消息命令
对话框: HWND hwnd=::FindWindow(NULL,"ReceiveMsg"); if(hwnd==NULL) { AfxMessageBox("没有找到接受消息的窗体"); return; } ::SendMessage(hwnd,WM_ENABLEBUTTON,0,0); 说明:自定义:#define WM_ENABLEBUTTON WM_USER原创 2013-03-21 20:41:12 · 657 阅读 · 0 评论 -
MFC_CComboBox - 添加字符 - 清空字符 - 获得当前字符 - 获得本机磁盘号
// 添加字符 void CCMyComDlg::OnButton1() { CComboBox* combobox1 = (CComboBox*)GetDlgItem(IDC_COMBO1); combobox1->AddString("男"); combobox1->AddString("女"); } // 清空字符 void CCMyComDlg::OnButton原创 2013-03-21 22:09:21 · 1244 阅读 · 0 评论 -
线程同步使用方法:CMutex_CEvent_关键代码段
《WIndows核心编程》机械工艺出版社:深入的了解多线程和线程同步的问题 3个的使用范围: 1. CMutex、CEvent、关键代码段 CMutex、CEvent:属于内核对象,速度比较慢,但可以拥有跨进程的线程同步 关键代码段:工作于用户方式下,同步速度快,可能会造成死锁,不能拥有跨进程同步 1. CEvent 1.1 CEvent g_event=CreateEvent(NUL原创 2013-04-29 22:38:30 · 965 阅读 · 0 评论 -
MFC - 进程间传递消息数据
>> SendMessage HWND hwnd=::FindWindow(NULL,"DataMsgClient"); if(hwnd==NULL) { AfxMessageBox("没有找到接受窗体"); return; } CString msgedit; GetDlgItem(IDC_EDIT1)->GetWindowText(msgedit);原创 2013-03-21 20:55:53 · 663 阅读 · 0 评论 -
memset;wmemset(源自msdn)
以下源自msdn: void *memset( void *dest, int c, size_t count ); wchar_t *wmemset( wchar_t *dest, wchar_t c, size_t count ); 翻译 2014-09-13 10:49:58 · 899 阅读 · 0 评论
分享