C++--MFC
山西茄子
多媒体工程师,从事ffmpeg,gstreamer,视频编码,deepstream等开发,做做笔记。
展开
-
MFC--常用理论
WindowProc和DefWindowProc的区别WindowProc是你给自己的窗口定义的窗口处理函数,DefWindowProc是windows平台提供的默认窗口处理函数,如果某些消息你不需要做特别的处理,调用DefWindowProc进行处理就可以了,不需要你自己再去些那些windows的"标准动作" 。头文件的作用#include // MFC core原创 2012-08-30 23:21:42 · 955 阅读 · 0 评论 -
MFC--绘图
一 绘图环境绘图需要DC,各个DC的关系如下图:二 绘图工具包括画笔,画刷等,如下图:以画笔为例,试用方法如下; CClientDC dc(this); CPen pen(PS_SOLID, 1, RGB(255, 0, 0)); //参数一为类型;参数二为宽度,参数三为颜色。 CPen* pPen = dc.SelectObject(&pen);用完之原创 2013-02-28 21:06:14 · 977 阅读 · 0 评论 -
MFC--CView
CView的结构如下:CScrollViewclass CScrollView : public CViewSetScrollSizesvoid SetScrollSizes( int nMapMode, SIZE sizeTotal, const SIZE& sizePage = sizeDefault, const SIZE& sizeLine = sizeDefault原创 2013-03-01 16:35:07 · 745 阅读 · 0 评论 -
MFC--位图
如何显示位图?[cpp] view plaincopyprint?CDC Dc; if(Dc.CreateCompatibleDC(pDC)==FALSE) AfxMessageBox("Can't create DC"); Dc.SelectObject(&m_bitmap); pDC->BitBlt(10,10,500,500原创 2012-09-05 23:21:05 · 784 阅读 · 0 评论 -
界面--DirectUI
DirectUI简介 DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Playe转载 2013-05-17 23:29:46 · 966 阅读 · 0 评论 -
MFC--常见问题
1 创建了一个windows的dll,但是引入一个带CPoint的头文件,编译不过。解决:CPoint的都文件为#include "atltypes.h",加上即可。原创 2013-06-15 10:10:38 · 675 阅读 · 0 评论 -
CComboBox技巧
1. CComboBox风格CBS_AUTOHSCROLL //自动水平滚动条 CBS_DISABLENOSCROLL //选中时始终显示滚动条 CBS_DROPDOWN //下拉式 CBS_DROPDOWNLIST //下拉列表 CBS_HASSTRINGS //为字符串提供GetT转载 2013-11-11 15:38:32 · 1113 阅读 · 0 评论 -
CListBox
CListBox是MFC中的列表框类,常用的方法如下: 加入内容m_cFileList.AddString(fileData.cFileName);获得某行的索引 int nsel = m_cFileList.GetCurSel(); 获取某行的内容 m_cFileList.GetText(nsel,m_FileName); 清空所有内容 m_cFileLi原创 2013-11-11 14:52:11 · 862 阅读 · 0 评论 -
CFileFind
CFileFind是为另两类查找特殊服务器设计的MFC类的基类,CGopherFileFind在Gopher服务器上工作,CFtpFileFind在FTP服务器上工作,这些类为用户查找文件提供了一种无缝机制,与服务器协议、文件类型、地点、本地机器或远程服务器无关。以下代码将当前目录下的文件枚举出来并打印每个文件名:CFileFind finder BOOL bWorking = f转载 2013-12-09 22:23:57 · 1066 阅读 · 0 评论 -
CString的用法
Find CString s( "abcdef" );ASSERT( s.Find( 'c' ) == 2 );ASSERT( s.Find( "de" ) == 3 );// Second example demonstrating // CString::Find( TCHAR ch, int nStart )CString str("The stars are ali原创 2013-11-19 10:38:28 · 1065 阅读 · 0 评论 -
MFC下DLL的共享方式与静态方式
VC工程-设置里的使用MFC作为共享的DLL ,使用MFC作为静态链接库 二者有何区别,各有什么好处??而且用MFC开发的程序里如果用到了其它的动态库,就要加载这些动态库,分为动态加载和静态加载,选用动态加载或者静态加载和前面那个选使用MFC作为共享的DLL和使用MFC作为静态链接库有什么关系吗?? VC工程-设置里的使用MFC作为共享的DLL ,使用MFC作为静态链接库,这两选择转载 2014-10-27 14:33:07 · 985 阅读 · 0 评论 -
MFC--CTreeCtrl
CTreeCtrl在树形控件中每一个结点都有一个句柄(HTREEITEM),同时添加结点时必须提供的参数是该结点的父结点句柄,(其中根Root结点只有一个,既不可以添加也不可以删除)利用HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST转载 2012-08-31 20:03:01 · 801 阅读 · 0 评论 -
MFC数组类
MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CArray,CUIntArray,CDArray,CStringArray,CObArray,CPtrArray。详见下表:数组类变量类型变量数值范围头文件CArray通过模板类的参数类型设定各种类型 Afx转载 2015-05-08 10:12:12 · 923 阅读 · 0 评论 -
MFC--CTabCtrl的使用
下面发一个最简单的代码,使用CTabCtrl控件实现属性页功能。 1、建立一个基于对话框的应用程序; 2、画CTabCtrl控件,类向导中关联变量名为m_tab,新建三个对话框属性 设为Child,None,用ClassWizard生成新的类,基类为Cdialog,分别为Cpage0,Cpage1,Cpage2,ID号分别为 IDD_DIALOG0,IDD_DIALOG1,IDD_DIAL转载 2013-02-19 09:23:36 · 863 阅读 · 0 评论 -
MFC--对话框
双击全屏void CPDlg::OnLButtonDblClk(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CReceiveDlg* pTemp =(CReceiveDlg*)GetOwner(); if(m_bfull原创 2012-09-05 17:34:42 · 1189 阅读 · 0 评论 -
MFC--按钮(radio button,check box)
CBitmapButton类 在MFC中,要使用图形按钮,一般会选择CBitmapButton类,使用CBitmapButton类可以设置按钮的Normal、Selected、Focused和Disabled四种状态的bmp图像,这四副状态图像要求同尺寸大小,其中normal状态图片是必需提供的。常见调用代码示例:CBitmapButton m_bmpBtn; DDX_C原创 2012-08-30 23:12:12 · 1371 阅读 · 0 评论 -
MFC--CEdit
一 属性设置通过Styles标签页的设置,可以得到不同类型的编辑框样式:多行编辑框、密码编辑框,只读编辑框,大小写转换编辑框、数字编辑框等等。1 .Align text控制编辑控件中的文本对齐方式。可能的取值有左对齐、居中和右对齐。2: Muttiline定义该编辑控件为多行文本编辑。通常情况下,该选项不被选中。3. Number限定用户输入的只能是数字原创 2013-03-29 12:20:50 · 913 阅读 · 0 评论 -
MFC--消息
如何自定义消息1定义消息#define WM_DATAARRIVE WM_USER + 22.消息声明:afx_msg LONG OnDataArrive(WPARAM wParam,LPARAM lParam); 3.消息映射:ON_MESSAGE(WM_DATAARRIVE, OnDataArrive)4.函数实现LONG CNetmonit原创 2012-12-17 12:18:53 · 601 阅读 · 0 评论 -
MFC--CToolBar
1 创建 CToolBar m_wndToolBar;BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, UINT nID = AFX_IDW_TOOLBAR );参数说明pParentWnd:标识父窗口。dwStyle:标识工具栏风格。可选值如下:CBRS原创 2013-03-02 09:20:25 · 2119 阅读 · 0 评论 -
MFC--框架封装
MFC封装了如下的消息循环,不用每次都写一遍。#include //函数声明BOOL InitWindow( HINSTANCE hInstance, int nCmdShow );LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );//变量说明HWND转载 2012-09-05 10:50:46 · 716 阅读 · 0 评论 -
MFC--用SkinMagicSDK换皮肤
先到百度上搜索SkinMagicToolkit并下载回来,里边包含以下的文件:SkinMagicLib.h 头文件;SkinMagic.lib + SkinMagic.dll 动态连接库文件;SkinMagicLibMD6.lib 发布版的静态连接库;SkinMagicLibMT6.lib 调试版的静态链接库。由于向我这样的新手写的应用程序也就一个可执行文件,所以在这里就先说一下静态链接的方法并且转载 2012-10-07 13:42:02 · 871 阅读 · 0 评论 -
MFC--CSplitterWnd
csplitterwnd 类提供分离窗口的功能,是一个窗口包含多个方格。CSplitterWndCObject └CCmdTarget └CWnd └CSplitterWnd CSplitterWnd类提供一个分隔器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口。窗格通常是应用程序特定的由CView派生的对象,但它也可以是具有适当子窗口ID的任何CWnd对象。一个转载 2013-01-31 16:07:23 · 2396 阅读 · 1 评论 -
MFC--CStatusBar
1 创建 CStatusBar m_wndStatusBar;static UINT indicators[] ={ ID_SEPARATOR, // 状态行指示器 ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL,}; if (!m_wndStatusBar.Create(th原创 2013-03-06 15:07:02 · 637 阅读 · 0 评论 -
字体
CFont * f; f = new CFont; f->CreateFont(10, // nHeight 0, // nWidth 0, // nEscapement 0, // nOrientation FW_BOLD, // nWeight FALSE, // bItal转载 2017-02-27 09:58:42 · 337 阅读 · 0 评论