我想知道如何在X ++中为Open File
对话框设置默认路径。
情况是这样的:在Microsoft Dynamics AX中,表单InventTable
,显示有关我们库存的所有数据。
每个项目的属性都是图像。这些图像都存储在我们服务器上的同一文件夹中。因此,当我们按下按钮设置或更改图像时,我希望对话框自动转到此文件夹,这样用户就不必自己去那里了。
到目前为止,这是Change Image
- 按钮背后的代码:
void clicked()
{
FilenameFilter filter = ['Image Files','*.bmp;*.jpg;*.gif;*.jpeg'];
BinData binData = new BinData();
str extention, path, nameOfFile;
super();
imageFilePathName = WinAPI::getOpenFileName(element.hWnd(),filter, '', "@SYS53008", '','');
if (imageFilePathname && WinAPI::fileExists(imageFilePathName))
{
[path, nameOfFile, extention] = fileNameSplit(imageFilePathName);
if (extention == '.bmp' ||
extention == '.jpg' ||
extention == '.gif' ||
extention == '.jpeg')
{
binData.loadFile(imageFilePathName);
imageContainer = binData.getData();
inventTableImage.ADUImage = imageFilePathName;
element.saveImage();
element.showLogo();
}
else
{
throw error("@SYS89176");
}
}
}
我已经读过我可以在getOpenFileName
- 方法中设置默认路径,但这似乎无效。
表单本身有一个名为filenameLookupInitialPath
的方法,它只返回一个空字符串。
答案 0 :(得分:1)
默认路径参数在Ax2012 RTM 3中适用于我。您确定代码是在正确的层上执行且路径是否正确?
WinAPI::getOpenFileName(0, conNull(), @'C:\users\', '');