
MFC
Heaven13483
这个作者很懒,什么都没留下…
展开
-
VC 中Combo Box的使用
Combo Box(组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。1.改变下拉框大小 1)直接在控件上操作,先点向下的箭头,就可以调整下拉框大小; 2)为了让列表框变的更宽,可以用setdroppedwidth(int width)函数来调原创 2012-03-06 16:46:31 · 3592 阅读 · 1 评论 -
MFC基于对话框——右键弹出菜单,并响应函数
1、新建一个菜单资源,比如把菜单的ID号为IDR_MENU1。2、在ClassWizard中void CArcSoft_EffectDlg::OnRButtonDown(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultCMenu menu;原创 2012-11-24 21:10:03 · 2613 阅读 · 0 评论 -
MFC中ListControl控件的使用
以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源原创 2012-11-26 21:59:03 · 1908 阅读 · 0 评论 -
在MFC中利用OpenGl库进行仿真编程
一、简介 GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而OpenGL则需要绘制环境(Rendering Context,以下简称"RC")。每一个GDI命令需要传给它一个DC,但与GDI不同,OpenGL使用当前绘制环境(RC)。一旦在一个线程中指定 了一个当前RC,在此线程中其后所有的OpenGL命令都使用相同的当前RC。虽然在单一窗口中可以使用多个R原创 2012-11-12 23:27:11 · 2522 阅读 · 0 评论 -
C++ VARIANT数据类型操作详解
使用VARIANT来传递参数意味着非强类型语言(例如VBScript)能够调用使用强类型语言(C++)实现的方法。VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构体tagVARIANT的定义。VARIANT 数据类型在文件OAIDL.IDL中定义如下:struct tagVARIANT { union { struct __t原创 2012-12-05 11:20:14 · 16862 阅读 · 2 评论 -
VC中自画控件的过程和方法(CButton, CEdit, etc)
Windows自带控件的样式太过单调,为了界面美观一些很多时候需要自己绘制,譬如 按钮,编辑框,组合框等。自己总结过程如下:1.生成一个以要重绘的空间类为基类的派生类。(我想重绘CButton, 则应该生成一个CMyButton : public CButton。 2.在派生类里面重载DrawItem虚函数(如果该类中没有DrawItem需函数,可以加入WM_NCPAINT原创 2012-11-21 00:36:10 · 4299 阅读 · 0 评论 -
在mfc对话框中添加一个显示网页的窗口
现在只能实现在对话框内显示一个网页文件,,但如果点击网页文件中的某个链接的话,,却还是在IE中进行打开的,,正在想如何始终在该对话框内完成。。希望各位大神能指点。。这个要用到 ActiveX 控件了,向对话框里面插入一个 WebBrowser控件,之后使用就可以了!=============================利用WebBrowser控件创建自己的浏览器原创 2012-11-26 11:21:36 · 6239 阅读 · 2 评论 -
CString::GetLength()获得字节数的正确方法介绍
前段时间,做http协议上传文件及断点续传控件时,在客户端采用C++调用CHttpConnection、CHttpFile进行文件上传。移植到Unicode编码时,上传得到的文件总是小于正常文件。最终发现问题出在CString::GetLength()方法上。当采用Unicode编码时,而且http header字符串中出现了中文或其其他多字节字符,该方法仍旧只返回字符数,而不是实际的字节数,这样原创 2013-01-11 23:03:36 · 3780 阅读 · 0 评论 -
VS2010 简单ATL COM开发
1、打开VS2010,新建ATL COM 项目,步骤:“文件” --》“新建” --》“项目”,选择“Visual C++” --》“ATL 项目” ,填写“名称” FirstCOM --》“确定”。2、ATL 项目向导,勾选 【支持COM+ 1.0】和【支持部件注册器】,其他默认,点击完成。3、切换到类视图,右键单击项目“FirstCOM”--》“添加” --》“类”。原创 2013-05-19 22:59:37 · 7157 阅读 · 0 评论 -
Ansi、Unicode、UTF-8字符串之间的转换和写入文本文件
Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的\0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicodeU原创 2013-05-23 21:48:14 · 2238 阅读 · 0 评论 -
在对话框picture control中利用opengl进行绘图
照着写的一个Demo,,地址如下,Demo 立一个基于对话框的工程(名称:OpenGL)并且在设置的Link里加入库opengl32.lib glu32.lib glaux.lib 为对话框添加picture control 控件,ID:IDC_RENDER 主要程序:// OpenGLDlg.cpp : implementation file//#incl原创 2013-05-26 21:08:16 · 4901 阅读 · 1 评论 -
基于MFC对话框的OpenGL三维图形开发
上文中,,是在对话框的基础上,利用Picture控件进行OpenGL绘制的,,那么现在是基于一个新的类进行的OpenGL绘制,也有一个Demo,,是用GDI和OpenGL分别绘制的,,声明,,这是别人的Demo,拿来试用一下。。示例我也是学习了这些资料之后才懂得怎么做的。。 以三维动态球体模型来讲述基于MFC对话框的OpenGL编程1.基本思想在Windows98/NT平原创 2013-05-26 21:15:07 · 8329 阅读 · 4 评论 -
MFC的窗口分割的设计与实现
1 引言 在Microsoft VC++ 6.0中,基于MFC的应用程序一般分为以下几种:多文档界面(MDI)、单文档界面(SDI)以及基于对话框的应用程序。其中单文档又可分为单视图的和多视图的,一般情况下,单文档仅需要单视图就够了,如Windows自带的记事本、画图程序等等,但在一些情况下,单文档需要多视图支持,比如同时观察文档的不同部分,同时从不同的角度观察同一文档等。 在原创 2012-11-08 09:46:07 · 13858 阅读 · 3 评论 -
VC++中,CString,in,char,等数据类型的相互转化
CString,int,string,char*之间的转换string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString.format(”%s”, char*);char 转 stringstring s(char *); string s; char原创 2012-10-24 13:32:27 · 1037 阅读 · 0 评论 -
VC++中,CString,in,char,等数据类型的相互转化
CString,int,string,char*之间的转换string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString.format(”%s”, char*);char 转 stringstring s(char *); string s; ch原创 2012-05-10 11:13:10 · 4033 阅读 · 0 评论 -
MFC的 在对话框显示图片的方法
先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一个基于对话框的工程,名为Ttest. 对话框类为CTestDlg (一) 非动态载入图片. 方法1.先从最简单的开始,用picture 控件原创 2012-05-11 09:35:02 · 980 阅读 · 0 评论 -
VC中ComboBox用法详解
由于接触VC时间不长,对VC中控件的用法也不是很了解,用到时在网上查了很多,现总结如下::1、改变下拉框大小:先点向下的箭头,就可以调整下拉框大小2、如果 ComboBox 的 Sorted 属性设置为 true, 则新添加项将按字母顺序插入到列表中。 否则,在列表的结尾处插入项。3、要立即响应选择框的改变(即选择框一改变选项,就立刻将结果传递进去)!原创 2012-05-17 11:33:52 · 826 阅读 · 0 评论 -
MFC 中如何对客户区坐标进行转化(SetWindowExt和SetViewportExt)
CRect rectClient;GetClientRect(rectClient);pDC->SetMapMode(MM_ANISOTROPIC);pDC->SetWindowExt(CSize(1000,1000));pDC->SetViewportExt(rectClient.right,-rectClient.bottom);pDC->SetViewportOrg(re原创 2012-08-17 21:15:00 · 4358 阅读 · 0 评论 -
MFC窗口变化消息( OnSize、OnSizing和OnGetMinMaxInfo)
最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFO-->WM_SIZING-->WM_SIZE。原创 2012-09-14 14:52:05 · 11169 阅读 · 0 评论 -
C++激活外部文件或程序
我使用MFC编写一个APP,要求About对话框中显示LOGO、公司名、地址和公司的URL链接。使用户点击URL链接以后,启动浏览器访问Web页面,这种对话框中的热链接使应用程序增色不少。微软公司提供的ShellExecute函数正好可以完成这个功能,该功能不仅可以打开特定的文件(.txt;.word....)还可以打开固定网址(www.baidu.com等)ShellExecute函数原型及原创 2012-10-08 10:44:21 · 1246 阅读 · 0 评论 -
在主程序之前显示一对话框(登录框)
1. 在基于对话框的程序中,在主程序之前显示一对话框,,如建立的项目名为Begin...新建立的需要提前显示的对话框资源类为Start。。则在主程序之前显示、Start对话框的方法为:CBeginApp类中,在其InitInstance()函数中,VS2010自动添加的代码如下CBeginDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse原创 2012-09-24 16:54:16 · 1610 阅读 · 0 评论 -
MFC中设备描述符DC,CDC,HDC,CClientDC总结
实际这篇文章是转的,,呵呵改成原创以便推到首页。。CClientDC类CClientDC派生于CDC,在构造时调用了Windows函数GetDC,在析构时调用了ReleaseDC。这意味着和CClientDC对象相关的设备上下文是窗口的客户区。几种DC及区别 CClientDC:(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数原创 2012-09-20 23:46:13 · 4377 阅读 · 2 评论 -
MFC下拉框combo box控件实践笔记
1、定义控件对应变量假定已经创建了一个Dialog,并且给该Dialog建立了类,并且从控件工具箱将 Combo Box 控件拖放到上面。打开 Class Wizard,添加控件对应变量,如:CComboBox m_cbExamble;在后面的代码中会不断使用这个变量。为该下拉框建立相应的响应函数,该响应函数应该是在Dialog建立的类下2、向控件添加 Items原创 2012-10-13 13:53:57 · 1852 阅读 · 0 评论 -
CString与char_转换
Unicode下CString与char *转换 在VisualC++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2005环境下运行时会报各种各样的错误,这里总结了在VisualC++.NET2005原创 2012-10-15 00:11:13 · 11973 阅读 · 1 评论 -
在CComboBox组合框控件中 使用AddString()函数修改下拉列表项却出现乱序
int classNum=ChooseClass.GetCurSel(); CString studentID; for (int i=1;i<stuNumChoose[classNum];i++) { studentID.Format(_T("%d"),i); ((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString(s原创 2012-10-30 23:33:54 · 1534 阅读 · 1 评论 -
vc中获取电脑CPU占有率和内存占有率的API
得到cpu占有率的API函数:GetSystemTimes得到内存使用情况的API函数:GlobalMemoryStatusEx Function Retrieves information about the system's current usage of both physical and virtual memory.GetPerformanc原创 2014-01-09 11:06:17 · 5179 阅读 · 0 评论