jjzjj

preprocessor-directive

全部标签

windows - 如何将 Direct3D/WPF/DWM 窗口捕获到位图中?

捕获窗口图像的正常方法是调用:HDCSharedWndDC=GetWindowDC(SharedWnd);BitBlt(BitmapDC,0,0,width,height,SharedWndDC,0,0,SRCCOPY/*|CAPTUREBLT*/);ReleaseDC(SharedWnd,SharedWndDC);在运行DWM的系统上,它可以很好地捕获有问题的窗口,即使它被其他窗口重叠或部分离开屏幕,等等。但是,它在某些窗口(可能是那些使用WPF的窗口)上无法正常工作,并且会对玻璃区域产生一些有趣的影响。基本上,GDI捕获不适用于非GDI事物。我知道我真正想要的是获取Direct3D

windows - 从哪里开始使用 Direct2d?

有兴趣学习Direct2d来创建Windows8应用程序,但经过2小时的研究后,我完全感到困惑。像这样的示例(CreatingaSimpleDirect2DApplication)似乎假设您知道什么是HWND和HRESULT,以及WindowsAPI的一般工作方式。我的问题是:您是否需要了解WinAPI、COM、OLE和所有其他Windows内容才能很好地掌握Direct2d/3d?所有其他准系统教程都假设您了解所有这些东西,而我真的不知道从哪里开始。VS2012中的启动D2D项目为您提供了一堆文件,但没有main或WinMain...这个程序是如何启动的?

windows - 在 windows/direct3d 中使用来自 ttf 文件的字体

我正在使用direct3d9并使用D3DXCreateFont创建一个字体对象,我可以使用它来将文本写入屏幕。但是我想使用TTF文件中的字体而不是已安装的字体。有什么方法可以从TTF文件创建字体对象,而无需首先将字体安装到我不想做的窗口中? 最佳答案 尝试使用AddFontResourceExFunction.回复:MSDNFontInstallationandDeletion 关于windows-在windows/direct3d中使用来自ttf文件的字体,我们在StackOverfl

c++ - 如何确定安装了哪个版本的 Direct3D?

我们有一个应用程序需要使用Direct3D。具体来说,它至少需要DirectX9.0c版本4.09.0000.0904。虽然这应该存在于所有较新的XP机器上,但它可能不会安装在较旧的XP机器上。我如何以编程方式(使用C++)确定它是否已安装?我希望能够向用户提供Direct3D将不可用的信息消息。 最佳答案 调用DirectXSetupGetVersion:http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.directsetup.directxsetupget

c# - 在编译时检测 c# 版本

我有一行旧的C#代码,基本上是这样的:foo.set_Parent(parent);它多年来一直编译良好。现在在VS2015中出现错误:CS0571'Foo.Parent.set':cannotexplicitlycalloperatororaccessor所以我可以将这一行重写为:foo.Parent=parent;这在VS2015中构建良好,但在VS2013中出现错误:'Foo.Parent'isnotsupportedbythelanguage;trydirectlycallingaccessormethods'Foo.get_Parent()'orFoo.set_Parent(

c# - 以编程方式检查构建配置

使用DEBUG配置,我可以使用这种类型的语法打开和关闭行为:#ifDEBUGConsole.WriteLine("Debug");#elseConsole.WriteLine("NotDebug");#endif但是,如果我设置不同的配置,比如:TEST,那么这不起作用:#ifTESTConsole.WriteLine("Test");#elseConsole.WriteLine("NotTest");#endif有没有办法检查这些? 最佳答案 是的,您可以使用不同的配置。如果您在配置管理器中选择调试配置,则会自动生成DEBUG符号

c# - 任何 .NET '#region directive' 约定想法?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我真的很欣赏在代码中定义区域的可能性,因为它极大地提高了可读性。无论如何,我想让每个人都使用在所有类中使用相同的约定(所有区域都有预定义的顺序),例如:私有(private)领域构造器类属性事件处理程序等...您是否有任何关于这种划分的建议(哪些区域具有意义以及它们应该有什么名称)以及它们应该按什么顺序定义?

c# - 如何在vscode中禁用Unnecessary Using of Directive的警告?

我目前正在使用VS代码和Unity开发我的游戏。每次我打开编辑器,都会有99+Unnecessaryusingof指令,这让我很不爽。由于第三方插件有很多依赖性,我不确定是否可以删除它们。所以我想有一些方法来禁用它们。我试过类似的方法:"csharp.lint.unnecessaryUsingDirective":"ignore"但很明显,这是行不通的。所以我希望我能做些什么来隐藏或禁用此警告。 最佳答案 我觉得这个issuehasalreadybeenaddressed在最新版本的Omnisharp中——但由于我们被迫为Unity

c# - 我得到 "missing a using directive or assembly reference"并且不知道出了什么问题

我正在尝试允许用户将数据输入到将添加到web.config文件的文本框中。我已将相关行添加到web.config文件中,但是当我创建此类时,一切都出错了。每当我尝试运行我的应用程序时,我总是收到“您是否缺少using指令或程序集引用错误”。我看过其他时候有人问过这个问题,但似乎无法弄清楚我哪里出错了。问题是我对VisualStudio非常陌生,对可能的答案一无所知。下面是产生错误的类文件。我希望我已经包括了你需要帮助我的一切。谢谢。usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Configuration;nam

c# - 我可以根据 .NET Framework 版本创建预处理器指令吗?

这是我想做的具体例子。考虑string.Join功能。在.NET4.0之前,只有两个重载,都需要一个string[]。参数。从.NET4.0开始,有新的重载采用更灵活的参数类型,包括IEnumerable.我有一个图书馆,其中包括Join本质上执行.NET4.0string.Join功能的功能功能确实如此。我只是想知道是否可以使此函数的实现依赖于目标.NET框架。如果是4.0,它可以简单地调用string.Join在内部。如果是3.5或更早版本,它可以调用自己的内部实现。这个想法有意义吗?如果确实有意义,那么最合乎逻辑的方法是什么?我想我只是假设预处理器指令最有意义,因为调用strin