摘要: 在对话框程序中,可能会因为贴了背景图而导致有些控件背景不对,需要设置透明的问题,解决办法:1:在OnCtlColor中设置控件透明。加上以下代码switch(pWnd->GetDlgCtrlID()) { default: pDC->SetBkMode(TRANSPARENT); return (HBRUSH)GetStockObject(NULL_BRUSH); break; }2:经过第一步处理,如静态文本等控件已经可以实现透明,但对于按钮等窗体控件,就需要进行自绘实现透明了,可以自己写代码进行自绘,也可以直接利用已有... 阅读全文
posted @ 2011-11-09 11:15 refazy 阅读(3105) 评论(0) 推荐(0) 编辑
摘要: 详细教程可参考http://www.vckbase.com/document/viewdoc/?id=518以下只讲述最简单的使用方法。注:下载下来的CButtonST类可能会有编译错误,主要是VC6.0中局部变量定义问题,一个一个改就是了1:头文件中#include "BtnST.h"2:按钮关联一个CButtonST类型的变量CButtonST m_btn;3: 在OnInitDialog中设置图标,图标格式为.ico文件;有两种函数可以调用 m_btn.SetIcon(IDI_ICON1);//设置按钮图标,m_btn.SetIcon(IDI_ICON1,IDI_IC 阅读全文
posted @ 2011-11-09 11:02 refazy 阅读(3626) 评论(0) 推荐(0) 编辑
摘要: /************************************************************************//* 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。 其实就是写一个atoi函数 未考虑整数溢出情况 *//************************************************************************/#inc... 阅读全文
posted @ 2011-11-08 15:20 refazy 阅读(2381) 评论(0) 推荐(0) 编辑
摘要: /************************************************************************//* 定义Fibonacci 数列如下: / 0 n=0 f(n) = 1 n=1 \ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n 项。 递归方法重复计算了很多项,通过定义两个额外空间保存前两项的值,可以空间换取时间。复杂度为O(N)同... 阅读全文
posted @ 2011-11-08 14:28 refazy 阅读(2432) 评论(1) 推荐(0) 编辑
摘要: /************************************************************************//* n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始,每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。求出在这个圆圈中剩下的最后一个数字。 约瑟夫环? *//***********************... 阅读全文
posted @ 2011-11-08 13:27 refazy 阅读(1174) 评论(0) 推荐(0) 编辑
摘要: /************************************************************************//* 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b 如果从头遍历,与后面字符进行比较出现次数是否为1,算法复杂度为O(n^2),考虑以空间换时间,因为一个字符占8位。因此可用一个256位数组保存每个字符出现的次数*//*********************************... 阅读全文
posted @ 2011-11-08 10:26 refazy 阅读(5085) 评论(6) 推荐(0) 编辑
摘要: /************************************************************************//* 题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。 例如输入8/ \6 10/\ /\5 7 9 11输出8 6 10 5 7 9 11。 思路: 广度优先遍历 deque(STL)*//************************************************************************/#include <iostream>#i... 阅读全文
posted @ 2011-11-08 09:53 refazy 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 在分析开源代码Notepad++ 1.0版本时,在vs2008中对源码进行编译,出现error C2440: “=”: 无法从“const char (*__w64 )[17]”转换为“char *”错误,void Notepad_plus::setLangStatus(LangType langType){ char *pStr; switch (langType) { case L_C: pStr = &("c source file"); break; case L_H: pStr = &("c or c++ header file" 阅读全文
posted @ 2011-11-07 15:26 refazy 阅读(7036) 评论(0) 推荐(0) 编辑
摘要: 如截图所示,输入一对数组元素下标,如果此对数组元素相等,则翻牌成功,显示数据11.05,改版做了一个对话框应用,如下,基本思想与控制台程序一致#include <iostream>#include <ctime>using namespace std;class Game{public: void initial(); void start(); void print(); void printall(); void getPairNum(); private: int game[4][4];//保存随机生成的16个数字 bool checked[4][4];//标记该 阅读全文
posted @ 2011-11-04 16:44 refazy 阅读(393) 评论(0) 推荐(0) 编辑
摘要: OnDraw&OnPaint 学习中遇到一个问题,OnDraw与OnPaint有什么区别?上网搜索了一下,又查了一下MSDN和MFC的一些源文件,现整理如下。OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图的OnPaint 处理函数通过创建CPaintDC类的DC对象来响应 阅读全文
posted @ 2011-11-04 11:02 refazy 阅读(3875) 评论(0) 推荐(0) 编辑