![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC控件操作
wlq5800
这个作者很懒,什么都没留下…
展开
-
我的VC————listcontrol排序的实现
记得以前就试过给list控件排序,但是失败了,今天下午试了一个也失败看,晚上抱着试试看的想法又搜了一个,呵呵,竟然成功了,用了2个函数而已,比用类的简单。先在.cpp文件的上面定义几个全局变量 BOOL m_bAsc1;//是否顺序排序int m_nSortedCol1;//当前排序的列static int CALLBACK SortLVProc1(LPARAM lParam1,LPARAM lParam2,LPARAM lParamSort);排序函数static int CALLBACK SortLVP原创 2010-12-21 17:15:00 · 2123 阅读 · 1 评论 -
VC——自动更新功能之下载文件及进度条显示
<br /><br />首先添加进度条控件,添加其关联的变量m_progress,先将进度条条初始化m_progress.SetPos(0);<br />然后调用下载函数InternetGetFile (CString szUrl,CString szFileName)<br />前一个参数是远程文件的路径及名称,后一个是本地保存文件的路径很名称,在这里远程文件路径必须要带http://前缀。<br />int CLOGIN::InternetGetFile (CString szUrl,CString s原创 2010-12-28 14:24:00 · 1754 阅读 · 0 评论 -
VC获取当前路径
<br /> 在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径:<br />//////////////////////////////////////////////////////////////////////////////<br />/////////////////////////////////获得当前路径<br />///////////////////////////////////////////////////////////////////////原创 2010-12-28 14:51:00 · 3087 阅读 · 1 评论 -
VC——读取网卡信息
网络编程中经常需要获得类似于路由信息,ip信息之类的东西。下面的这个函数可以实现读取网卡信息:void MASKinfo(){ PIP_ADAPTER_INFO pAdapterInfo; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; DWORD index=0; CString str; pAdapterInfo = (IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO)); U原创 2010-12-28 16:33:00 · 819 阅读 · 0 评论 -
VC——自动更新功能之自动安装
<br />一般自动安装就是指下载完成之后调用<br /> WinExec("//XXX.exe",SW_SHOWNORMAL);来启动exe,会经常遇到的问题是很多软件都设置了只能开一个客户端的功能,因此在不关闭本身运行的程序之前不能完成自动安装的功能。<br />因此很多时候都会单独做一个自动更新的程序,在你点击启动主程序时,先启动updata程序,然后关闭主程序,当更新完成之后再调用主程序来达到自动安装的功能!<br />具体实现如下:<br />在主程序中先比较有没有更新有的话调用如下函数:<br原创 2010-12-28 14:40:00 · 2531 阅读 · 0 评论 -
VC——添加自己的消息函数
<br /> 有时候我们需要添加自己的消息函数来完成特定的功能,添加消息函数有3个步骤:<br />1.在stdafx.h中,添加消息函数的宏定义<br />#define WM_MY_MESSAGE WM_USER + 102 其中WM_USER是VC提供给我们定义自己的消息函数的。<br />2.在要使用的类的.h文件里面添加函数声明:<br />LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);<br />3.在.cpp文件的BEGIN_MES原创 2010-12-28 16:24:00 · 409 阅读 · 0 评论 -
VC——添加托盘消息
<br />很多程序都可以缩小到电脑的右下角变成一个图标,这个就是在程序中添加托盘消息,添加的步骤如下:<br />1.在XXXdlg.h中添加托盘函数的void toTray();<br />2.在XXXdlg.cpp中写函数定义:<br />void CXXXDlg::toTray() <br />{ <br /> NOTIFYICONDATA nid; <br /> nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); <br /> nid.hWnd=this->m_hW原创 2010-12-28 16:49:00 · 1636 阅读 · 0 评论 -
VC——combo控件自动实现功能
呵呵,今天运气很好,突然发现一个实现combo控件按照字母搜索的类,很方便!// ComboBoxInput.cpp : implementation file//完成自动检索游戏名称的功能#include "stdafx.h"#include "newestnjn.h"#include "ComboBoxInput.h"#ifdef _DEBUG#define new DEBUG_NEW#und原创 2011-06-17 13:54:00 · 531 阅读 · 0 评论 -
VC——在listbox中显示不同背景颜色的内容的类
因为做的是工具软件,所以经常和不同的控件打交道,之前工具里面有个提示出错信息的提示框,用的人希望用不同的颜色来显示,这样方便查看,因此百度了一下,找到了下面这个基于listbox的类// MulitLineListBox.cpp : implementation file//#include "stdafx.h"#include "MulitLineListBox.h"#ifdef _原创 2011-06-21 11:54:00 · 1360 阅读 · 1 评论 -
VC——自动更新功能之多线程
<br /> 做产品软件,我们经常遇到的是软件更新问题,更新问题涉及到的内容还比较多。<br />1.是打开软件要自动检测,这样就需要一个多线程来实现。<br />2.要在网上下载最新版本的版本号,与本地文件比较,有更新就需要从指定站点下载最新的软件包。<br />3.下载过程中需要显示下载的进度,需要使用进度条软件。<br />4.下载完成后的安装包我们需要自动安装。<br />在这里我们先来讲一下多线程自动检测。<br />首先定义一个线程函数:<br />UINT update(LPVOID原创 2010-12-28 14:17:00 · 932 阅读 · 0 评论 -
静态拆分窗口——三叉窗口
<br />1.首先在CMainFrm.h中定义2个CSplitterWnd 的变量:<br />CSplitterWnd m_wndSplitter1;<br />CSplitterWnd m_wndSplitter2;<br />2.添加你要加载的3个子窗口的类class wizard ----add class-----新建基于cview的类CView1,CView2,CView3。<br />3.在CMainFrm.CPp中添加消息响应函数OnCreateClient。<br />4.<br />B原创 2010-12-24 11:28:00 · 715 阅读 · 0 评论 -
我的VC++——对话框中显示GIF格式的图片
PictureEx图片显示类支持以下格式的图片:GIF (including animated GIF87a and GIF89a), JPEG, BMP, WMF, ICO, CUR等,我特别推崇的是可以做出动画,而且轻而易举,确实很COOL。下面是详细的编程过程:1. 新建项目:在VC6中用MFC新建一个基于对话框的GifDemo应用程序,接受所有缺省选项即可;2.在项目中插入文件:把PictureEx.h,PictureEx.cpp文件copy 到项目文件夹下,Project->Add to Proj原创 2010-12-21 17:11:00 · 1874 阅读 · 1 评论 -
我的VC++——对话框最前端显示
<br /> 很多时候我们想破的脑袋,以为是很难的一个问题,结果一句代码就可以解决,就好比我想让我的窗口一直最前端显示只需是代码里加一句<br />::SetWindowPos(AfxGetMainWnd()->m_hWnd,HWND_TOPMOST,-1,-1,-1,-1,SWP_NOMOVE|SWP_NOSIZE);<br /> 其实人生也是这样,我们总是以为很难,其实你只要放宽心,一切都会过去的!<br />我一直在领悟人生,领悟生活原创 2010-12-21 17:16:00 · 1955 阅读 · 1 评论 -
我的VC——对话框背景色及背景图片
<br />MFC界面编程无非不是根据已有类函数对控件进行设置,就是重载类函数重绘控件,达到自己想要的效。思路是很简单,但是实际操作起来就。。。。。<br />之前用了SkinPPWTL.dll来加载皮肤完成了界面的美化,使用起来很简单,导入库函数,加载DLL,在APP文件InitInstance()里面初始化,加载皮肤,最后在ExitInstance() 释放变量即可。虽然可用的皮肤很少,但是比起系统默认的界面要好很多。在后来发现对话框上的右键很容易引起系统崩溃。。。。只好放弃,开始自己的MFC界面编程之原创 2010-12-21 17:18:00 · 3924 阅读 · 0 评论 -
我的VC——VC中窗口ID,句柄,指针三者相互转换函数
<br />ID--HANDLE--HWND三者之间的互相转换<br />id->句柄 hWnd = ::GetDlgItem(hParentWnd,id);<br />id->指针 CWnd::GetDlgItem();<br />句柄->id id = GetWindowLong(hWnd,GWL_ID);<br />句柄->指针 CWnd *pWnd=CWnd::FromHandle(hWnd);<br />指针->ID id = GetWi原创 2010-12-21 17:20:00 · 451 阅读 · 0 评论 -
我的VC++——VC++6.0登录对话框设计(登录对话框优先主框架显示)
1.新建一个登陆对话框,添加其对应的类CLoginDlg,然后在.cpp里面写你要完成的功能!2.显示登陆对话框,在App类源文件中顶部声明#include"CLoginDlg.h",在InitInstance()方法中第一行开始加入如下代码:<br />CLoginDlg ld;<br />BOOL islogin = FALSE;<br />CLoginDlg cd;<br />while(!islogin){<br /> if(ld.DoModal()==IDOK){<br />//可用cd.原创 2010-12-21 17:24:00 · 1885 阅读 · 1 评论 -
使用cmarkup类解析xml格式
<br />在读写配置文件的时候经常使用xml格式,这样方便操作,在网上找了好多资料,决定使用cmarkup类来解析,使用了很长时间觉得很方便,与大家分享一下。<br />将CMarkup.h和CMarkup.cpp添加到我们的工程中,编译一下会出来错误,这时要添加#include "stdafx.h"头文件。<br />在我们要使用的工程中<br />#include "Markup.h" <br />然后在函数里面添加<br />CString csSN,csip,csmask;<br /> CMark原创 2010-12-28 13:40:00 · 577 阅读 · 1 评论 -
VC——密码保存功能
<br /> <br /> <br />我们在做客户端软件的时候,经常会遇到要使用密码保存的功能,其实密码保存功能的原理很简单,当我们在点击保存密码的按钮时,我们将读取用户名和密码框里面的字符串,存储在某个指定的文件里面,然后在初始化函数里面,读取这个文件的内容,显示在用户名和密码框中,即可!<br /> 具体代码实现:双击保存用户名的复选框,添加响应函数<br /> void CLOGIN::OnCheck1() <br />{<br /> // TODO: Add you原创 2010-12-28 14:01:00 · 1473 阅读 · 1 评论 -
MSFlexGrid控件响应滑轮消息
<br />在CView中应用的MSFlexGrid控件如何响应滚轮消息,<br />在初始化函数CMyView::OnInitialUpdate()中对表格进行初始化,m_gridMyForm是关联MSFlexGrid的控件变量<br /><br /><br />void CFlexgridWheelView::OnInitialUpdate()<br />{<br /> CView::OnInitialUpdate();<br /> GetParentFrame()->Recal原创 2010-12-24 16:18:00 · 556 阅读 · 0 评论 -
VC——FlexGrid 属性 方法
说明:O 表示 VSFlexGrid 对象的名,A 表示当前属性名,|表示可选----------------------------------------------------------------------------------------------------------属性/方法名称 功能 示例语法Add转载 2012-07-30 09:58:19 · 2368 阅读 · 0 评论