- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 解决Windows11深色模式下资源管理器有一条白色的横线的问题
在Windows11下,将系统主题设置成深色时,有时资源管理器中会出现一条白色的横线,如上图所示。解决的方法如下:打开控制面板,点击“卸载程序”,进入卸载或更改程序界面:按下键盘上的Alt键,此时会出现一行菜单栏,如下图所示:在菜单栏上点击鼠标右键,会出现一个右键菜单,选择“锁定工具栏”将其勾选,如下图所示:再次打开资源管理器就会发现那条白色的横线已经消失了。
2023-01-31 20:24:13
5743
4
原创 Visual Studio 编译C++时出现 error RC2144: PRIMARY LANGUAGE ID not a number
Visual Studio 编译C++时有时候会出现 error RC2144: PRIMARY LANGUAGE ID not a number,解决这个问题不应该直接修改rc文件,而应该在资源视图的rc文件上点击鼠标右键,选择“资源包括”命令,在弹出的“资源包括”对话框中的“只读符号指令”中添加#include "winres.h"即可。
2023-01-24 20:55:05
1228
3
原创 使用 Windows Imaging Component (WIC) 为MFC菜单项添加图标
说到为MFC菜单添加图标,比较容易想到的是通过CMenu类提供的接口SetMenuItemBitmaps来实现这个需求,该函数的原型如下:BOOL SetMenuItemBitmaps(UINT nPosition,UINT nFlags,const CBitmap* pBmpUnchecked,const CBitmap* pBmpChecked);...
2020-07-19 11:32:47
1050
原创 使用Win32 API获取Windows系统主题色
在Windows7以后增加了系统主题色的功能,这个功能一直延续到了Windows10。如图:如果需要在程序中获取到这个颜色值,那么可以使用微软提供的一个Win32 API:DwmGetColorizationColor。可以到MSDN网站上查找该API函数的使用方法。首先需要包含头文件:#include <dwmapi.h>然后将Dwmapi.lib添加到依赖项中...
2019-09-21 18:17:53
4007
1
原创 使用MCI播放音乐时跨线程操作的问题
最近在使用MCI播放音乐时发现了这样的一个问题,在工作线程中打开一个音频,再在主线程中播放失败了,mciSendStringW函数返回了错误代码263。在VS中调试时发现我的打开和播放操作不在同一个线程中,所以我猜想可能是MCI不支持跨线程操作,因此我调整了一下代码结构,将打开和播放的操作都放到同一个线程中就好了。结论:MCI (Media Control Interface) 不支持跨线程操...
2019-07-27 10:44:27
462
原创 MFC获取菜单栏的高度
在一些情况下,我们可能会需要获取一个窗口菜单栏的高度。一般情况下使用下面一行代码可以获取到菜单栏的高度:int height = GetSystemMetrics(SM_CYMENU);但是有一个问题,就是当窗口宽度变小时,菜单栏可能会变成两行,如图所示:此时,如果使用GetSystemMetrics获取到的仍然是一行菜单栏的高度,如果要获取菜单栏真实的高度,可以使用GetMen...
2019-03-01 11:53:18
2354
原创 C++读取歌词(lrc)文件,分解歌词时间标签和歌词文本的方法
本人最近在写一个音乐播放器,做了一个显示歌词的功能。虽然很多已经有很多人有自己的办法,在这里我还是想介绍一下我自己的方法。本文创建了一个CLyric类,大致思路是先将歌词文件中每一句歌词以字符串的形式保存起来,再将每一个字符中包含的时间标签和歌词文本分形。
2016-11-20 13:16:31
3877
基于MCI的MFC音乐播放器源代码
2017-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人