相关推荐
-
CListCtrlEx.rar_ CListCtrl_CListCtrlEx.rar_MFC_MFC 编辑框_MFCListCt
对MFC的CListCtrl控件的扩展,可以对每行添加进度条、编辑框、复选框等控件
-
Windows未公开函数揭密(3)
Windows未公开函数揭密 根据一个特定文件夹对象的ID获得它的目录pidlPublic Function GetPIDLFromFolderID(hOwner As Long, nFolder As SHSpecialFolderIDs) As LongDim pidl As LongIf SHGetSpecialFolderLocation(hOwner, nFolder
-
支持文件拖放和实时监控的列表控件CListCtrlEx
CListCtrlEx:一个支持文件拖放和实时监视的列表控件——用未公开API函数实现Shell实时监视 一、需求 无论何时,当你在Explorer窗口中创建、删除或重命名一个文件夹/文件,或者插入拔除移动存储器时,Windows总是能非常快速地更新它所有的视图。有时候我们的程序中也需要这样的功能,以便当用户在Shell中作出创建、删除、重命名或其他动作时,我们的应用程序也能快速地随之更新。
-
SHChangeNotifyRegister in Windows CE
BOOL WINAPI SHChangeNotifyRegister( HWNDhwnd, SHCHANGENOTIFYENTRY * pshcne);第一个参数需要一个窗口句柄,用CreateWindow()方法可以创建一个窗口(创建窗口前需要调用RegisterClass()方法,在RegisterClass这个参数中需要传入实现我们自己的消息处理函数WindowProc())。第二个参数
-
CListCtrl 修改行高
最近自己在做一个小项目,需要重绘CListCtrl;这里和大家分享修改行高的方法。总的来说修改行高有两种方法(目前我知道的),一是利用响应ON_WM_MEASUREITEM_REFLECT消息来修改行高,一是利用item内的内容来撑大行高; 一、利用ON_WM_MEASUREITEM_REFLECT来修改行高 1、首先我们对ON_WM_MEASUREITEM_R
-
自定义VC控件CListCtrlEx中进度条闪烁解决办法
在使用CListCtrlEx类控件时,能够在list control中添加进度条,这个功能非常好用。 但是在实际应用中会出现修改进度条进度时,进度条不断闪烁的问题,查找了很多资料后,解决办法如下: 在控件的SetExtendedStyle()函数中,增加LVS_EX_DOUBLEBUFFER双缓冲风格,就可以解决这个问题了。 CListCtrl_Info.SetExtendedStyle(
-
CListCtrl自适应宽度
void CListCtrlExDlg::AdjustColumnWidth(){// SetRedraw(FALSE);int nColumnCount = GetColumnCount();for (int i = 0; i { m_wndList.SetColumnWidth(i, LVSCW_AUTOSIZE); int nColumnWidth = m_wndList.Ge
-
ClistCtrl 列宽问题
自动调整列宽1 自动调整CListCtrl 列宽 void CPrintsysDlg::AdjustColumnWidth() { //SetRedraw(FALSE); int nColumnCount = GetColumnCount(); for (int i = 0; i < nColumnCount; i++) { m_list.SetColumnWidth(
-
三种非驱动实现文件监视的方法
下面介绍三种非驱动实现文件监视的方法。 ================================================================= 通过 未公开API SHChangeNotifyRegister 实现 =================================================================
-
【新】用SHChangeNotifyRegister实现文件监控 - 注释清晰,易拓展封装-易语言
前言: 最近学Windows shell外壳,偶然发现了SHChangeNotifyRegister这个神奇的函数,于是便用它写了个例程。 本帖不少思想来自帖子:未公开Windows API SHChangeNotifyRegister实现文件监控 基本介绍: 在Windows实现文件监控有三种方法,第一种是“虚拟文件系统驱动”方法,如windows 下的filemon,网上有很多关于他的分析。第二种方法是“HOOK API”方法,钩子技术。第三种方法是“消息机制”,从windows的文件通知消息获取系统的文件操作。但是这是文件操作完成以后,才通知的。所以只能进行监视监视,不能进行完全的控制。而消息机制当中,也有三种方法,(1)通过使用“未公开API SHChangeNotifyRegister 实现”;(2)通过 FindFirstChangeNotification 实现;(3)通过 ReadDirectoryChangesW 实现。第(2)(3)种方法只能针对一个在指定目录或子目录下发生的更改符合过滤条件时,进行监视。 而现在,易语言 中大部分消息机制监视文件使用FindFirstChangeNotification或ReadDirectoryChangesW + 线程实现的(例如:文件监控精灵 - 监控目录文件新建删除重命名修改 ),该方法效率较低,而且如果很多文件在短时间内发生变更,则有可能会丢失部分通知,且监视的文件信息有限,所以,我写了一份使用SHChangeNotifyRegister来监视文件的例程。 特性: 代码几乎是全注释,清晰明了: 程序很多命令和常量是翻译自MSDN,规范程度高: 监视多种消息(比如USB接口信息),很多问题一个命令即可解决:
-
CListCtrl虚拟列表技术
创建列表列 m_LstCtr.InsertColumn(0, L"列1", LVCFMT_CENTER, 40); m_LstCtr.InsertColumn(1, L"列2", LVCFMT_CENTER, 80); m_LstCtr.InsertColumn(2, L"列3", LVCFMT_CENTER, 0); //列宽为零, 标识隐藏该列 m_LstCtr.InsertColumn(3,
-
文件访问通知
一、需求 无论何时,当你在Explorer窗口中创建、删除或重命名一个文件夹/文件,或者插入拔除移动存储器时,Windows总是能非常快速地更新它所有的视图。有时候我们的程序中也需要这样的功能,以便当用户在Shell中作出创建、删除、重命名或其他动作时,我们的应用程序也能快速地随之更新。 二、原理 Windows内部有两个未公开的函数(注:在最新的MSDN中,已经公开了这两
-
Windows Mobile中的文件改变通知
在资源管理器中,删除一个文件,更改一个文件夹名称,都能及时刷新。这是怎么做到的呢?答案是使用了文件改变通知。先看一个结构typedef struct tagSHCHANGENOTIFYENTRY { DWORD dwEventMask; LPTSTR pszWatchDir; BOOL fRecursive;} SHCHANGENOTIFYENTRY;要接收文件改
-
选择目录对话框
unitShlObjEx; interface uses Windows,ShlObj,ShellAPI; const SHCNE_RENAMEITEM=$00000001; SHCNE_CREATE=$00000002; SHCNE_DELETE=$00000004; ...
-
CLISTCTRL派生类,可排序设置背景色,可直接编辑修改,使用简单有例子
VC6 CLISTCTRL派生类,可以简单实现排序,修改文字颜色背景颜色,直接修改列表数据等。 有实际例子可供参考
-
vc CListView和CListCtrl的使用
将CListCtrl绑定到CListView 使用GetListCtrl(),*CListCtrl=&GetListCtrl();。要想显示模式和Access数据库那样的,要重载PreCreateWindow,在BOOL CListView::PreCreateWindow(CREATESTRUCT& cs)里添加cs.style |= LVS_REPORT; 。设置显示样式,调用DWOR
-
CListView操作
CListView的操作