我想在程序中添加一个‘目录指向’选项,要能够支持‘网上邻居’,就象winamp中的‘add dir’功能一样,但TDrivecombobox和TDirectoryBox配合使用不能出现‘网络邻居’,不能指向网络驱动器,怎么办?我头都要炸了。各位老大帮帮忙!

bdx 2001-09-02 05:23:40
我想在程序中添加一个‘目录指向’选项,要能够支持‘网上邻居’,就象winamp中的‘add dir’功能一样,点‘add dir’后出现一个对话框,其中有驱动器的目录结构,还有‘网上邻居’,用户选择一个目录,点确定即可。但BCB中TDrivecombobox和TDirectoryBox配合使用不能出现‘网络邻居’,不能指向网络驱动器,怎么办?我头都要炸了。各位老大帮帮忙!
...全文
356 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
ma95221 2002-01-31
  • 打赏
  • 举报
回复
只要在首行加上
#define NO_WIN32_LEAN_AND_MEAN
具体的可以看vcl0.h
可以参考CB带的例子VirtualListView
HUANG_JH 2001-09-04
  • 打赏
  • 举报
回复
yuyulily(打工仔)
的方法也行!
可是前面加上'_'是什么意思呢???
coldbloodfox 2001-09-03
  • 打赏
  • 举报
回复
很不错,我收藏
bdx 2001-09-03
  • 打赏
  • 举报
回复
sharetop(天生不笨) 说的对!
bdx 2001-09-03
  • 打赏
  • 举报
回复
我也查看了‘开发文档中好象有简单介绍,但在精华区没看到。
好象要包含<shlobj.h>头文件但我的cbc5不知为何编译这个头文件总出错。哪位大侠能否给我一个最最简单的完整例子,Email给我,小弟不胜感激之至!!!

mrgao@yeah.net

yuyulily 2001-09-03
  • 打赏
  • 举报
回复
是应为shlobj.h中定义的问题将以下出错的地方
[C++ Error] shlobj.h(1762): E2238 Multiple declaration for 'FVSHOWINFO'
[C++ Error] shlobj.h(1936): E2238 Multiple declaration for 'FOLDERSETTINGS'
[C++ Error] shlobj.h(3717): E2238 Multiple declaration for 'DESKBANDINFO'
[C++ Error] shlobj.h(4808): E2238 Multiple declaration for 'SHELLFLAGSTATE'
FVSHOWINFO
FOLDERSETTINGS
DESKBANDINFO
SHELLFLAGSTATE
前面加上'_'就可以了。
_FVSHOWINFO
_FOLDERSETTINGS
_DESKBANDINFO
_SHELLFLAGSTATE
sharetop 2001-09-03
  • 打赏
  • 举报
回复

因为在include/vcl/也有一个shobj.hpp文件,与include/shobj.h有冲突,

你只要在工程中加一个定义 NO_WIN32_LEAN_AND_MEAN 即可。

Tense 2001-09-03
  • 打赏
  • 举报
回复
关注
我也发现了类似错误

bdx 2001-09-03
  • 打赏
  • 举报
回复
HUANG_JH(长夜漫漫无心睡眠!) 与我遇到了同样的问题!
看来不是我的bcb5有问题,那是什么问题呢,真愁人!
HUANG_JH 2001-09-03
  • 打赏
  • 举报
回复
我也发现了
只要新建一个application
就添加一个 <shlobj.h> 就会报
[C++ Error] shlobj.h(1762): E2238 Multiple declaration for 'FVSHOWINFO'
[C++ Error] shlobj.h(1936): E2238 Multiple declaration for 'FOLDERSETTINGS'
[C++ Error] shlobj.h(3717): E2238 Multiple declaration for 'DESKBANDINFO'
[C++ Error] shlobj.h(4808): E2238 Multiple declaration for 'SHELLFLAGSTATE'
说是重复定义!
可是我查了shlobj.h文件,没有重复定义!!
好奇怪!!


bdx 2001-09-03
  • 打赏
  • 举报
回复
我包含了<shlobj.h>,为什么在编译时总出现这样的错误:

[C++ Error] shlobj.h(1762): E2238 Multiple declaration for 'FVSHOWINFO'
[C++ Error] shlobj.h(1936): E2238 Multiple declaration for 'FOLDERSETTINGS'
[C++ Error] shlobj.h(3717): E2238 Multiple declaration for 'DESKBANDINFO'
[C++ Error] shlobj.h(4808): E2238 Multiple declaration for 'SHELLFLAGSTATE'

难道我的cbc5有问题?


gqxs 2001-09-03
  • 打赏
  • 举报
回复
学习
sharetop 2001-09-03
  • 打赏
  • 举报
回复

再问一下,这个对话框为什么一出来就跑到窗口的右下角了,我想让在居中,如何做??
多谢。

Wingsun 2001-09-03
  • 打赏
  • 举报
回复
具体的参数自己设.
Wingsun 2001-09-03
  • 打赏
  • 举报
回复
好吧,给你一段代码:
void __fastcall DoBrowse(TObject* Sender)
{
BROWSEINFO bi;
LPITEMIDLIST pidlBrowse;

strcpy(Form1->Buffer,"Hello");
bi.hwndOwner = Form1->Handle;
bi.pidlRoot = NULL;
bi.pszDisplayName = Form1->Buffer;

bi.lpszTitle = "选择文件夹";
bi.ulFlags = BIF_RETURNONLYFSDIRS|BIF_STATUSTEXT;
bi.lpfn = BrowseCallbackProc;
bi.lParam = BFFM_SELCHANGED;

pidlBrowse = SHBrowseForFolder(&bi);
if (pidlBrowse)
{
if (SHGetPathFromIDList(pidlBrowse, Form1->Buffer))
{
Form1->FilePathEdit->Text=Form1->Buffer;
}
GlobalFree(pidlBrowse);
}
}

int __stdcall BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData)
{
if(uMsg==BFFM_INITIALIZED)
{
SendMessage(hwnd,
BFFM_SETSELECTION,
true,
(LPARAM)(Form1->FilePathEdit->Text.c_str()));
}
else if(uMsg==BFFM_SELCHANGED)
{
char* Path=Form1->Buffer;
SHGetPathFromIDList((LPCITEMIDLIST)lParam,Path);
SendMessage(hwnd,BFFM_SETSTATUSTEXT,NULL,(LPARAM)Path);
SendMessage(hwnd,BFFM_ENABLEOK,NULL,lstrlen(Path)>3);
}
return 0;
}
iYoung 2001-09-02
  • 打赏
  • 举报
回复
1、SelectDirectory 是 E 文界面的,不合适。
2、kingfox(小狐仙)的方法中 InitDir 也没有起作用。我找了一些帖子,都没有解决 InitDir 的问题。哪位大侠出手?
Wingsun 2001-09-02
  • 打赏
  • 举报
回复
查看精华区文章关于浏览目录对话框的,kingfox(小狐仙)的方法是最标准最简单的。
bdx 2001-09-02
  • 打赏
  • 举报
回复
不知各位大虾是否明白了我的意思,我想让用户点‘浏览’按钮,然后出现一个象资源管理器那样有A:、C:、D:等等还有‘网上邻居’,用户选择其中一个目录,然后将这个目录名返回。

急!!!!
bdx 2001-09-02
  • 打赏
  • 举报
回复
多谢楼上各位!
小狐仙的代码不能编译啊!
要包含什么文件头吗?

dgq780820 2001-09-02
  • 打赏
  • 举报
回复
kingfox(小狐仙) 的方法太差了!
SelectDirectory就能搞定!
加载更多回复(4)

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧