- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
使用 GetSaveFileName。我指定了 OFN_EXPLORER 标志,但我总是得到旧的对话框外观,除非我避免同时使用 Hook 和模板。 (OPENFILENAME 结构中的 lpfnHook 和 lpfnTemplate(以及它们各自的“启用”标志))
如果我避免只使用一个或另一个,我仍然会得到旧的对话框外观。我也没有尝试使用模板,但使用了钩子(Hook)......但总是从它返回 TRUE(我看到提到从钩子(Hook)中“总是返回 false”作为获取旧接口(interface)的一种方式)。不过,它似乎没有任何效果。
编辑:添加相关代码:
ofn.lStructSize=sizeof(OPENFILENAME);
ofn.hInstance=RhInst;
ofn.hwndOwner=MainWh;
ofn.lpstrFilter=s;
ofn.lpstrCustomFilter=null;
ofn.nMaxCustFilter=0;
ofn.nFilterIndex=sel;
ofn.lpstrFile=fname;
ofn.nMaxFile=lstrl;
ofn.lpstrFileTitle=tfile;
ofn.nMaxFileTitle=lstrl;
if (path && lstrlen(path)) ofn.lpstrInitialDir=path;
else ofn.lpstrInitialDir=drive;
lstrcpy(SE_DefExt,ext);
ofn.lpstrDefExt=SE_DefExt;
if (titleid) ofn.lpstrTitle=title;
else ofn.lpstrTitle=null;
ofn.lpfnHook=(CommHookProc)MakeProcInstance((FARPROC)SEOpen32Hook,hInst);
ofn.lpTemplateName=NULL;
ofn.Flags=OFN_SHOWHELP | OFN_OVERWRITEPROMPT | OFN_ENABLEHOOK | OFN_EXPLORER
| OFN_PATHMUSTEXIST | OFN_HIDEREADONLY;
if(allowfit)
{
ofn.lpTemplateName = MAKEINTRESOURCE(SAVETOFIT);
ofn.Flags |= OFN_ENABLETEMPLATE;
}
if (GetSaveFileName(&ofn))
{
// <snip>
}
请注意,在这种情况下,“allowfit”是非零/真值。如果我注释掉 OFN_ENABLEHOOK 和 OFN_ENABLETEMPLATE 的标志设置,我将获得"new"对话框外观。
**编辑2:
现在看来我对我所看到的感到困惑。我相信在这两种情况下,我都会得到“新的”OFN_EXPLORER 行为和外观。当我删除 OFN_EXPLORER 标志时,我得到一个非常老式的对话框。
我想要达到的是保存文件对话框的样式,右上角有后退和前进按钮,以及(最重要的)我可以输入的地址框。我以前的所有评论和代码描述(以上)仍然适用;当我删除模板和 Hook 时,我得到了我的“后退和前进”按钮,以及我的可输入地址框(加上左侧浏览树)......当我离开模板和 Hook 时 - 我没有(取而代之的是顶部有“保存在”选项列表,左侧有“标准位置”(“最近的位置”、“桌面”、...)。
最佳答案
您是否定义了 _WIN32_WINNT >= 0x0500
?将 lStructSize 设置为 win2000 大小可能有助于对话框决定(如果您需要支持 < NT5,则必须进行一些版本检查并使用 OPENFILENAME_SIZE_VERSION_400
作为下层系统的大小)
关于windows - 使用 GetSaveFileName。我指定了 OFN_EXPLORER 标志,但总是得到旧的对话框外观,除非我避免同时使用 Hook 和模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/603790/
我们已经有一个使用 AnyEvent 的库。它在内部使用 AnyEvent,并最终返回一个值(同步 - 不使用回调)。有什么方法可以将这个库与 Mojolicious 一起使用吗? 它的作用如下: #
我想从 XSD 文件生成带有 JAXB 的 Java 类。 问题是,我总是得到一些像这样的类(删除了命名空间): public static class Action { @X
我有一个关于 html 输入标签或 primefaces p:input 的问题。为什么光标总是自动跳转到输入字段。我的页面高度很高,因此您需要向下滚动。输入字段位于页面末尾,光标自动跳转(加载)到页
我今天在考虑面向对象设计,我想知道是否应该避免 if 语句。我的想法是,在任何需要 if 语句的情况下,您都可以简单地创建两个实现相同方法的对象。这两个方法实现只是原始 if 语句的两个可能的分支。
String graphNameUsed = graphName.getName(); if (graphType.equals("All") || graphType.equals(
我有一张友谊 table CREATE TABLE IF NOT EXISTS `friendList` ( `id` int(10) NOT NULL, `id_friend` int(10
上下文 Debian 64。Core 2 二人组。 摆弄循环。我使用了同一循环的不同变体,但我希望尽可能避免条件分支。 但是,即使我认为它也很难被击败。 我考虑过 SSE 或位移位,但它仍然需要跳转(
我最近在 Java 中创建了一个方法来获取字符串的排列,但是当字符串太长时它会抛出这个错误:java.lang.OutOfMemoryError: Java heap space我确信该方法是有效的,
我正在使用 (C++) 库,其中需要使用流初始化对象。库提供的示例代码使用此代码: // Declare the input stream HfstInputStream *in = NULL; tr
我有一个 SQL 查询,我在 WHERE 子句中使用子查询。然后我需要再次使用相同的子查询将其与不同的列进行比较。 我假设没有办法在子查询之外访问“emp_education_list li”? 我猜
我了解到在 GUI 线程上不允许进行网络操作。对我来说还可以。但是为什么在 Dialog 按钮点击回调上使用这段代码仍然会产生 NetworkOnMainThreadException ? new T
有没有办法避免在函数重定向中使用 if 和硬编码字符串,想法是接收一个字符串并调用适当的函数,可能使用模板/元编程.. #include #include void account() {
我正在尝试避免客户端出现 TIME_WAIT。我连接然后设置 O_NONBLOCK 和 SO_REUSEADDR。我调用 read 直到它返回 0。当 read 返回 0 时,errno 也为 0。我
我正在开发 C++ Qt 应用程序。为了在应用程序或其连接的设备出现故障时帮助用户,程序导出所有内部设置并将它们存储在一个普通文件(目前为 csv)中。然后将此文件发送到公司(例如通过邮件)。 为避免
我有一组具有公共(public)父类(super class)的 POJO。这些存储在 superclass 类型的二维数组中。现在,我想从数组中获取一个对象并使用子类 的方法。这意味着我必须将它们转
在我的代码中,当 List 为 null 时,我通常使用这种方法来避免 for 语句中的 NullPointerException: if (myList != null && myList.size
我正在尝试避免客户端出现 TIME_WAIT。我连接然后设置 O_NONBLOCK 和 SO_REUSEADDR。我调用 read 直到它返回 0。当 read 返回 0 时,errno 也为 0。我
在不支持异常的语言和/或库中,许多/几乎所有函数都会返回一个值,指示其操作成功或失败 - 最著名的例子可能是 UN*X 系统调用,例如 open( ) 或 chdir(),或一些 libc 函数。 无
我尝试按值提取行。 col1 df$col1[col1 == "A"] [1] "A" NA 当然我只想要“A”。如何避免 R 选择 NA 值?顺便说一句,我认为这种行为非常危险,因为很多人都会陷入
我想将两个向量合并到一个数据集中,并将其与函数 mutate 集成为 5 个新列到现有数据集中。这是我的示例代码: vector1% rowwise()%>% mutate(vector2|>
我是一名优秀的程序员,十分优秀!