![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC
文章平均质量分 90
baitf0930
这个作者很懒,什么都没留下…
展开
-
Windows环境,C++设置程序开机自启动
开启开机自动功能:CHAR szFilePath[MAX_PATH];memset(szFilePath, 0, MAX_PATH);if (GetModuleFileNameA(NULL, szFilePath, MAX_PATH)){ HKEY hKey; CStringA strRegPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, str原创 2020-11-24 13:58:48 · 2128 阅读 · 0 评论 -
如何定位并高亮显示在列表控件中找到的行
我们在应用中有时候需要在列表控件中找到一条记录,而这条记录可能不再当前页,而我们需要把这条记录找到并高亮显示到当前页中,那么如何实现呢代码如下: CString s1 = "要查找的内容"; for( int Item=0;Item<"列表控件的总行数";Item++ ) { //逐行查询,获取该行子项内容 CString s2 = ((CListCtrl*)GetDlgItem(IDC_LIST1))->GetItemText( Item, "查找内容相匹配的列号"原创 2020-11-24 11:27:44 · 398 阅读 · 0 评论 -
解决MFC编程中对话框中个别字符无法输入的问题
检查PreTranslateMessage(MSG* pMsg)消息预处理函数中是否屏蔽了那些按键的输入,如果没有指定屏蔽的话,需要检查下该函数中是否有如下代码:if(pMsg->wParam==VK_F4)//屏蔽ALT+F4键 return TRUE;如果有的话,需要改成如下的方式: if (WM_SYSKEYDOWN == pMsg->message )// WM_SYSKEYDOWN 表示ALT键按下 { if (VK_F4 == pMsg->wPa原创 2020-11-24 11:11:08 · 545 阅读 · 0 评论 -
解决MFC程序无法通过类向导添加控件变量和事件处理函数的问题
我们在用VS创建MFC项目,在对控件添加控件变量或者事件处理函数时,有时候会遇到进行这些操作时没有任何反应,添加完控件变量或者事件处理函数时,不会自动添加变量或者事件处理程序。在遇到这类问题时可以尝试以下操作:在使用VS进行MFC编程时,相信很多朋友都遇到过无法添加事件处理程序的问题,点击添加,没有任何反应,也不自动跳转到映射代码处,或者报属性参数无效,下面给出解决办法:依次点击"工具"->"选项"->"文本编辑"->"C/C++"->高级,找到下图6标识的选项,把禁用解原创 2020-11-24 09:38:52 · 4420 阅读 · 0 评论 -
一个简单的DDraw应用程序
此文章转载于:http://www.cnblogs.com/fangyukuan/archive/2011/05/13/2045951.htmlDDraw总共由五个接口组成: IUnknown:所有com接口都必须从这里继承的。(请看相关文章COM笔记-QueryInterface函数)IDirectDraw:使用DDraw必须创建的主接口对象。IDirectDrawSurface转载 2012-08-24 12:43:01 · 699 阅读 · 0 评论 -
批处理删除vc临时文件
@echo onecho 删除VC编译产生的临时文件echo 删除开始...for /r . %%c in (.) do @if exist "%%c\Debug" rd /S /Q "%%c\Debug"for /r . %%c in (.) do @if exist "%%c\Release" rd /S /Q "%%c\Release"for /r . %%c in (*转载 2012-08-24 12:44:23 · 548 阅读 · 0 评论 -
Ddraw 创建表面
转载于:http://www.cnblogs.com/fangyukuan/archive/2011/05/21/2052728.html创建DDraw对象和设置协作级别请看《一个简单的DDraw应用程序》设置模式SetDisplayMode为设置视频模式的函数HRESULT SetDisplayMode(DWORD dwWidth, // 屏幕宽转载 2012-08-24 12:48:13 · 842 阅读 · 0 评论 -
使用blitter进行内存填充
前面的内存填充都是利用memset()或memcpy()进行的。主要是用cpu进行的,有点慢。特别是当表面非线性时,就得一行一行的填充,就更慢了。利用blitter我们可以直接填充或移动大块VRAM和DDraw表面,速度比较快。有两个函数如下:IDIRECTDRAWSURFACE7::Blt()IDIRECTDRAWSURFACE7::BltFast()Blt原转载 2012-08-24 12:51:25 · 1338 阅读 · 0 评论 -
双缓冲和后备缓冲
前面的例子都是,直接在主表面上绘东西。对于动画,直接在主表面上绘,会产生很严重的闪烁。解决的办法是采用双缓冲或后备缓冲。双缓冲双缓冲:在离屏缓冲中绘制图像,然后将其拷贝到显示表面。 见下面代码,先把数据放到double_buffer,最后再拷贝到主表面上。下面Sleep(300);睡眠了0.3秒这么长的时间是为了更为明显的看到画面的变化。代码下载 int G转载 2012-08-24 12:50:30 · 785 阅读 · 0 评论 -
高彩模式
除了8位的,还有16位、24位、32位等。高于8位的模式都不再采用调色板模式。下面介绍几种编码模式。16位模式下有几种编码方案Alpha.5.5.5:这种模式用D15位存储一个Alpha(透明度),其余15位均匀分配给红色5位,绿色5位,蓝色5位。X5.5.5:与Alpha.5.5.5类似,只是最高位没有使用。5.6.5:这个是16色彩最常用的模式。5位分配给红,6位分配给绿,5位转载 2012-08-24 12:49:33 · 4464 阅读 · 0 评论 -
7zip压缩与解压缩在vc++中的调用方法例子
最近在做关于压缩与解压缩的程序,在网上找了很长时间,很多的文章都很难理解,经过大半天的尝试终于找到一种解决办法,现在以其中的一种压缩和解压缩的方式的例子给大家呈现: 首先要有7zip的可执行文件7z.exe,假设已经将该可执行文件放自己的项目目录下,即和自己的可执行文件放在同一目录下, // 压缩程序 CString sParm; CString sSaveTemp; CString se原创 2012-03-02 10:27:24 · 4201 阅读 · 1 评论 -
vc剪贴板
VC 剪切板操作<br /> <br /> 下边的源代码演示了如何将文本(包含在CString对象“source”中)拷贝到剪贴板上。 <br /> <br /> CString source; <br /> //put your text in source <br /> if(OpenClipboard()) <br /> { <br />HGLOBAL clipbuffer; <br /> char * buff转载 2011-01-04 14:30:00 · 500 阅读 · 0 评论 -
VC中判断目录,文件是否存在,创建目录的方法
<br />目录是否存在的检查:<br />BOOL FolderExist(CString strPath)<br />{<br /> WIN32_FIND_DATA wfd;<br /> BOOL rValue = FALSE;<br /> HANDLE hFind = FindFirstFile(strPath, &wfd);<br /> if ((hFind != INVALID_HANDLE_VALUE) && (wfd.dwFileAttributes &转载 2010-09-16 12:00:00 · 497 阅读 · 0 评论 -
对话框背景设置
<br />让一个对话框显示背景通常有两种做法:使用图片控件、在WM_PAINT消息中画图。 <br />用图片控件非常简单,但功能功能不强大,不能对图片拉申等。 <br />在WM_PAINT中画图,相对复杂,但可以做很多特殊处理(如对图片拉申、图片取反等等)。 <br />那么下面就对两种方法略述。 <br />1、用图片控件 <br />在对话框中加入Picture控件,属性页中General->Type设为Bitmap, Image中选中相关联的图片资源号。 <br />这样就编译运行,你就会发现它转载 2010-09-05 12:25:00 · 652 阅读 · 0 评论 -
位图按钮的新颖用法
在众多的Windows软件中,位图按钮(BitmapButton)确实是一个相当重要的角色。与普通按钮相比,它以图形代替文字,形象直观,使画面更加活泼,使人机界面更加友善。笔者在用Visual C 编制软件时,经常用到位图按钮。但在编制的过程中,发现它也还存在着美中不足的地方。<br />一、问题的提出<br />我们在上Internet时,经常使用各种浏览器,例如IE或Netscape,它在工具条上的位图按钮不能不给使用者留下深刻印象。当鼠标未触及时,正常状态下的位图按钮只是平面图形;一旦触及,它立即“浮转载 2010-09-18 10:01:00 · 452 阅读 · 0 评论 -
出现:'DataTypeEnum' : ambiguous symbol 错误怎么办?
ado.h,ado.cpp等是一个ado封装类 ,较容易使用,流传很广<br />但是在工程应用或封装为动态库时经常会出现:<br />:error C2872: 'DataTypeEnum' : ambiguous symbol<br />: error C2872: 'ParameterDirectionEnum' : ambiguous symbol <br />等类似错误,网上给出的一些解决方法都是治标不治本,比如使用namespace ,<br />转载 2010-10-22 10:25:00 · 621 阅读 · 0 评论 -
用好模糊查询指令LIKE
查询是SQL 中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇之处在于其提供的模糊查询功能,通过与它相匹配的四大类通配符,like放在条件中起到画龙点睛的作用。 <br />一、一般搜索条件中用Like <br />可与LIKE配对的数据类型主要是字符串、日期或时间值。LIKE 关键字可以使用常规表达式包含上面三种类型数据,这些数据字符串中可包含下面四种通配符的任意组合。 <br /> <br />通配符 含义 <br />% 包含零个或更多字符的任意字符串。 <b转载 2010-10-23 16:40:00 · 882 阅读 · 0 评论 -
让CListCtrl的SubItem也具有编辑功能:
<br /><br />要重载一个文本框,然后在LVN_BEGINLABELEDIT时改变文本框位置。<br />CInEdit m_InEdit;<br /> if( ( GetStyle() & LVS_TYPEMASK ) == LVS_REPORT && ( m_nEditSubItem != 0 ) )<br /> {<br /> HWND hwndEdit;<br /> CRect rtBound;<br /> CString s转载 2010-10-23 09:28:00 · 471 阅读 · 0 评论 -
VC实现滚动条的详解
显示区域大小:<br />我们曾经使用过 GetClientRect 函数来获取显示区域的大小,使用这个函数没有什么不好,只是效率太低,确定显示区域更好的方法是在窗口消息处理程序中处理 WM_SIZE消息。传递给窗口消息处理程序的lParam 参数的低字节包含显示区域的宽度,高字节包含高度。<br />static int nxClient, nyClient;<br />case WM_SIZE:<br />nxClient = LOWORD(lParam);<br />nyClient = HIWORD转载 2010-10-26 12:21:00 · 2094 阅读 · 0 评论 -
为ListBox控件添加水平滚动条
<br />Win32的标准控件之中,列表控件(ListBox)并没有和列表视图(ListView)一样提供水平滚动条,所以如果列表项的长度超过列表的宽度的话,那么超出的部分将无法显示。在本文中我将以一个简单的例子来说明如何使用SDK来解决这一问题,在这个例子中,我将为一个列表控件添加100行如下格式的文本:<br />case WM_INITDIALOG:<br />{<br /> int i;<br /> TCHAR str[100];<br /> for(i = 0; i < 100; i++)<br转载 2010-10-26 14:34:00 · 2640 阅读 · 2 评论 -
vc 树型控件中SetCheck()函数的使用
<br />对于对话框中的TreeView控件,如果想在初始化(OnInitDialog)中SetCheck,必须:<br />m_tree.ModifyStyle( TVS_CHECKBOXES, 0 );<br />m_tree.ModifyStyle( 0, TVS_CHECKBOXES );<br />m_tree.SetCheck(hItem, TRUE);<br />即即使在对话框编辑器中为TreeView增加了Check Boxes属性,也必须重新设一次TVS_CHECKBOXES,SetCh转载 2010-08-27 16:00:00 · 3908 阅读 · 1 评论