
VC
Heaven13483
这个作者很懒,什么都没留下…
展开
-
VC 中Combo Box的使用
Combo Box(组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。1.改变下拉框大小 1)直接在控件上操作,先点向下的箭头,就可以调整下拉框大小; 2)为了让列表框变的更宽,可以用setdroppedwidth(int width)函数来调原创 2012-03-06 16:46:31 · 3592 阅读 · 1 评论 -
每天一算法(八枚银币)
说明 现有八枚银币a b c d e f g h,已知其中一枚是假币,其重量不同于真币,但不知是较轻或较重,如何使用天平以最少的比较次数,决定出哪枚是假币,并得知假币比真币较轻或较重。解法 单就求假币的问题是不难,但问题限制使用最少的比较次数,所以我们不能以单纯的回圈比较来求解,我们可以使用决策树,使用分析与树状图来协助求解。一个简单的状况是这样的,我们比原创 2012-12-17 23:21:47 · 1494 阅读 · 0 评论 -
每天一算法(生命游戏)
说明生命游戏(game of life)为1970年由英国数学家J. H. Conway所提出,某一细胞的邻居包括上、下、左、右、左上、左下、右上与右下相邻之细胞,游戏规则如下:孤单死亡:如果细胞的邻居小于一个,则该细胞在下一次状态将死亡。拥挤死亡:如果细胞的邻居在四个以上,则该细胞在下一次状态将死亡。稳定:如果细胞的邻居为二个或三个,则下一次状态为稳定存活。复活:如果某位置原原创 2012-12-18 14:48:10 · 2327 阅读 · 1 评论 -
每天一算法(双色河内塔又叫汉诺塔)
说明双色河内塔是由之前所介绍过的河内塔规则衍生而来,双色河内塔的目的是将下图左上的圆环位置经移动成为右下的圆环位置:解法双色河内塔或是原始的河内塔,其解法观念与之前介绍过的河内塔是类似的,同样也是使用递回来解,不过这次递回解法的目的不同,我们来看双色的情况,这很简单,只要将第一柱的黄色移动至第二柱,而接下来第一柱的蓝色移动至第三柱。再来是四个盘的情况,首先必须用递回完成下图原创 2012-12-19 10:15:00 · 6450 阅读 · 0 评论 -
每天一算法(三色河内塔)
接双色河内塔问题三色河内塔,直接来看九个盘的情况,首先必须完成下图的移动结果:接下来最底两层的就不用管它们了,因为它们已经就定位,只要再处理第一柱上面的三个盘子就可以了。C++程序#include void hanoi(int disks, char source, char temp, char target) { if (disk原创 2013-01-02 17:19:23 · 1601 阅读 · 0 评论 -
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 评论 -
用C++,调用浏览器打开一个网页
调用外部命令如果用默认浏览器,就调用ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW);如果用IE打开,就调用ShellExecute(NULL, _T("open"), _T("iexplore.exe"), _T("http://www.baidu.co原创 2013-07-18 15:47:02 · 20907 阅读 · 2 评论 -
通过“CreateProcess”创建新的“进程”
第一、第二个参数的用法: 例子:使用ie打开指定的网页。注意第二个参数是 可执行文件+命令行参数 #include "stdafx.h"#include #include int main(int argc, char* argv[]) { STARTUPINFO si = { sizeof(si) }; PROCESS_INFORMAT原创 2013-08-04 17:04:20 · 1521 阅读 · 0 评论 -
利用"NOTIFYICONDATA"实现MFC的托盘程序
本文章为转发百度空间内容,,保存一下,以防以后用到。。一、自定义信息在头文件中加入下面这句话:#define WM_SHOWTASK (WM_USER+1)二、MYDLG.CPP文件中添加_messageEntries数组添加自定义信息WM_SHOWTASKON_MESSAGE(WM_SHOWTASK,OnShowTask)//将自定义信息WM_SHOWTASK应用于OnSho原创 2013-08-04 17:06:06 · 3507 阅读 · 0 评论 -
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 评论 -
c++中char*\wchar_t*\string\wstring之间的相互转换 .
#ifndef USE_H_#define USE_H_#include #include #include using namespace std;class CUser{public: CUser(); virtual~ CUser(); char* WcharToChar(const wchar_t* wp); char* StringToChar(const stri转载 2014-06-12 11:54:44 · 1059 阅读 · 0 评论 -
每天一算法(du熊填数字)百度之星的题,限时没有完成,补上。
Problem Description du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下: du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。 请你帮du熊计算一下有多少种填法。Input 输入包含多组测试原创 2012-12-11 22:57:04 · 2565 阅读 · 6 评论 -
C++文件操作(2)
打开文件的方式 当我们想要打开的文件不存在的时候,一般地,ofstream类的对象会默认地自动创建一个文件。而如果我们想要打开的文件是存在的,那么就会调用ofstream的构造函数或者是调用open()函数进行打开。下面,我们来看一下MSDN上面是如何定义open()函数的:首先是函数原型:void open( const char *_Filename,原创 2012-12-27 22:28:45 · 1400 阅读 · 1 评论 -
C++中连接MySql数据库
// 首先要配置VC6.0//// 工具->选项->目录——>添加MySql安装目录的lib文件夹和include文件夹//// 将libmysql.dll拷贝到bin文件夹中,否则执行时出错;#include #include #include #include #pragma comment(lib,"ws2_32.lib")#pragma commen原创 2012-04-21 00:21:22 · 809 阅读 · 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创建DLL动态链接库
1.1 创建dll项目1.2 为dll项目编写源文件头文件dllDemo.hextern "C" _declspec(dllexport) int Sum(int a,int b);//加法函数。extern "C" _declspec(dllexport) int Max(int a, int b);//取较大值函数extern "C" _declspec(dll原创 2012-05-16 22:35:06 · 1635 阅读 · 0 评论 -
《算法导论》 第6章堆排序
#include#includeusing namespace std;定义结构体,其中包含数组长ALength,堆长heap_size。struct Dui{int *A;int heap_size;int ALength;Dui(){heap_size = 0;ALength = 0;}};//返回堆中元素i的父结原创 2012-06-25 17:51:37 · 1237 阅读 · 0 评论 -
C++运算符重载函数基础及其值返回状态
运算符重载是C++的重要组成部分,它可以让程序更加的简单易懂,简单的运算符使用可以使复杂函数的理解更直观。 1.对双目运算符而言,成员函数重载运算符的函数参数表中只有一个参数,而用友元函数重载运算符函数参数表中含有两个参数。 对单木运算符来说,成员函数重载运算符的函数参数表中没有参数,而用友元函数重载运算符函数参数表中含有一个函数。这个问题要搞清楚,有一个this指针的问题。。。原创 2012-06-25 23:21:45 · 894 阅读 · 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 评论 -
每天一算法(老鼠走迷官),,其实是很基本的了。
说明 老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径。解法 老鼠的走法有上、左、下、右四个方向,在每前进一格之后就选一个方向前进,无法前进时退回选择下一个可前进方向,如此在阵列中依序测试四个方向,直到走到出口为止,这是递回的基本题,请直接看程式应就可以理解。 #inclu原创 2012-12-06 23:29:49 · 1564 阅读 · 0 评论 -
每天一算法(三色棋)
说明三色旗的问题最早由E.W.Dijkstra所提出,他所使用的用语为Dutch Nation Flag(Dijkstra为荷兰人),而多数的作者则使用Three-Color Flag来称之。假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个旗子。原创 2012-12-06 18:03:23 · 2057 阅读 · 0 评论 -
每天一算法(老鼠走迷官二)
接前的老鼠走迷宫一。。基础走迷宫在之前的基础之上,,把能走出迷宫的所有路都显示出来。。解法求所有路径看起来复杂但其实更简单,只要在老鼠走至出口时显示经过的路径,然后退回上一格重新选择下一个位置继续递回就可以了,比求出单一路径还简单,我们的程式只要作一点修改就可以了。int maze[9][9] = {{2, 2, 2, 2, 2, 2, 2, 2, 2},原创 2012-12-07 16:04:46 · 1210 阅读 · 0 评论 -
每天一算法(巴斯卡三角,又称杨辉三角),复习一下下
//巴斯卡三角。返回第n行,n个int nCr(int n,int r){ int p=1; for (int i = 0;i<r;i++) { p *= (n-i); } for (r;r>1;r--) { p /= r; } return p;};//输出前n行void yanhui(int n){ for (int i = 0;i<n;i++) {原创 2012-12-06 15:16:07 · 1160 阅读 · 0 评论 -
每天一算法(骑士走棋盘)
关于骑士走棋盘问题,,一是不了解走棋盘的规则,二是不了解所要使用的那种由J.C. Warnsdorff在1823年提出的解法的意思是什么。。所以只能读代码,,但还真读懂了人家的代码,并自己实现了一下。。说明骑士旅游(Knight tour)在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋棋的走法,骑士可以由任一个位置出发,它要如何走完[所有的位置?原创 2012-12-11 15:58:41 · 3040 阅读 · 0 评论 -
每天一算法(du熊学斐波那契I)百度之星限时做。。
Problem Descriptiondu熊对数学一直都非常感兴趣。最近在学习斐波那契数列的它,向你展示了一个数字串,它称之为“斐波那契”串:11235813471123581347112358........聪明的你当然一眼就看出了这个串是这么构造的:1.先写下两位在0~9范围内的数字a, b,构成串ab;2.取串最后的两位数字相加,将和写在串的最后面。上面du熊原创 2012-12-11 22:13:18 · 1638 阅读 · 0 评论 -
C++文件操作(1)
文件的输出操作 想要程序中的数据输出到文件中,一共需要以下5个步骤:① 包含fstream头文件:#include ② 建立ofstream对象:ofstream ocout;③ 将对象与文件关联:ocout.open(“test.txt”);④ 使用该对象将数据输出到文件test中:ocout⑤ 关闭与文件的连接:ocout.close(); p原创 2012-12-25 23:54:50 · 1218 阅读 · 0 评论 -
用InternetOpen()的下载文件
#include#include#includeusing namespace std;#pragma comment(lib,"wininet.lib")void main(){ DWORD byteread=0; char buffer[100]; memset(buffer,0,100); HINTERNET internetopen; internetopen=Int原创 2014-08-07 14:24:16 · 2981 阅读 · 1 评论