问题:SelectDirectory在BCB6里不居中,总显示在右下位置
尝试解决方案一:SelectDirectory是重载函数,所以尝试用其他参数格式的SelectDirectory
两种参数类型:
bool __fastcall SelectDirectory(const AnsiString Caption,const WideString root,AnsiString &Directory);
bool __fastcall SelectDirectory(AnsiString &Directory,TSelectDirOpts Options,int HelpCtx);
第一个,也就是我用的,不居中显示,所以弃用
第二个,我也试了,确实是居中的,但是界面太丑
所以第一次尝试失败。
尝试解决方案二:查了资料说可以通过BROWSEINFO来做
下面附上我查过资料后写的代码:
AnsiString SelectDirectory(AnsiString Caption)
{
BROWSEINFO BI;
LPITEMLIST TtemID;
TCHAR DIR[MAX_PATH];
TCHAR FolderName[MAX_PATH];
memset(&BI,0,sizeof(BROWSEINFO));
memset(Dir,0,MAX_PATH);
memset(FolderName,0,MAX_PATH);
BI.HwnderOwner = Application->Handle;
BI.ps