winapi相关内容

通过键入前几个字符跳转到列表框项目

我有一个项目列表(可能很大),用户必须从中选择一个.我想让用户输入所需项目的前几个字母,以跳转到列表中的正确位置.默认情况下,每次按键都会跳转到以该字母开头的第一项,因此您无法键入前 几个 字母.有没有直接的方法可以做到这一点?任何 CodeProject 或其他此类示例? 我已经找了好几个小时,找到了任意数量的 IAutocomplete 样本,但这在这里无济于事,因为我需要保证结果在列表 ..
发布时间:2022-01-12 15:12:13 C/C++开发

在文本编辑器中支持 IAccesible 接口以进行插入符号移动的正确解决方案是什么?

我想从头开始实现一个支持 IAccessible 接口的文本编辑器.我正在使用 MFC 和 Win32 API. 当在记事本等标准文本编辑器中插入符号位置发生变化时,插入符号移动的相应字母、单词或行由讲述人、JAWS 等客户端工具发音.我不知道如何实现此功能.我搜索了互联网并阅读了 MSDN 文档. 我在 http://msdn.microsoft.com/en-us/library/ ..
发布时间:2022-01-12 15:11:37 C/C++开发

现在值得学习微软基础类(MFC)吗?

我是 Microsoft Technologies 的忠实粉丝.学习了很多 .NET Framework 和 C# 之类的编程语言.但我相信 .NET 应用程序是在 .NET Framework 之上运行的,所以它们有些慢.然后我听说 MFC 是一个用于 Windows 开发的包装类,它是商业应用程序开发的标准(我的意思不是业务级应用程序)所以我想知道现在学习 MFC 是否值得?有其他选择吗?我想 ..
发布时间:2022-01-12 15:11:11 C#/.NET

OpenThemeData 函数有哪些可能的类?

我正在尝试调用 OpenThemeData(请参阅 msdn OpenThemeData) 函数,但我无法确定 pszClassList 参数传入的可接受的类名称是什么. HTHEME OpenThemeData(HWND hwnd,LPCWSTR pszClassList); 谁能告诉我可以传递给该参数的可接受的类名是什么?谢谢! 解决方案 您可以查看“AeroStyle.xml", ..
发布时间:2022-01-12 15:10:07 C/C++开发

隐藏 MFC 对话框

好的,所以我正在使用此代码来隐藏基于对话框的 MFC 应用程序 (VC++) 的任务栏图标.每当我单击十字或关闭按钮时,任务栏图标和对话框都会隐藏.但我不能把这件事做对.每当我从标题栏点击关闭或十字按钮时,对话框首先闪烁并显示一种中间对话框,然后隐藏.这很烦人.经过两天徒劳的努力,我在这里发布了我的代码.所以请大家帮帮我.提前致谢. void CMyAppDlg::OnBnClickedCanc ..
发布时间:2022-01-12 15:09:43 C/C++开发

什么是 Windows“用户对象"?

我正在尝试在我们的 MFC 代码中查找一个看起来像资源限制问题的问题.内存和CPU看起来不错.根据任务管理器上的进程选项卡,我们的 GDI 对象看起来与其他应用程序一致,但我们的 USER 对象似乎比其他应用程序大 10 倍. 什么是“USER 对象",有什么限制? 解决方案 这是一篇“经典"的 MSDN 文章:给我一个把手,我给你看一个对象 上次我追踪 Windows 对象泄 ..
发布时间:2022-01-12 15:09:08 C/C++开发

是否有 C++/Win32/MFC(如 Sparkle)的自动更新框架?

我决定将自动更新功能添加到我的一个应用程序中,并正在寻找任何现有的解决方案,将当前运行的版本与随后从网络下载的最新版本进行比较. 我知道 Mac OSX 上的 Sparkle 非常好用且功能强大,但想知道是否有类似的东西对于 Win32/MFC? 解决方案 我只是偶然发现 WinSparkle 这是一个早期的阶段,但看起来很有希望. ..
发布时间:2022-01-12 15:08:17 C/C++开发

哪里是开始为 Windows 编程 GUI 的好地方?

我有使用 C 和 C++ 编写控制台和网络客户端/服务器应用程序的经验,但我对使用 win32 可视化 API、MFC、Qt、wxWidgets 等几乎一无所知.从哪里开始,以及什么我应该专注于方法,以便为未来做好准备和稳健? 解决方案 这是一个相当广泛的问题,因为在 Windows 中编写 GUI 应用程序可以通过多种方式完成. 开发任何 GUI 应用程序有两个主要部分:语言和AP ..
发布时间:2022-01-12 15:07:34 C/C++开发

创建不可见且无模式的属性表会导致焦点更改?

我正在调查与失去焦点和更改窗口激活有关的问题.我发现如果我创建一个不可见的属性表,活动/前景窗口会发生变化,焦点窗口也会发生变化.下面是一些示例 MFC 代码: //忽略 CAutoDeleter,只是一个在 PostNcDestroy() 中调用“delete this"的模板CPropertySheet* pSheet = new CAutoDeleter(_T("Test Sheet")) ..
发布时间:2022-01-12 15:05:32 C/C++开发

MFC:如何让 CMFCToolBarComboBoxButton 显示在 CMFCToolBar 上?

我认为很容易的事情我无法开始工作.如何让 ComboBox 显示在 CMFCToolBar 上?这是我所做的不起作用的事情(这意味着它只显示带有圆圈的原始占位符按钮(灰色)). 1 - 我在资源编辑器的工具栏上添加了一个按钮,并赋予它 ID_EDIT_FIND_COMBO 的 ID(我还在其中放置了一个圆圈,只是为了知道它正在使用中). 2- 在 CMainFrame 我添加了 ON_ ..
发布时间:2022-01-12 15:04:29 C/C++开发

在 MFC 控件中更改背景和标题的颜色

我想在 MFC 应用程序中更改我的 EDIT CONTROL、STATIC CONTROL 和 BUTTON CONTROL 的文本颜色和背景颜色.该控件位于 CDialogEx 对话框中. 我尝试添加 OnCtlColor(在 Visual Studio 中使用向导,在 WM_CTLCOLR 消息上),但我无法设置可能静态控件和按钮控件的颜色. 我还在 OnCtlColor 函数中( ..
发布时间:2022-01-12 15:01:56 C/C++开发

如何绘制禁用的图标

我终于开始为我们的下拉菜单添加图标了: 在这张图片中,您可以看到除了突出显示的线之外的所有内容都没有问题.突出显示的线很好,除了图标是彩色的,而不是灰色的. 我的代码基于极简主义方法: http://www.codeproject.com/Articles/16529/Simple-Menus-That-Display-Icons-Minimalistic-Appro?msg=416 ..
发布时间:2022-01-12 15:01:50 C/C++开发

默认文件名在 Windows IFileDialog 中出现截断

当使用 Windows IFileDialog 界面启动文件浏览器对话框时,如果提供的默认文件名超过一定数量的字符,我会遇到问题. 文件名似乎被截断了,尽管它被简单地包裹起来,所以我们只能看到最后几个字符.似乎问题在于 Windows 文件浏览器对话框.每当提供的默认文件名超过 12-13 个字符时,它就会被环绕. 有人遇到过这样的问题吗?有什么解决办法吗? 操作系统详情: W ..
发布时间:2022-01-12 15:01:44 C/C++开发

如何更改 SysDateTimePick32 或 CDateTimeCtrl 的背景颜色?

我似乎无法更改 SysDateTimePick32 控件的背景颜色(本例中为白色): 在我的 Win32/MFC 应用程序中. 我首先尝试在父窗口中覆盖 OnCtlColor 通知消息,该消息甚至没有被调用. 然后我尝试了一种子类化方法 描述在这里,这被称为好,但控件在视觉上没有改变.(我在 Windows 8.1 机器上进行了测试.) 那么有人知道怎么做吗? PS. ..
发布时间:2022-01-12 15:01:10 C/C++开发

在不同的 DPI 中使用 GetWindowRect 的坐标错误

我想在我的 MFC 程序中捕获组件的坐标. 现在我可以使用 GetWindowRect 完美地完成这个任务.但是,当我将 windows dpi 设置为 150% (120 dpi) 时,我会从 GetWindowRect 获得不同的坐标. 因此,我研究了一些将新坐标转换为默认 dpi (96 dpi) 的方法. 最后,我尝试的时候发现有一些错误: Rect.top = Rec ..
发布时间:2022-01-12 15:00:49 C/C++开发

如何在 MFC 中更改对话框标题栏的字体样式

默认情况下,在 MFC 中,对话框标题栏的字体与系统设置相对应.如何更改字体样式? 解决方案 这不仅仅是 MFC 的默认设置;它适用于所有 Windows 应用程序.这是因为操作系统会为所有窗口绘制标题栏,操作系统自然会尊重用户配置的设置. 如果你想改变它并覆盖用户的设置(我真的怀疑你为什么要做这样的事情),那么你将需要绘制窗口的 整个-客户区(包括标题栏)掌握在自己手中.这是通过处 ..
发布时间:2022-01-12 15:00:13 C/C++开发

在 MFC 程序中创建挂钩窗口

我想在 MFC 程序中挂钩窗口创建. 有什么办法吗? 解决方案 使用SetWindowHookEx 来安装 CBTProc. 这里有一些示例代码.只需从程序开头调用 InstallHook(),然后监视 HCBT_CREATEWND 通知代码.您可以通过从函数返回非零值来取消窗口创建,如文档中所述. LRESULT CALLBACK MyCbtHook(int nCode, ..
发布时间:2022-01-12 14:59:26 C/C++开发

CImage::Load() 从内存而不使用 CreateStreamOnHGlobal

我正在显示来自摄像机的实时取景视频.我将每一帧下载到一个字节数组(pImageData)中,我必须分配它. 现在,为了显示,我正在使用 CImage (MFC).但是,我找到的所有示例都基于使用 GlobalAlloc,还有另一个 memcpy 和 CreateStreamOnHGlobal. 我想避免进行另一次分配/解除分配和内存复制.每帧超过 2mb,我正在推动 30 fps! ..
发布时间:2022-01-12 14:58:55 C/C++开发

检测SD卡硬件盘符

有没有办法在 Windows 上以编程方式检测 SD 卡的驱动程序号?该方法是否支持内部和外部 SD 卡硬件?感谢您的宝贵时间. 解决方案 你可以试试GetLogicalDriveStrings 获取驱动器号,然后使用 GetDriveType 查看驱动器是否可移动.然后您可以获得更多这样的设备信息(示例是 cd-rom,但应该向您展示这个想法): //要检查的驱动器句柄HANDLE h ..
发布时间:2022-01-12 14:56:49 C/C++开发

在主对话框中嵌入对话框并通过在 MFC 中单击按钮来切换它们

我的设计如下: 所以基本上,我想在应用程序主对话框中嵌入三个对话框并在它们之间切换,对于每个按钮单击,即按钮 1 将显示对话框一,按钮 2 将隐藏对话框 1 并显示对话框 2 .. 等等.每个对话框都有不同的设计和功能. 我尝试使用 CPropertySheet 类来添加页面,但它的 GUI 不同.它具有使用下一个/后退按钮或从选项卡控件导航对话框的选项.这些都不符合我的要求. ..
发布时间:2022-01-12 14:56:42 C/C++开发