- 博客(34)
- 资源 (4)
- 收藏
- 关注
原创 MFC在dll工程里创建非模态对话框
在MFC exe工程里创建一个非模态对话框是比较简单的,举个例子:CCDlgBroadcast* m_pDlgBroadcast = new CDlgBroadcast();m_pDlgBroadcast->Create(CDlgBroadcast::IDD);在MFC dll工程里如果还如上例一样,在执行Create函数时则会报“读取地址错误”这个时候需要在前面多加一行代码:
2016-09-28 10:06:32
2057
1
原创 MFC CStatic控件插入背景图片
CStatic控件插入图片使用函数 m_Staic.SetBitmap(HBITMAP)即可,但是该函数会默认的改变CStatic控件大小和插入图片一样。下面介绍一个种方法,使得不改变CStatic控件大小,且插入任意大小的图片都可以使图片填充整个控件步骤:一):首先获取静态文本框大小 CRect rect; m_Static.GetW
2016-02-22 10:53:48
5260
原创 MFC 对话框 控件 设置成 win7属性
就是在你的代码前面加入下面的编译杂注,不过你的IDE一定要为vs2005或以后的版本#pragma comment(linker,"\"/manifestdependency:type='win32' \name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \processorArchitecture='*' publicKe
2016-02-03 13:54:16
524
原创 map两种插入方法解析(insert() 与 下标操作)
insert 含义是:如果key存在,则插入失败,如果key不存在,就创建这个key-value。实例: map.insert((key, value))利用下标操作的含义是:如果这个key存在,就更新value;如果key不存在,就创建这个key-value对 实例:map[key] = value
2015-11-20 17:19:35
2620
转载 VC中关于lParam和wParam 的问题
wParam和lParam消息 1 WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高。 2 滚动条WM_VSCROLL或WM_HSCROLL消息,LOWORD(wParam)指出了鼠标对滚动条的操作。比如上、下、左、右、翻页、移动等。3 击键消息,有WM_SYSKEYDOWN、WM_SYSKEYUP、WM_KEYUP、WM_KEY
2013-07-04 10:25:06
2048
原创 编程挑战(一)
突然间发现CSDN上有个编程挑战的专栏,点进去以后感觉挺有兴趣的,就挑一些自己感兴趣能做的贴出来。注:答案乃本人原创,可能存在不严谨甚至有错误的地方,如果发现,还望不吝赐教1. 题目背景: 那一年,这一年,青春散场,到毕业季,我们奔波着忙着找工作,来到招聘会上,看到黑压压的一大片人群.. 题目描述:毕业季,很多大公司来学校招聘, 招聘会分散在不同时间段,小明想知道自己最多能完整
2013-06-13 23:36:04
1629
1
转载 MFC 如何设置鼠标的形状 如何设置光标热区
Windows程序和Doc程序很大的不同 , 就在于Windows有一个亮丽的图形界面和简捷的操作方式 , 而鼠标就是Windows程序中最重要的一个操作手段 . 有朋友向我咨询如何修改鼠标形状 , 这本来是一个简单的问题 ,但是当朋友向我询问进一步的,更加深入的操作机制时 ,我才发现里面隐藏着更多的问题 , 回到家里研究了一下 ,得到一些结论 。 这里就Windows下鼠标形状的一
2013-05-21 15:57:18
2570
转载 自绘滚动条
标准的滚动条 是不能通过子类化来制定的, 如果想得到漂亮的滚动条,需要自己动手画。要为CListCtrl 添加滚动条,大概思路如下:(1) 使 CListCtrl 标准的滚动条不可用(2) 手动定位 H 和 V 滚动条的位置( 不属于 ClistCtrl 的子控件 )(3) 需要处理,鼠标点击 左右箭头, 滚动一行鼠标点击 滑块空白处, 滚动一页
2013-01-23 19:18:22
1730
转载 CString.Format的详细用法(转)
在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。 先看看Format用于转换的格式字符: %c
2012-12-30 17:04:18
399
原创 MFC----ListBox用法
ListBox的操作比较简单1添加数据声明控件变量的类别为Control,变量类型为CListBox,变量名为m_ListBox_Content.m_ListBox_Content.AddString(_T("123"));m_ListBox_Content.AddString(_T("汉字"));m_ListBox_Content.AddString(_T("English"
2012-12-27 08:52:49
1090
原创 MFC下拉列表框的用法
Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。1、定义控件对应变量假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控件拖
2012-12-18 14:47:30
807
原创 如何在树型控件中使用背景位图
引言对于TREWVIEW控件的背景位图的实现,目前介绍的文章比较少,有人虽然实现了,但是在点击TREE时,背景闪动比较厉害。本人在参照别人代码的基础 上,把它总结一下,同时解决了这个背景闪烁的问题。目前FLASHGET1.3版也实现了TREEVIEW的背景位图。大家可以参照一下。原理因为WINDOWS标准TREEVIEW控件不支持背景位图,所以如果需要设置背景位图就需要先让其在内存CD
2012-12-14 13:40:00
752
原创 关于CEdit控件的透明
做一个透明的Edit控件的主要问题是字符的输出,在Edit里输出的刷新有几个时机,一个是在接收到键盘或鼠标消息的时候 ,还有就是在接收到WM_PAINT消息。刷新的时候也不是全部重画,所以想通过在继承的Edit类中处理WM_PAINT消息是行不通的。但是Edit控件自己总是知道怎么去刷新,因此只要给控件发消息,让其自己来刷新就可以了。通过使用spy++的得知需要刷新有几个时机,一个是按键的时候,内
2012-12-12 19:42:37
1004
1
原创 vc++加载透明png图片方法——GDI+和CImage两种
先看看GDI+的方法方法1:1.GDI+画透明图层(alpha)的png图片--------------------------------------------------------------------------------stdafx加入如下:#include //初始化一下com口#include "GdiPlus.h"using namespa
2012-12-12 16:42:26
4923
转载 MFC学习--对话框及窗口背景色
置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示窗口时按顺序调用OnSize()>OnEraseBkgnd()>OnPaint()>OnCtlColor()。OnEraseBkgnd()中默认调用基类(CFrameWnd)的OnEraseBkgnd(), 用窗口类中注册的Brush绘制背景。因此,绘制窗口
2012-11-21 09:44:43
1138
转载 MFC绘制图片闪烁详解
用MFC如何高效地绘图 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。 而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单, 只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我想就我长期(呵呵当然也只有2年多
2012-11-15 14:25:59
4070
原创 mfc对话框设置背景位图,并防止位图失真
在Dialog对应的类的 .h头文件 里面添加消息处理函数,用于改变Dialog的背景:afx_msg BOOL OnEraseBkgnd(CDC* pDC);然后在.cpp实现文件里面添加实现代码:BOOL CHGolfDlg::OnEraseBkgnd(CDC* pDC){ // TODO: Add your message handler code
2012-11-14 19:36:19
2785
3
原创 用MFC对话框做无闪烁图片重绘
用应用程序向导生成一个基于对话框的应用程序 把对话框Styles里的Border设置为Resizing,并把Minimize box跟Maximize box复选按钮都勾上 现在我们为资源导入一张位图然后我们为程序添加四个私有变量private: int height; int width; CBitmap myBitmap; BITMAP bm; 然后
2012-11-14 09:05:38
619
原创 CImagList 使用详解
2009-09-26 21:44 图像列表控件(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,(可以把这些图标看成是以数组方式存储的),图像列表通常由大图标或位图构成,其中包含透明位图模式(实际上,所有的再一个图像列表中的图标都被存储在一个屏幕设备的位图中)。可以利用windows API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像邓
2012-11-10 09:56:16
1489
原创 MFC Tree Control 控件使用
MFC Tree Control控件使用 1.InsertItem 添加节点参数: 文字,图标,父节点返回: HTREEITEM示例: 添加一系列节点HTREEITEM hItem = m_Tree.InsertItem("root",NULL,NULL);///root就是节点的标题int i,j;for (i=0;i{ HTREEITEM h
2012-11-09 10:19:41
6997
转载 回调函数(类静态函数)中调用类中的非静态成员变量或非静态成员函数
回调函数中调用类中的非静态成员变量或非静态成员函数【问题】如何在类中封装回调函数? a.回调函数只能是全局的或是静态的。 b.全局函数会破坏类的封装性,故不予采用。 c.静态函数只能访问类的静态成员,不能访问类中非静态成员。 1. 如何让静态函数访问类的非静态成员。 a.声明一静态函数a(),将类实例对象指针做为参数传入。如: class A()
2012-10-25 08:58:25
704
原创 Windows Mysql API 实例
#include #include #include #include #include #include using namespace std;int main(){const char user[] = "root"; //usernameconst char password[] = "yzx"; //passwordconst
2012-10-23 23:08:11
683
原创 Windows Socket API 小结
一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用
2012-10-23 22:52:52
513
原创 vmware虚拟机下三种网络连接方式
很多朋友都用vmware来测试不同的系统,我结合自己的经验谈一下对网络设置的理解,不对的地方请指正. bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力. 在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和
2012-09-21 18:47:19
572
原创 ubutun下安装mysql
三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server。装完已经自动配置好环境变量,可以直接使用mysql的命令。 注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多。 2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例。
2012-09-18 22:21:35
929
转载 int、short、char 类型超出范围赋值__说说原码,反码,补码
以下使用g++编译器,win32平台)。假设short类型的大小是2字节,int类型的大小是4个字节。short能表示-32768~32767之间的整数。以下代码:short s=100000;能通过编译,s中的值是多少呢?实际上,上面的代码等价于short s=(short)100000,也就是说,编译器对100000强制转化为short类型,一般
2012-07-08 20:59:50
6839
1
转载 linux 下 wxWidgets 安装,编译
wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GTK和X11开发环境; wxWidgets在linux下有wxGTK和wxX11供使用,但是分别需要配置GTK和X11开发环境,开发环境配置如下:X11的安装(如果选择使用wxX11):apt-get install libx11-devGTK的安装(如果选择使用wxGTK):apt-g
2012-07-08 20:26:10
5927
原创 IMAP协议指令学习以及代码(C/C++)示例
最近几天在学习IMAP协议,虽然网络上对IMAP介绍的资料不少,但是有关IMAP协议指令的资料很少,能让我这个新手研究明白的资料就更少了。刚开始学习的时候抱着官方的指导手册看,虽然已经翻译成了中文,但是那专业的描述,真的是晦涩难懂啊。怎么看,那东西都是属于文艺青年专有的,不是我这个普通青年能理解的东西。庆幸的是经过了我几天的东拼西凑,总算是把这个协议弄懂了六七成,现在可以做到用IMAP协议收发邮件
2012-07-04 20:45:26
8064
6
原创 使用SMTP 和POP3 协议实现收发邮件(C/C++)
SMTP协议和POP3协议就不详细阐述了 ,网上一搜索会有一大把给你解释的。下面直接贴代码:首先写一个class Sock类,这个类的功能主要是创建套接字(即int sock),用套接字來连接邮箱服务器。类里面还带有send_socket和recv_socket两个函数,其功能分别是向邮箱服务器发送协议指令和接收服务器反馈回来的信息。sock.h文件 #ifndef __SO
2012-07-03 20:24:07
11769
3
原创 C/C++ 常见面试题(一)
本人是一位C++初学者,求职时是四处碰壁。面试几家公司后,发现其实很多公司的面试题有很多相似的地方。痛定思痛,把那些常见的面试题记录下来,以做参考。也希望可以对那些同我一样的初学者能有些帮助。(题后的答案不是标准答案哦,主要是我自己或者通过网络得到的。所以如果有不对的地方,望大家多多指教!感激不尽!)1.面向对象编程的特点?面向对象编程的特点有三:a.封装性:保证了属性与方法的关联;
2012-06-30 18:55:20
875
原创 ubuntu 窗口控制按钮位置设置(于12.04版本为例)
ubuntu系统默认的窗口控制按钮是置于左上角的,所以在这里为大家介绍一下,如何将窗口控制按钮置于平时比较习惯的右上角方法一:1、Ctrl+Alt+T调出终端,首先安装gconf-editor: sudo apt-get install gconf-editor2、按下“Alt + F2”组合键,在弹出的运行应用程序对话框中输入“gconf-editor”,并点击运行。3、
2012-06-30 18:36:54
2221
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人