MFC
爱吃甜食_
一点点进步,让编程更有趣
展开
-
ScrollWindow时的坐标问题
做了一个模拟QQ设置,迅雷设置那样的界面。先画了一个很大的对话框显示全部内容,然后在初始化中SetWindowPos显示一部分内容,最后通过ScrollWindow滚动窗口实现。做的过程中遇到了一个问题:对话框上所有控件坐标是基于大对话框(即显示全部内容的对话框),而在程序运行中鼠标移动,点击等事件的坐标是基于当前窗口大小。解决方案:通过计算滚动条的nPos算出坐标偏移量,然后转换坐标原创 2015-11-05 09:50:59 · 595 阅读 · 0 评论 -
滚动窗口,Edit背景框变黑
用ScrollWindow时,Edit控件背景框变黑。在OnCtlColor中SetBkMode(TRANSPARENT)无效。思考了一下,是因为我在每次对话框重绘时,用纯白画刷刷了一遍对话框,但是控件所在区域应该是没有被刷到的。此时设置Edit透明,把Edit控件所在区域漏了出来,所以变黑。解决办法:用白色画刷,刷一遍Edit的背景即可。 if (nCtlColor == CTL原创 2015-11-05 09:48:55 · 531 阅读 · 0 评论 -
MFC对话框应用程序 如何在对话框窗口显示前获取窗口(控件)的屏幕坐标位置
对于MFC对话框应用程序,如果要在窗口显示之前对窗口控件赋值,一般都是在OnInitDialog()函数中编写相关代码。这是正确的,因为在调用OnInitDialog()函数的时候,对话框应用程序已经建立好了窗口及其子控件,只是还没有显示出来,窗口控件的句柄值是有效的。如果你需要获取窗口控件相对于屏幕的坐标位置呢?通过实验可以得知,在主对话框的OnInitDialog()中调用GetWindowR转载 2015-09-21 13:04:19 · 1591 阅读 · 0 评论 -
MFC中改变对话框背景的几个消息函数OnEraseBkgnd、 OnPaint、 OnCtlColor的调用顺序
设置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示时调用OnSize()->OnEraseBkgnd(),->OnPaint()->OnCtlColor(),若想改变对话框大小,比如全屏显示ShowWindow(SW_SHOWMAXIMIZED);UpdateWindow();其中 ShowWin转载 2015-09-24 16:14:01 · 957 阅读 · 1 评论 -
MFC 向指定窗口发送自定义消息
像MFC的窗口发送消息,可以进行自定义的动作行为,因此很多时候非常有用。 1. 在MSGDlg.h或者其他头文件中增加自定义自定义消息:#define WM_COUNT_MSG WM_USER+100 2. 在MSGDlg.h头文件中添加消息处理函数的声明 afx_msg LRESULT OnCountMsg(WPARAM,LPARAM); 3. 在CMSGD转载 2015-10-29 10:06:52 · 587 阅读 · 0 评论 -
两个子对话框传递参数
问题描述 基于MFC对话框的应用程序中一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMDDDlg类。在主对话框上我放置了一个标签页(Tab Control)控件,其实现的功能是当单击标签提示A时进入页面A,即对话框A(所对应的类为CDialogChild1),单击B时进入对话框B(CDialogChild2)。 在对话框A和对话框B上放置了许多控件,现在要实现这转载 2015-10-30 13:59:53 · 476 阅读 · 0 评论 -
部分透明,异形窗口
VC++使用CRgn 创建了一个部分透明的不规则窗体,编译并运行本例程序,右上角的小圆圈为透明部分。大致思路是:不显示窗体的某一部分区域,露出窗体下面对应的画面,这样就达到了该部分透明的效果。CRgn可以构造任意形状的一个窗体区域,包括在窗体中间挖一个洞。而SetWindowRgn(HWND hWnd,HRGNhRgn,BOOL bRedraw)函数将一个窗口区域hRgn 分配给窗口hWnd,系统转载 2015-11-17 20:33:57 · 746 阅读 · 0 评论 -
关于MessageBox返回值问题
风格设置MB_OK. 此时无论点击确定还是点击X,都返回IDOK。风格设置MB_OKCANCEL,点击确认返回IDOK,点击取消和X都返回IDCANCEL.风格设置MB_YESNO,点击是返回IDYES,点击否返回IDNO。 此时X不可点击!!风格设置MB_YESNOCANCEL,点击是返回IDYES,点击否返回IDNO,点击X返回IDCANCEL。原创 2016-09-01 15:48:07 · 3967 阅读 · 0 评论 -
MFC关闭指定edit输入法
关闭指定EDIT输入法原创 2017-02-15 14:59:19 · 1668 阅读 · 0 评论