电脑上的滑动弹幕记单词小工具实现

112 篇文章 0 订阅
74 篇文章 1 订阅
最近在考虑怎样记单词,想在电脑上弄个类似弹幕的工具,滑动显示单词,增加查看次数,提高记忆效果
网上找了下,没有找到比较方便的工具,就准备做一个MFC界面的小工具试试看。
通过代码拼凑,简单的实现了这个功能。


需要实现的功能
1. 界面透明的设置
SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE,


GetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE) ^ WS_EX_LAYERED);


HINSTANCE hInst = LoadLibrary(L"User32.DLL"); //显式加载DLL
if (hInst)
{
typedef BOOL(WINAPI *MYFUNC) (HWND, COLORREF, BYTE, DWORD);
MYFUNC fun = NULL;


//取得SetLayeredWindowAttributes函数指针     
fun = (MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if (fun)


fun(this->GetSafeHwnd(), 0, 200, 2);     //通过第三个参数来设置窗体透明程度
FreeLibrary(hInst);
}


2. 滑动效果的展现
通过定时器调用,截取子字符串来模拟滑动效果


3. 读取文本数据
由于工程项目使用的是Unicode字符集,为了避免出现乱码,所以读取的文本设置为unicode编码的txt,
如果原始文件不是unicode格式,使用记事本另存为的方式进行编码转换
MFC中读取unicode格式txt的方法
void readUnicodetxt(CString &str)
{
str.Empty();
CFile ReadF(_T("D:\\filename.txt"), CFile::modeRead);
TCHAR* temp = new TCHAR[ReadF.GetLength() / 2 + 1];
ReadF.Read(temp, ReadF.GetLength());
temp[ReadF.GetLength() / 2] = 0;
ReadF.Close();
str = temp;
delete [] temp;
}






4. 让程序显示在最前面
SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);

就这样,一个简单的单词滑动提示器就做出来了


使用说明:
数据文件 D:\\filename.txt,应该是unicode编码


程序下载地址

http://download.csdn.net/detail/aaajj/8535457


使用效果




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值