- 博客(129)
- 资源 (4)
- 收藏
- 关注
原创 进度条,message
1.在线程中临近结束线程的地方不要使用PostMessage,因为由于线程马上结束,这个消息可能会得不到响应,应该用SendMessage.2.进度条的数范围尽量不要太大,否则它会引起程序执行速度变慢(不知道为什么),如果数比较大的话,可以分成块.取块数.
2010-11-29 16:43:00 489
转载 自然对数
<br /> 又称“双曲对数”。以超越数[fc(]e=1+1/1!+1/2!+1/3!+…=271828…[fc)]为底的对数。用记号“ln”表示。有自然对数表可查。<br /> 当x趋近于正无穷或负无穷时,[1+(1/x)]^x的极限就等于e,实际上e就是通过这个极限而发现的。它是个无限不循环小数。其值约等于2.718281828...<br /> 它用e表示<br /> 以e为底数的对数通常用于㏑<br /> 而且e还是一个超越数<br /> e在
2010-11-27 20:48:00 1057
转载 vc更改程序图标
很多时候我们对于MFC框架应用程序的默认图标十分不满意,所以我们来将把它换掉。默认的VC6.0下的MFC图标和VC2005中的MFC图标分别如下:很多朋友会问我怎么把图标换掉,我看很多人写很多代码,出很多错,其实对于MFC框架应用程序我们可以不写一行代码把那个默认的图标换掉。找一张ICO图标,替换programname/res/programname.ico文件,就可以啦,这时候你运行后得到的图标可能还是原来MFC的默认图标,这时候你只要把工程目录下的Debug和Release文件删
2010-11-27 16:58:00 1054
原创 map set vector list
1.map也具有唯一性2.set不要用结构体作为元素类型,除非重载了该结构体的相关函数3.map键类型不要用自定义结构体,但值可以用4.map没法做集合运算,做集合运算还得用set5.set,map可以用CString也可以用string,为了用起来方便,而且因为string的xtree问题,干嘛不用CString6.集合运算时插入到新的集合中7.vector的find是使
2010-11-27 16:55:00 827
原创 单选按钮和复选按钮
在vc中没有所谓CRadioButton 或CCheckBox之类的类.通常它们可以转换为CButton*类. 如判断是否选中可以用:((CButton *)GetDlgItem(IDC_CHECK1))-> GetCheck()
2010-11-23 14:24:00 794
原创 GetCurrentTime的用法
必须用CTime t = CTime::GetCurrentTime()的形式才能获取到时间. CTime t;t.GetCurrentTime()这样是获取不到时间的.
2010-11-23 14:02:00 1945
原创 updateData的用法
UpdateData不必放在函数开头或末尾,可以放在任何需要的位置,且有时必须放在需要的位置.比如有两个控件,只想更新其中一个,那么就必须在给第一个关联的成员变量赋值后,就调用UpdateData,然后再给第二个关联的成员变量赋值.否则,如果放到最后,则连同第二个也更新了.
2010-11-23 14:01:00 1012
原创 mysql 的mysql_store_result 和mysql_num_rows
1. mysql_store_result返回值不为空,并不代表查询的内容不为空.所以必须用mysql_num_rows以确定获取的记录数是否大于1.否则可能引起泄露2. 从MYSQL_RES结构体定义看,mysql_store_result在存储结果时,在堆栈上分配了内存,
2010-11-23 13:42:00 1630
原创 把CString转化为CTime
CString strTime; strTime.Format("%s",row[1]); COleDateTime oleTime; ole
2010-11-23 12:47:00 1057
转载 VC单选按钮控件(Radio Button)用法
先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,第一种:((CButton
2010-11-23 10:45:00 1146 1
原创 c++使用byte
<br />1.byte是ASCII对字节的描述,它并不是c++的关键字,所以没法直接用byte,而是用下面的BYTE<br />2.通常自定义BYTE为unsigned char<br />3.c++输出二进制可以用如下方法<br />#include <bitset><br />void printbinary(int n)<br />{<br /> cout << bitset<sizeof(int)*8>(n) << endl;<br />}<br />输出字节类型的为<br />
2010-11-22 17:01:00 26690
原创 Pie画饼图
1)画的时候是逆时针画,因为圆的正角是逆时针的.(2)Pie的nLeftRect nTopRect nRightRect nBottomRect 参数确定这个饼(一个椭圆,而不是圆)所在的矩形局域,实际上就是确定了原点(3)Pie的nXRadial1 nYRadial1 nXRadial2 nYRadial2 确定一个扇形的两个夹角的位置(4)在数学上,对扇形的计算用弧度,而不是度.弧度是这样规定的2π*弧度=360°,也就是说1°=π/180弧度.通过数学理论知道,扇形的某个点要通过sin,c
2010-11-19 13:55:00 2874
原创 客户区坐标与屏幕坐标/逻辑坐标
客户区坐标与屏幕坐标原点都在左上角,不同的是,屏幕坐标的原点在屏幕左上角,客户区坐标的原点在本客户区(比如控件)的左上角.
2010-11-19 13:54:00 974
原创 mysql在插入记录前先检查记录是否存在:
例子1:INSERT INTO T_File_Policy (ID,pcName) SELECT 2867, 'IBM' FROM dual WHERE not exists (select * from T_File_Policy where T_File_Policy.I
2010-11-19 13:53:00 1540
原创 一个工程使用另一个工程对话框资源的方法
<br />1)在新工程中打开原工程的.rc文件,找到要使用的对话框,按住"ctrl",拖动对话框到新的工程之中<br />(2)检查拖进来的对话框各控件的属性,如果有ID不正常的(有的可能变成数字了,这样的话windows会提示试图进行系统不支持的操作),则依照原来的改之<br />(3)在classwizard里为对话框创建一个类,命名与原工程中的类名一样<br />(4)把原工程中的该类的.cpp和.h文件拷贝覆盖过来,编译看看是否有需要更改的地方.完毕.
2010-11-19 13:51:00 504
原创 vc使用msql的先决条件
把MySQL安装目录下的include和lib文件夹拷贝到工程目录下,然后#include #include #pragma comment(lib,"lib//opt//libmysql.lib");或者在options里面设置,但是注意library要指定到lib/opt
2010-11-19 13:50:00 374
转载 MYSQL中让UTF-8编码的字段按拼音排序
在mysql中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。 解决办法如下: 1、不想改变表定义及默认编码的情况,将字段先转换成gbk编码再排序: SELECT * FROM table OR
2010-11-19 13:19:00 915
转载 windows驱动编程学习顺序?
<br />内核驱动编程并不是什么高深的知识,无非也是按照系统的API,框架去做代码罢了,只是这些东西,提供了更接近于底层的功能,在某些情况下对程序的构架更加有利效率更高而已。没有创新性的东西是无所谓难度不难度的,照葫芦画瓢而已。从哪里学起,基本路线 语言-》算法-》框架机制&WINDOWS程序-》系统内核实现等。下面说的一些内容都有一个共同的前提,就是不断的去写代码,调试代码,否则说什么也是白搭的。我曾经一个操作系统的老师的一句话是“看了书叫你做,做不出来就是没学懂”第一个阶段:鉴于你现在已
2010-11-19 11:59:00 526
转载 双缓冲技术
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我
2010-11-18 16:08:00 521
转载 OnPaint和OnDraw的区别
<br />MFC中OnDraw与OnPaint的区别OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint() 是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图的OnPaint 处理函数通过创建CPaintDC类的DC对象来响应该消息并调
2010-11-18 14:44:00 564
原创 SHGetFileInfo的用法
函数原型:WINSHELLAPI DWORD WINAPI SHGetFileInfo(LPCTSTRpszPath, DWORDdwFileAttributes, SHFILEINFO FAR*psfi, UINTcbFileInfo, UINTuFlags);其中,当uFlags使用SHGFI_ICON时,注意下面一段:Retrieve the handle to the icon that represents the file and the index of the i
2010-11-18 11:38:00 1177
原创 在非线程阻塞使用socket中,避免控件出现灰色的办法
<br />可以在connect /send/recv的前面调用 Invalidate()和UpdateWindow().
2010-11-18 09:16:00 432
原创 三角函数,π的含义
90度和π/2表示一样的角度。<br />角的度量有弧度法和角度法。<br />角度法就是将圆周分成360等分,每一等分就是1度。<br />弧度法是将角所对应弧长于半径之比作为较大小的单位。因元的周长为2πr,所以整个圆周的大小就是2π弧度。 <br /><br /><br />请问正切函数的定义域:{x|x≠(π/2)+kπ,k∈Z}怎么理解?k又代表什么?<br /><br />k为整数(。。。-2,-1,0,1,2,。。。)<br />正切函数tanα=sinα/cosα
2010-11-17 20:58:00 11261
原创 CTreeView类的一点用法
<br />1.要在stdafx.h中包含#include <afxcview.h><br />2.不要直接用CTreeView,应该继承一个类,直接用的话没法重写函数什么的<br />3.View类有个OnInitUpdate类似于对话框的OnInitDialog<br />4.树状控件显示加号及竖线的方法<br /> long StyleOld; <br /> StyleOld = GetWindowLong(m_hWnd, GWL_STYLE); <br />
2010-11-17 14:31:00 1648
原创 如何使已经有选中项的ComboBox在点击下拉箭头时,仍然默认从列表开始处显示,而不是跳到选中项的位置
背景知识:(1)ComboBox实际是一个Edit控件和一个ListBox控件的组合,列表实际是ListBox,那么要实现上述目标,最主要的一点就是得获取到ListBox的句柄.(2)WM_CTLCOLOR消息及其处理函数OnCtlColorThe framework
2010-11-16 17:45:00 1577
原创 CComboBox如何调整下拉项的高度
1、可以直接在资源对话框中点下拉箭头,然后调整.调到多大显示就是多大.但是有个前提,No Integral Height要被选中,否则调整的高度不会起作用。2、如果代码里面动态的调用了movewindow,如果movewindow的参数高度是一个不切实际的值,比如很大,那么此时在资源对话框中的调整就不生效了.因此movewindow的参数一定要合适.
2010-11-16 10:15:00 2465
原创 点格式IP转化为数值
CString startip,endip; int nIP1=(int)htonl(inet_addr(startip)); int nIP2=(int)htonl(inet_addr(endip)); 点格式
2010-11-15 11:42:00 426
转载 在VC++中改变CTreeCtrl子项Item字体和颜色
在VC++中改变CTreeCtrl子项Item字体和颜色2009年02月10日 星期二 14:59在VC++中改变CTreeCtrl子项Item字体和颜色http://lxspine.blog.hexun.com/8664035_d.html
2010-11-13 14:38:00 1517
转载 windows消息处理机制
<br />消息队列中的本窗口大量消息并不会被自动取出,也没有自动地调用WinProc函数对消息加以处理,但是,Window系统提供了三个API函数给我们,让我们自己去完成这件事。看吧!<br />GetMessage( …);<br />TranslateMessage(…);<br />DispatchMessage(…);<br /> 下面就让我分别对这三个函数解释解释。<br /><br />1 GetMessage( …)<br />原型如下:<br />BOOL G
2010-11-12 16:53:00 356
原创 关于CList
1.CList的元素不能是CStringArray,通常可以用自定义结构体作为元素2.CList循环的读法 POSITION pos = listParam.GetHeadPosition(); whi
2010-11-12 14:54:00 589
原创 如何在对话框中上放ICON
方法1:在Dialog里面添加一个Picture控件,类型里面选icon,然后添加ico资源(用资源视图),然后直接选择这个资源的ID即可。这种方法的前提是有icon资源文件方法2:CStatic myStatic;// Create a child icon static control.myStatic.Create(_T("my static"), WS_CHILD|WS_V
2010-11-12 13:19:00 822
原创 动态调用动态库的方法
<br />假定动态库提供一个引出函数为int Func(int n);<br /> <br /> <br />extern "C" typedef int (STDCALL *pFunc)(int n);//引进函数,并定义为函数指针<br /> <br />HMODULE hModule = GetModuleHandle("*.dll");//检查动态库是否已经加载<br /> <br />if(hModule == NULL)<br />{<br /> hModule = LoadLibra
2010-11-11 17:28:00 473
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人