摘要:
DDX_TEXT()的作用可以理解为把字符串变量和控件的文本(WindowText)关联起来, DDX_Control()的作用可以理解为把变量和控件本身关联起来, DoDataExchange(pDX)就是处理所有变量与其关联控件交换数据的函数。void CView::DoDataExchange 阅读全文
随笔分类 - win32 sdk 和 MFC
MFC Dialog使用
2019-04-12 15:48 by youxin, 5075 阅读, 收藏, 编辑
摘要:
1. OnInitDialog 对话框初始化函数 在MFC主对话框OnInitDialog()中弹出对话框 BOOL CXXXDlg::OnInitDialog() { CDialogEx::OnInitDialog(); SetIcon(m_hIcon, TRUE); SetIcon(m_hIco 阅读全文
C++ MFC万能的类向导
2019-04-12 13:54 by youxin, 819 阅读, 收藏, 编辑
摘要:
MFC的类向导 只要你掌握了类向导,你基本就已经掌握了MFC了,毕竟布局和代码都是自动生成,再加上C++基础上手还是挺快的,剩下的就是多多练习了。 转自: https://blog.csdn.net/qq_20330595/article/details/82497357 阅读全文
MFC 对话框不显示,返回-1 原因
2019-04-12 11:33 by youxin, 4162 阅读, 收藏, 编辑
摘要:
DoModal失败原因 1、MFC 通常对话框不显示的原因有 1 父窗口HWND无效 2 在ONINITDIALOG里用了ENDDIALOG 3 无效的对话框资源ID 4 使用没有注册的的自定义控件 5 对话框的某些控件创建失败,如RICHEDIT,要加上AfxInitRichEdit(); (我就 阅读全文
_sntprintf_s 和 _sntprintf 区别 sntprinf内存溢出
2019-03-23 15:27 by youxin, 2616 阅读, 收藏, 编辑
摘要:
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/snprintf-s-snprintf-s-l-snwprintf-s-snwprintf-s-l?view=vs-2017 int _snprintf_s( char 阅读全文
MFC radio button 绑定变量用法
2013-12-24 12:40 by youxin, 1383 阅读, 收藏, 编辑
摘要:
我们在对话框中拖动一个radio button控件,然后点击类向导,结果却发现在MemberVariables里看不到Radio控件的ID。这是为什么?2.1 三个Radio Button,ID分别为: IDC_RADIO1, IDC_RADIO2, IDC_RADIO3;(三个ID值需要连续递增, 三个Tab值也是连续递增)http://eyinlu.blog.163.com/blog/static/2423216120113721933413/ 阅读全文
利用netstat和tasklist查看PC的端口占用情况 及80端口被占用
2013-10-21 22:12 by youxin, 1469 阅读, 收藏, 编辑
摘要:
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口?1、Windows平台在windows命令行窗口下执行:E:\oracle\ora92\bin>netstat -ano |find ":80"TCP 172.18.2.56:3311 172.18.40.3 阅读全文
修改注册表WriteProtect键值解决U盘“无法复制:磁盘被写保护
2013-01-13 19:21 by youxin, 1794 阅读, 收藏, 编辑
摘要:
打开运行输入regedit进入注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies项,将右侧窗口中名为WriteProtect的键值改为0.如果想禁止写入,改为1.如果没有这个项,可以自己新建。 阅读全文
vc SetTimer 使用
2013-01-13 08:16 by youxin, 751 阅读, 收藏, 编辑
摘要:
SetTimer函数创建或设置一个定时器,该函数创建的定时器与Timer控件(定时器控件)效果相同。当你想每隔一段时间执行一件事的的时候,你可以使用它。 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。用WM_TIMER来设置定时器SetTimer函数的原型UINT_PTR SetTimer(HWND hWnd, //窗口句柄UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器UINT nElapse, // 时 阅读全文
vc类视图看不到视图类或其他的类
2013-01-13 08:08 by youxin, 397 阅读, 收藏, 编辑
摘要:
把工程中的.asp .ncb .opt删除,再打开试试。如果工程还是没有类视图,重新添加头文件和cpp文件,重新编译和链接就可以了。 阅读全文
VC/MFC如何设置对话框背景颜色
2013-01-13 02:27 by youxin, 461 阅读, 收藏, 编辑
摘要:
网上流传有四种方法(可能还不止),在VC++2008SP1测试后,发现只有三种可以使用了,其中第一种被废弃了。以下是四种方法:方法一(失效):调用CWinApp类的成员函数SetDialogBkColor来实现。其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对 话框设置为蓝色背景和红色文本,步骤如下:① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。② 在CExampleDlgApp ::InitInstance()中添加如下代码:BOOLCExampleDlgApp: : InitInstance ( ){… CExa 阅读全文
VC更改View背景色的几种方式
2013-01-13 02:02 by youxin, 348 阅读, 收藏, 编辑
摘要:
1。添加消息映射OnEraseBkgnd,BOOLCSampleView::OnEraseBkgnd(CDC*pDC){//设置所要求背景色的刷子CBrushbackBrush(RGB(255,128,128));//保存旧刷子CBrush*pOldBrush=pDC->SelectObject(&backBrush);CRectrect;pDC->GetClipBox(&rect);//擦除所需的区域pDC->PatBlt(rect.left,rect.top,rect.Width(),rect.Height(),PATCOPY);pDC->Selec 阅读全文
转:MFC 基于对话的程序界面显示完全后立即执行一个函数
2013-01-13 01:54 by youxin, 1360 阅读, 收藏, 编辑
摘要:
基本上网上百度来的,和一些帖子里的讨论都是这两个方案。1.可以在OnInitDialog最后用SetTimer然后在onTimer里KillTimer,再执行函数2.也可以在OnInitDialog最后用PostMessage让对话框响应一个函数去执行但我认为,前者在时间设定上不好敲定,时间长短没有准确依据,如果CPU很忙,可能很长时界面也没显示出来呢。后者倒是个好方法。不过,在哪里PostMessage,也有很多说法。OnInitDialogOnPaintint nResponse = dlg.DoModal();语句之后这三处,经过我实际测试,只有第一处可行。其它两个会不断的执行影响函数。 阅读全文
转:vc6以上如何给MFC对话框添加OnInitDialog函数
2013-01-13 01:50 by youxin, 633 阅读, 收藏, 编辑
摘要:
Don't feel stupid, it took me forever to figure this out when I first moved from VC6 to VS2008!Anyway, and also for my own reference, here are the complete steps for adding a dialog box and overriding theOnInitDialogmethod:SelectResource Viewand expand the .rc file.Right-click theDialogentry in 阅读全文
删除MFC单文档默认菜单栏的两种方法
2013-01-13 01:48 by youxin, 975 阅读, 收藏, 编辑
摘要:
新建一个MFC单文档程序,默认都有四个菜单栏:文件、编辑、视图和帮助。怎么把这四个菜单栏删除掉呢?有两种方法:第一种方法:重载框架类的Create函数,具体代码如下:BOOL CMainFrame::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle , const RECT& rect , CWnd* pParentWnd , LPCTSTR lpszMenuName , DWORD dwExStyle , CCreateContext* pContext){ // TODO: 在此添加专用代码和/或 阅读全文
转:MFC静态文本与窗口背景色一致
2013-01-13 01:37 by youxin, 384 阅读, 收藏, 编辑
摘要:
MFC静态文本与窗口背景色一致重写WM_CTLCOLOR :HBRUSH CWeatherTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); switch (pWnd->GetDlgCtrlID()) { case IDC_STATIC_WEEK: //为静态文本框的资源ID号 { pDC->SetBkMode(TRANSPARENT); pDC->SetTextCol... 阅读全文
mfc更改背景色
2013-01-12 22:15 by youxin, 470 阅读, 收藏, 编辑
摘要:
如何更改MFC中单文档背景颜色?单文档会生产一个View类,在CXXXView类的OnDraw函数里面修改一下就好了我生成的View类是CTTTView,代码如下:void CTTTView::OnDraw(CDC* pDC){ CTTTDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CRect rect; GetClientRect(rect);//先得到客户区 pDC->FillSolidRect(rect, RGB(100, 255, 100));/ 阅读全文
(转)VC单选按钮控件(Radio Button)用法
2013-01-12 20:07 by youxin, 531 阅读, 收藏, 编辑
摘要:
先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();返回1表示选上 阅读全文
VC中Edit控件和Spin控件的使用
2013-01-12 20:05 by youxin, 3129 阅读, 收藏, 编辑
摘要:
spin控件(旋转按钮控件)设置属性:Auto Buddy(自动取关联控件为TAB顺序前一个)SetBuddy Interger(使控件设置关联控件数值,这个值可以是十进制或十六进制)Wrap(数值超过范围时循环)Arrow keys(当按下向上和向下方向键时,控件可以增加或减小)OnInitDialog函数中设置控件数值范围:SetRange(0,255);旋转按钮控件 “旋转按钮控件”(也称为上下控件)是一对箭头按钮,用户点击它们来增加或减小某个值,比如一个滚动位置或显示在相应控件中的一个数字。一个旋转控件通常是与一个相伴的控件一起使用的,这个控件称为“伙伴窗口”。一个旋转按钮控件可以自动 阅读全文
vc获取程序当前路径
2013-01-12 16:26 by youxin, 354 阅读, 收藏, 编辑
摘要:
得到运行程序所在路径:(其实得到的是当前执行程序存放路径)。TCHAR szFilePath[MAX_PATH + 1];GetModuleFileName(NULL, szFilePath, MAX_PATH);(_tcsrchr(szFilePath, _T('\\')))[1] = 0;CString strtemp=szFilePath;函数说明:GetModuleFileName:TheGetModuleFileNamefunction retrieves the full path and filename for the executable file conta 阅读全文