草庐IT

c++ - 非托管 C++ 代码的代码度量分析

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion有没有人知道一个免费工具,类似于VisualStudio2010中内置的用于托管代码的工具,可以分析非托管的MFCC++代码并提供指标(代码行数、依赖关系或耦合等)?我已经在Google上搜索了一段时间,但真的找不到任何有用的东西。非常感谢!

c++ - 永远在前面的对话框

有没有一种方法可以在C++MFC中创建一个无模式对话框,它始终位于应用程序中其他窗口的顶部?我的想法有点像VisualStudio2005中的“查找”对话框-它位于顶部,但您仍然可以编辑底层文本。(如果有什么不同的话,那就是它不是MDI;它是一个基于对话框的应用程序) 最佳答案 注意:这在Windows10下不起作用,并且可能在Windows7和8下不起作用(报告不同)。来自Nish:###MakingyourdialogstayontopHaven'tyouseenprogramswhichhavean"always-stay-o

c++ - OpenThemeData 函数有哪些可能的类?

我正在尝试调用OpenThemeData(请参阅msdnOpenThemeData)函数,但我无法确定pszClassList参数传入的可接受的类名是什么。HTHEMEOpenThemeData(HWNDhwnd,LPCWSTRpszClassList);谁能告诉我可以传递给该参数的可接受的类名是什么?谢谢! 最佳答案 文章PartsandStates在MSDN上包含一个表格,其中显示了控制类、部分和状态。表中的值在Vsstyle.h和Vssym32.h中定义。这是一个快速引用:BUTTON,CLOCK,COMBOBOX,COMMU

c++ - CEdit 控件 MFC,将光标置于 SetWindowText 之后的字符串末尾

我正在使用VC9,我有一个CEdit控件,其内容在单击按钮时重置为默认测试(例如-“填充”),然后我调用CEdit控件的SetFocus。问题是光标在默认文本的开头闪烁,我希望它在默认字符串的末尾闪烁。如何做到这一点? 最佳答案 您可以使用CEdit::SetSel来完成那个。例子:CEdit*e=(CEdit*)GetDlgItem(IDC_EDIT1);e->SetWindowText("helloworld");e->SetFocus();e->SetSel(0,-1);//selectalltextandmovecursor

windows - 如何使用 EnableWindow() 禁用窗口并将其灰显?

在.NET中,当您将Form或Control(例如ListView)的Control.Enabled属性设置为false时,它​​及其所有子项都会变灰:我没有看到这种情况发生在Win32(EnableWindow)中,至少在ListViews中没有。如何在Win32中实现这种效果? 最佳答案 BOOLEnableWindow(HWNDhWnd,BOOLbEnable);其中hWnd是控件的句柄,bEnable为TRUE或FALSE,TRUE启用窗口,FALSE禁用窗口。适用于ListView。毫无值(value)的是,为了看到其视觉

c# - 从 C# 修改任何窗口的不透明度

是否可以从C#修改所有打开的窗口的不透明度。我在谷歌上搜索最小化窗口,我开始知道它可以通过pInvoke调用实现。它甚至奏效了。同样,是否可以从C#更改所有打开的窗口的不透明度?另外,我不喜欢MFC的东西。还有什么工具可以知道dll中公开的api列表吗? 最佳答案 您可以使用SetLayeredWindowAttributesAPI这样做。Checkthis用于此API的pInvoke版本。来自上述链接的示例代码:[DllImport("user32.dll")]staticexternboolSetLayeredWindowAtt

c++ - 如何将 INT64 写入 CString

我在C++Windows中编码。INT64dirID=-1;CStringquerySQLStr=_T("");querySQLStr.Format(L"select*fromImageInfowhereFolderPath=%64d;",dirID);querySQLStralwayslikethis:select*fromImageInfowhereFolderPath=1214;使用%64d对吗?非常感谢 最佳答案 我没有方便的Windows机器来测试它,但我认为CString应该接受这个:querySQLStr.Format

c++ - 如何禁止 MFC 应用程序在按 ESC 或 ALTF+F4 时退出?

我有一个MFC应用程序,我不想在运行期间关闭它。我已禁用右上角的“X”图标,但现在如果我按ESC键或ALT+F4,它仍然会关闭。如果有人按下这些键,我怎样才能禁用它,这样它就不会关闭?程序运行完毕后,我想重新启用它们。谢谢,坎皮 最佳答案 如果你处理了WM_CLOSE消息并把它扔掉了。(即不调用DefWindowProc),则窗口不会关闭。您还可以使用CS_NOCLOSE样式注册窗口类,以禁用关闭窗口的所有正常方式。 关于c++-如何禁止MFC应用程序在按ESC或ALTF+F4时退出?,

c++ - Windows 如何知道用什么程序打开文件?

我刚刚注意到,当我在计算机上查看.sln文件时,有些文件有v7.1图标,有些有v9图标,有些有v10图标(取决于什么创建它们的VisualStudio版本)。似乎Windows区分哪些文件获得哪些图标,可能是通过某种“MIME类型”来区分文件的扩展名。如果两种文件类型共享一个扩展名,我能否使用该功能来检测用户从默认MFC另存为对话框中选择的文件类型? 最佳答案 对于VisualStudio,.sln文件与MicrosoftVisualStudioVersionSelector相关联,在我的机器上,它安装在"C:\ProgramFil

c++ - Numpad 键事件导致 GetKeyboardState 卡住键

我有一个C++(MFC)应用程序需要检查计时器的键状态。如果用户按住某个键,我们会延迟某些代码的处理。这是keydown的支票:if(!GetKeyboardState(keyState)){s_executeDeferredResult=e_executeDeferredButtonCheckFailed;return;}s_executeDeferredStuckKeys.clear();for(intindex=0;index但是,有一些关键组合会卡住:开启NUMLOCK按SHIFT按NumPad8释放SHIFT释放NumPad8(这是一个例子,还有其他的例子,包括用CTRL-A