社区
非技术区
帖子详情
请问需要引用什么单元,才能够识别PITEMIDLIST,BROWSEINFO...?
cokegirl
2002-01-22 01:09:36
请教高手,我copy了一段程序,其中用到了
PITEMIDLIST
BROWSEINFO
SHGetSpecialFolderLocation
CSIDL_NETWORK
TBrowseInfo
这些东东导致我的程序无法编译,总是提示Undeclared indentifier:"xxx"。
这是怎么回事?
...全文
252
2
打赏
收藏
请问需要引用什么单元,才能够识别PITEMIDLIST,BROWSEINFO...?
请教高手,我copy了一段程序,其中用到了 PITEMIDLIST BROWSEINFO SHGetSpecialFolderLocation CSIDL_NETWORK TBrowseInfo 这些东东导致我的程序无法编译,总是提示Undeclared indentifier:"xxx"。 这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
王集鹄
2002-01-22
打赏
举报
回复
当不知道标识是什么单元声明的时候
最有效的方法是
用Win系统的 "查找文件"
名称="*.pas"
包含文字="<未知标识>"
搜索="C:\Program Files\Borland\Delphi6"
除非是在dcu中
试试,很管用
王集鹄
2002-01-22
打赏
举报
回复
uses
ShellApi, ShlObj;
MFC打开文件和文件夹
MFC打开文件和文件夹 一、利用API实现打开文件对话框和利用MFC来实现打开文件对话框。 方法一:API部分: // OPENFILENAME ofn; // TCHAR szFile[MAX_PATH]; // ZeroMemory(&ofn,sizeof(ofn)); // ofn.lStructSize = sizeof(ofn); // ofn.lpstrFile = szFile; // ofn.lpstrFile[0] = TEXT('/0'); // ofn.nMaxFile = sizeof(szFile); // ofn.lpstrFilter = TEXT("all/0*.*/0jpg/0*.jpg/0bmp/0*.bmp/0"); //定义三个选项,all,text和exe // ofn.nFilterIndex = 1; //定义首选项是哪一个 // ofn.lpstrFileTitle = NULL; // ofn.nMaxFileTitle = 0; // ofn.lpstrInitialDir = NULL; // ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; // if(GetOpenFileName(&ofn)) // { // ::SetDlg
Item
Text(this->m_hWnd,
ID
C_EDIT1,szFile); // } 方法二、MFC实现 // CFileDialog dlg(TRUE, NULL, NULL, // OFN_H
ID
EREADONLY | OFN_OVERWRITEPROMPT, // NULL); // // if(dlg.DoModal() ==
ID
OK) // { // szFilename = dlg.GetPathName(); // ::MessageBox(NULL,szFilename,NULL,MB_OK); // } 注意:打开文件的方式和打开文件夹的方式是不同的。打开文件的方式是不断的打开直到出现末端为文件,否则遇到文件夹还要继续打开。而打开文件夹则是只要选择到一个路径的文件夹就打开。 下面的这种方式是打开文件夹:MFC实现。 static TCHAR strDirName[MAX_PATH]; B
ROWS
E
INFO
bi; CString szString = TEXT("选择一个源文件子文件夹"); bi.hwndOwner = ::GetFocus(); bi.p
id
lRoot = NULL; bi.pszDisplayName = strDirName; bi.lpszTitle = szString; bi.ulFlags = BIF_B
ROWS
EFORCOMPUTER | BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0; LP
ITEM
ID
LIST
p
Item
ID
List
= ::SHB
rows
eForFolder(&bi); if(p
Item
ID
List
== NULL) { return ; } ::SHGetPathFrom
ID
List
(p
Item
ID
List
, strDirName); CString str = strDirName; if(str != "" && str.Right(1) != '//') str += '//'; ::SetDlg
Item
Text(this->m_hWnd,
ID
C_EDIT1,str);
资源管理器树状菜单,Delphi源代码.rar
资源管理器树状菜单,Delphi源代码,也就是Windows资源管理器中的展开树菜单,通过这个菜单你或许能了解到: 几个对项目标识符进行操作的函数、将二进制表示的项目标识符列表转换成有可识的项目名、获得每个文件夹在系统中的图标、获得系统的图标列表、生成文件夹管理树等等技巧。
需要
注意: ParentFolder: IShellFolder; // 节点对应的文件夹的父文件夹的IShellFolder接口 P
id
l, FullP
id
l: P
Item
ID
List
;// 节点对应的文件夹的相对和绝对项目标识符列表 HasExpanded: Boolean; // 节点是否展开
发送程序-源码
unit uMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, RzEdit, RzButton, ExtCtrls, IniFiles, RzTabs, ComCtrls, Rz
List
Vw, RzShellCtrls, Img
List
, RzShellDialogs, RzCmboBx, QRCtrls, QuickRpt, jpeg, ShlObj, RzPanel, RzSplit, RzTreeVw, DB, ADODB, Prov
id
er, DBClient, Gr
id
sEh, DBGr
id
Eh, RzStatus; type PShell
Item
= ^TShell
Item
; TShell
Item
= record Full
ID
,
ID
: P
Item
ID
List
; Empty: Boolean; DisplayName, TypeName: string; ImageIndex, Size, Attributes: Integer; ModDate: string; end; TfrmMain = class(TForm) RzPageControl1: TRzPageControl; TabSheet1: TRzTabSheet; TabSheet2: TRzTabSheet; lbl1: TLabel; edt_Path1: TRzEdit; btn_o2: TButton; Button1: TButton; SplPreview: TRzSplitter; img1: TImage; RzToolbar1: TRzToolbar; RzSpacer1: TRzSpacer; ClientDS_PicCap: TClientDataSet; DataSP_PicCap: TDataSetProv
id
er; Qry_PicCap: TADOQuery; Ds_PicCap: TDataSource; DBGr
id
Eh1: TDBGr
id
Eh; ClientDataSetH: TClientDataSet; DataSetProv
id
erH: TDataSetProv
id
er; QueryH: TADOQuery; DataSourceH: TDataSource; RzBtn_0: TRzBitBtn; RzBtn_1: TRzBitBtn; Image
List
1: TImage
List
; Memo1: TMemo; ClientDS_PicCapacc_
id
_only: TStringField; ClientDS_PicCapname: TStringField; ClientDS_PicCapplate_num: TStringField; ClientDS_PicCapplate_type: TStringField; ClientDS_PicCapInsDate: TDateTimeField; ClientDS_PicCapAcc_
ID
_Only_1: TStringField; ClientDS_PicCapfDateTime: TDateTimeField; ClientDS_PicCapPicturePath1: TStringField; ClientDS_PicCapPicturePath2: TStringField; ClientDS_PicCapPicturePath3: TStringField; ClientDS_PicCapPicturePath4: TStringField; ClientDS_PicCapPicturePath5: TStringField; ClientDS_PicCapPicturePath6: TStringField; ClientDS_PicCapPicturePath7: TStringField; ClientDS_PicCapPrintCount: TIntegerField; ClientDataSetHAuto
ID
: TAu
一个相当不错的Delphi TreeView树控菜单.rar
一个Delphi编写的相当不错的TreeView树控菜单,类似于Windows资源管理器中的树状菜单。 ParentFolder: IShellFolder; // 节点对应的文件夹的父文件夹的IShellFolder接口 P
id
l, FullP
id
l: P
Item
ID
List
;// 节点对应的文件夹的相对和绝对项目标识符列表 HasExpanded: Boolean; // 节点是否展开 通过这个树形菜单制作实例,你可以学习到几个对项目标识符进行操作的函数,同时还有将二进制表示的项目标识符列表转换成有可识的项目名,获得每个文件夹在系统中的图标,获得系统的图标列表,生成文件夹管理树等。
DELPHI中通过SHB
rows
eForFolder函数实现选择目录
uses ShellAPI, ShlObj; procedure TForm1.Button1Click(Sender: TObject); var TitleName : string; lp
Item
ID
: P
Item
ID
List
; B
rows
e
Info
: TB
rows
e
Info
; DisplayN...
非技术区
829
社区成员
53,610
社区内容
发帖
与我相关
我的任务
非技术区
Delphi 非技术区
复制链接
扫一扫
分享
社区描述
Delphi 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章