小编Mr.*_*Boy的帖子

ON_NOTIFY,ON_CONTROL,ON_CONTROL_REFLECT之间有什么区别?

我总是努力将所有这些宏直接保留在我脑海中.是否有一种简单的方法可以记住它们,以及在给定的场景中使用哪种方法?

具体来说,其中一个是否允许对话框拦截/检测到子控制窗口的消息?例如,当IDC_MY_CONTROL获取WM_PAINT消息时,对话框是否可以注册?

c++ winapi mfc event-handling

1
推荐指数
1
解决办法
3448
查看次数

CSS选择器不起作用

我有一些像这样的CSS:

#navBar ul
{
    list-style-type:none;
    margin:0;
    padding:0;
}

#navBar ul li
{
    border: thin dashed #ffff00;
    display:inline;
    margin:0;
    padding:0;
}

#navbar ul li a
{
    border: 1px solid #707070;
    text-decoration: none;
    padding: 0;
    margin: 0;
    background-color: #909090;
}
Run Code Online (Sandbox Code Playgroud)

像这样的HTML:

    <div id="navBar">
        <ul>
        <li><a href="#" >Home</a></li>
        <li><a href="#" >Services</a></li>
        <li><a href="#" >About us</a></li>
        <li><a href="#" >Blog</a></li>
        <li><a href="#" >Contact</a></li>
        </ul>
    </div>
Run Code Online (Sandbox Code Playgroud)

出于某种原因#navbar ul li的一部分没有被应用,但#navbar ul li&#navbar ul是.我确信它过去也有用.它通过了w3c验证.这是明显的/愚蠢的吗?

css xhtml

1
推荐指数
2
解决办法
314
查看次数

使C++ COM类更加适合测试

我们的代码库有很多COM对象,所以通常我们会有类似的东西:

//this is the IDL-generated IGetTime interface header
#include "gettime.h"

//our COM class implementation of IGetTime
class CGetTime : public IGetTime
{
  public:
    CGetTime(CGetTimeCF &factory,...); //COM-specific constructor params
    /* IUnknown */
    STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR * ppv);
    STDMETHODIMP_(ULONG) AddRef();
    STDMETHODIMP_(ULONG) Release();

    /* IGetTime */
    STDMETHODIMP GetTheTime(); //
};
Run Code Online (Sandbox Code Playgroud)

构造函数和其他一些东西的设置方式,这个类只能通过COM轻松使用...你可以破解创建对象的方法,但它往往是片状的.但是我很多情况下,没有COM就可以使用类的实际功能...如果你能这样做,这也更容易测试new CGetTime();

我想知道这样的事情是一种模式:

class CGetTimeBase
{
 public:
  STDMETHODIMP GetTheTime();
};

class CGetTime : public IGetTime, public CGetTimeBase
{
...
};
Run Code Online (Sandbox Code Playgroud)

这是一个很好的方法,还是有更好的方法来提供一个提供核心功能的'普通C++'类,以及一个COM类做COM的东西?为了最大限度地减少要编写的代码量,我认为不是不介绍包装器方法,而是在非COM类中使用实际的实现方法,因此它会自动出现在COM类中.

思考?};

c++ com code-testing

1
推荐指数
1
解决办法
77
查看次数

LINQ查询根据属性进行选择

IEnumerable<MyClass> objects = ...
foreach(MyClass obj in objects)
{
  if(obj.someProperty != null)
    SomeFunction(obj.someProperty);
}
Run Code Online (Sandbox Code Playgroud)

我觉得我可以使用lambda编写一个自负的LINQ版本,但我所有的C#体验都是'经典',即更像Java,所有这些Linq的东西让我困惑.

它看起来会是什么样子,值得做什么,或者这种Linq用法只是被视为炫耀"看起来我知道Linq!"

c# linq

1
推荐指数
1
解决办法
1900
查看次数

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId未找到在64位Windows上运行32位应用程序

作为标题真的.在regedit中查找键值存在,但Wow6432键(HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion)没有此键.这意味着32位应用程序无法在我的64位Windows版本上运行...这似乎不对,32位应用程序是否应该在没有修改的情况下运行?或者这是一个案例32位应用程序必须调整为在64位Windows上工作?

registry wow64

1
推荐指数
1
解决办法
1万
查看次数

TortoiseSVN切换错误

我正在尝试将现有的中继检出切换到特定分支,我收到此错误:

Can't move 
'C:\Work\project123\include\.svn\tmp\all-wcprops' 
to 
'C:\Work\project123\include\.svn\all-wcprops': 
The file or directory is corrupted and unreadable.
Run Code Online (Sandbox Code Playgroud)

我已经进行了清理但没有改变.

svn tortoisesvn

1
推荐指数
2
解决办法
642
查看次数

EXE如何对DLL具有静态依赖性?

通常在尝试运行使用DLL的EXE时,如果DLL丢失,则会出现标准的Windows错误:

程序无法启动,因为您的计算机缺少XXX.dll.尝试重新安装该程序以解决此问题.

在调用任何代码之前,这似乎是内置于EXE中的...它是如何工作的,以及在Visual Studio中构建项目时如何设置它?

编辑:

在我的特定场景中,我实际上有一个DLL,它对其他DLL有"静态"依赖,所以如果那些不存在,注册我的DLL失败,这有点难以诊断.但我宁愿不手动列出所使用的DLL函数,因为有很多!

windows dll visual-studio visual-c++

1
推荐指数
1
解决办法
1588
查看次数

不安全,超快的跨进程内存缓冲区?

跨进程内存缓冲区总是有一些开销,我的理解是这个非常高.但是如果你正在实现一个跨进程渲染缓冲区,那么这与其他数据一样并不重要,因此我们可以使用哪些技术从多个进程中获取一块内存的"原始"访问权限,没有安全网,除了没有崩溃?或者现代操作系统根本无法使用未经提取的内存以使其成为可能...在过去,您无法获得指向内存中任何位置的指针吗?

我正在使用C++,但这个问题适用于Win XP/Vista/7,MacOSX 10.5+(和Linux不太重要).

c++ macos winapi ipc shared-memory

1
推荐指数
1
解决办法
867
查看次数

检测插入std :: set的坏项

假设我的设置中有自定义类型,并且只有在某些属性上所有项目具有相同值时才设置/排序...如果插入了具有不同值的项目,则模型被搞砸了,我想要保护这个.

我想也许比较函数可能是我们可以测试它(作为断言或异常)的地方,以标记问题和/或防止项目被插入.例如,在TypeName上,如果重要属性不相等,则operator <()始终返回false.

这合理吗?

c++ algorithm stl

1
推荐指数
1
解决办法
97
查看次数

在Mac上设置开发环境的标准方法是什么?

我刚刚在Snow Leopard上完成了XCode 3.2.6的全新安装,默认为/ Developer目录.

是否正确/正常的方式是所有的库和CMake/git等软件工具都应该安装在/ Developer中?它是否与Linux期望的标准dirs用于事物的方式相当,或者更像是Windows,而这些都是个人偏好?

对于经验丰富的Mac开发者来说,任何有用的指南都是值得赞赏的.例如,我很困惑我的SVN客户端的来源和方式,以及为什么我有SVN而不是Git.

macos xcode development-environment osx-snow-leopard

1
推荐指数
1
解决办法
167
查看次数