Windows
文章平均质量分 67
朱晗
的萨芬
展开
-
QtQuick TextInput和TextEdit无法设置输入焦点问题
import QtQuick 2.0import QtQuick.Controls 2.5Rectangle { radius: 10 border.color: "#1B7D3D" border.width: 1 property int fontSize: 9 property string boxText: "" property color tipColor: "#919B94" signal textChanged() Te.原创 2022-02-17 16:44:28 · 557 阅读 · 0 评论 -
Windows tablet数位板数位屏开发出现的问题
Windows Ink开发使用COM组件开发官方示例初始化HRESULT Init(HWND hWnd){ // Initialize event sink. This consists of setting // up the free threaded marshaler. HRESULT hr = m_InkEvents.Init(hWnd); ...原创 2020-01-20 11:29:08 · 1239 阅读 · 0 评论 -
gif透明色相关
众所周知,GIF文件的像素使用8位位图来表示,8位位图有一个调色板,调色板包含8位颜色即256中颜色,图片数据只存储调色板的各种颜色的下标,在显示时图片的某个像素时通过下标在调色板中找到该下标的颜色即为该像素的颜色。那么有很多GIF支持局部透明是怎么实现的呢?我们在程序中应该怎么处理来获得像素的透明信息呢?其实,在我们解析完GIF后,发现每一帧数据里包含一个背景色的字段,这个背景色也是使用...原创 2020-01-20 10:32:21 · 499 阅读 · 0 评论 -
gdi+绘制文字问题,透明度问题
在gdi+做分层窗口的时候,发现文字颜色的alpha通道设置为完全不透明(255)的时候,文本被透明了。后来把255改成254,文本又变成不透明。原创 2016-12-23 17:37:51 · 578 阅读 · 0 评论 -
分层窗口实现细节,UpdateLayeredWindow的使用问题
The UpdateLayeredWindow function updates the position, size, shape, content, and translucency of a layered window.UpdateLayeredWindow函数更新一个分层窗口的位置,大小,形状,内容和半透明度。函数原型WINUSERAPIBOOLWINAPIUpdateLa...原创 2020-01-20 10:32:01 · 1327 阅读 · 0 评论 -
Win32下删除目录(包含文件和子文件夹)
BOOL DeleteDirectory(LPCTSTR szDir){ WIN32_FIND_DATA FindFileData; CString strTempFileFind = szDir; strTempFileFind += _T("\\*.*"); HANDLE hFind = FindFirstFile(strTempFileFind, &...原创 2020-01-20 10:32:07 · 469 阅读 · 0 评论 -
8位位图调色板相关图像处理
8位位图色彩空间为256色,必定使用调色板来确定所有像素的RGB色和透明度。调色板就是256个RGBQUAD的数组,大小为256 X sizeof(RGBQUAD),每一个元素RGBQUAD代表一种颜色(包含rgb各8位数值以及8位的透明度数值)。所以8位位图中的图像数据段中的每个字节代表的并不是真实的像素颜色,而只是表示某个像素点的真实颜色在调色板中的序号。比如图像数据段中的第一个字节数值为0x原创 2016-11-11 15:49:50 · 1313 阅读 · 1 评论 -
DIB位图alpha通道问题
前段时间研究三角函数在图像处理的应用,要实现的是一个三角函数方式的渐进透明度,但是实现中出现的一个问题非常不解,就是设置像素alpha通道没有效果的问题。首先贴上代码void OnPaint(HWND hWnd){ RECT rc; GetClientRect(hWnd, &rc); int width = 180; int原创 2016-10-08 17:56:54 · 229 阅读 · 0 评论 -
共享指针
上次还在为图片数据的维护发愁,std::string肯定是不能再用了,那我们只能自己想办法了。第一个想到的当然是智能指针,shared_ptr,使用起来很简单代码改起来速度快。但是我们工程是VS2008写的不支持c++11,也没有引入boost库,所以这个方法暂时放一边。第二个就是不去维护,只引用这段内存的地址,程序启动时开辟内存,程序退出时释放内存。这个方法想想也不是不可以,但是不到万不得已不会...原创 2020-01-20 10:29:53 · 301 阅读 · 0 评论 -
关于opengl在缓存DC上的绘制问题
一直想把opengl用来渲染界面,我知道这本身是没什么不可以,但只有实践来测试其可行性既然做界面必然离不开windows的编程机制,如果opengl与gdi能很好的结合,那这就能解开我心中的疑惑。那首先的一个问题就是opengl能否在缓存DC上进行绘制呢,如果能那就可以很好的融入directui界面库的机制,我可以选择性的使用各种不同的渲染引擎,对于不同的需求灵活性的使用不同的方案。o...原创 2020-01-20 10:32:53 · 888 阅读 · 1 评论 -
焦点与WM_MOUSEWHEEL相关的问题
最近在使用公司界面库中发现一个问题,就是下拉框获得焦点以后父窗口无法收到WM_MOUSEWHEEL消息,即使主动设置父窗口焦点问题依然存在。一开始怀疑是焦点不再父窗口上导致的问题,然后我就在窗口类的消息处理中加上日志记录WM_SETFOCUS和WM_KILLFOCUS获取和失去焦点的窗口。运行后的结果是,即使手动设置父窗口的焦点,父窗口确实收到了WM_SETFOCUS消息,但是紧接着子窗口也收...原创 2020-01-20 10:30:34 · 390 阅读 · 0 评论 -
关于std::string的使用问题
项目中涉及图片的加载以及存储,直接从一个二进制文件中通过偏移量读取图片的数据,然后把图片二进制数据维护在内存里,当初为了方便,而且征求老大的意见结果就直接使用std::string来维护这些图片的数据。总的来说就是fread文件数据到string::data(),然后在绘制的时候创建出位图句柄,最后再把string::data()二进制数据直接fwrite到文件。一开始各种测试好像没问题,而且老大原创 2016-10-10 18:47:02 · 705 阅读 · 0 评论 -
fread读到数据不代表读成功
void encode(FILE *hf) { fwrite(&offset, sizeof(offset), 1, hf); fwrite(&idLen, sizeof(idLen), 1, hf); fwrite(id.c_str(), 1, idLen, hf); fwr原创 2016-09-22 17:56:45 · 587 阅读 · 0 评论