VC雕虫小技集(六)
VC雕虫小技集(六)
1,,如何取得Tree Control上的CheckBox状态~
OnInit中加:
m_treeCtrl.InsertItem("item1");
m_treeCtrl.InsertItem("item2");
void CCDialogDlg::OnButton1()
{
HTREEITEM hItem = m_treeCtrl.GetRootItem();
while(NULL != hItem)
{
CString str= m_treeCtrl.GetItemText(hItem);
if("item2" == str)
{
if(m_treeCtrl.GetCheck(hItem))
AfxMessageBox("选中");
}
hItem = m_treeCtrl.GetNextVisibleItem(hItem);
}
}
2,怎么用一个程序向另一个程序发送字符并让其显示出来
首先通过FindWindow取得windows程序的窗口句柄,
然后通过GetDlgItem取得其中输入框的窗口句柄,
最后,向该窗口句柄发送WM_CHAR消息即可显示字符
例如,对于Notepad窗口,可以以如下的方式向其中输入一个'a':
取得记事本的窗口句柄
HWND hWnd = ::FindWindow( NULL , "未定标题 - 记事本" );
取得其中输入框的窗口句柄
HWND hEdit = ::GetDlgItem( hWnd , 0x0F ); // 这里0x0F是编辑框的ID,可在SPY++中观察得到
向输入框中填写'a'
::SendMessage( hEdit , WM_CHAR , (WPARAM)'A' , 0x00000001 );
3, 当前时间:
CTime t = CTime::GetCurrentTime();
CString str; str.Format("%d-%d-%d",t.GetYear(),t.GetMonth(),t.GetDay());
str+= t.Format("--%H-%M-%S");
AfxMessageBox(str);
一定要用CTime::GetCurrentTime();GetCurrentTime()是一个过时的函数.
4, //改变按钮的背景色。
HBRUSH CRectWindow2View::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
switch (nCtlColor)
{
case CTLCOLOR_BTN:
{
CBrush Brush (RGB (128 , 0 , 128) );//你的颜色
CBrush* pOldBrush = pDC->SelectObject(&Brush);
pDC->SelectObject (pOldBrush );
}
}
return CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
}
5, 加速键的使用.
在Dlg的头文件中加入:
HACCEL m_hAccel;
在Dlg的构造函数中加载加速键:
基于对话框的程序如何使用加速键?
m_hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));//加速键ID
重载PreTranslateMessage函数:
BOOL CDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(m_hAccel!=NULL)
if(::TranslateAccelerator(m_hWnd,m_hAccel,pMsg))
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
6,怎么把一个文件保存到其它地方?
if(!CopyFile("f://he.txt","d://he1.txt",true))
{
if(IDOK == MessageBox("有同名文件,你要覆盖吗?",NULL,MB_OKCANCEL))
{
CopyFile("f://he.txt","d://he1.txt",false);
}
else
return;
}
DeleteFile("f://he.txt");
VC雕虫小技集(六)的更多相关文章
- ACM题集以及各种总结大全!
ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...
- window系统上实现mongodb副本集的搭建
一.问题引出 假设我们生产上的mongodb是单实例在跑,如果此时发生网络发生问题或服务器上的硬盘发生了损坏,那么这个时候我们的mongodb就使用不了.此时我们就需要我们的mongodb实现高可用, ...
- 皓远的第二次博客作业(最新pta集,链表练习及期中考试总结)
前言: 知识点运用:正则表达式,有关图形设计计算的表达式和算法,链表的相关知识,Java类的基础运用,继承.容器与多态. 题量:相较于上次作业,这几周在java方面的练习花了更多的精力和时间,所要完成 ...
- [bzoj\lydsy\大视野在线测评]题解(持续更新)
目录: 一.DP 二.图论 1.最短路 2.强连通分量 三.利用单调性维护 四.贪心 五.数据结构 1.并查集 六.数学 1.计数问题 2.数学分析 七.博弈 八.搜索 /////////////// ...
- cs模式与bs模式
关于CS(Client-Server)模式和BS(Browser-Server)模式的水很深,盆地自己也认为对此了解不够透彻,但作为手机客户端设计,如果不对CS.BS做一定程度的了解,是很容易出现一 ...
- DeepLearning.ai学习笔记(三)结构化机器学习项目--week1 机器学习策略
一.为什么是ML策略 如上图示,假如我们在构建一个喵咪分类器,数据集就是上面几个图,训练之后准确率达到90%.虽然看起来挺高的,但是这显然并不具一般性,因为数据集太少了.那么此时可以想到的ML策略有哪 ...
- Visual Studio 2017 Enterprise (15.3)
版本15.3更新在用户离线下载时更加人性化,包含了进度显示,下载出错可以输入R,进行下载的重新尝试,并在当前下载框下继续下载为完成的作业,结合 --layout 参数的离线文件的检查和修复,并且在下载 ...
- 《深入浅出mfc》 第1章 笔记
需要什么函数库(.lib) windows支持动态链接库,应用程序所调用 的windows api 函数是在“执行期间“才链接上的.Windows程序调用 可以分为 C Runtimes以及windo ...
- MongoDB 走马观花(全面解读篇)
目录 一.简介 二.基本模型 BSON 数据类型 分布式ID 三.操作语法 四.索引 索引特性 索引分类 索引评估.调优 五.集群 分片机制 副本集 六.事务与一致性 一致性 小结 一.简介 Mong ...
- iOS:探究视图控制器的转场动画
一.介绍 在iOS开发中,转场动画的使用无处不见,不只是我们自己更多的使用UIViewblock动画实现一个转场动画,其实,在我们实现VC控制器跳转的时候都是转场动画的实现,例如标签栏控制器的切换.模 ...
随机推荐
- SciTech-Mathmatics-Probability+Statistics: Distribution : The Uniform Distribution
SciTech-Mathmatics-Probability+Statistics: Distribution : The Uniform Distribution BY ZACH BOBBITTPO ...
- POLIR-Society-Organization-Mind-真实社论: 守护好自我能量场:{气定心定,心定事顺} + 常政"平凡生活" + 不需要去应答负能量事情
守护好自我能量场心定事顺 少在烂事上纠缠,少为不值得的人生气烦心. 守护好自己的能量场: 气定心定, 心定事顺. 不需要去应答负能量事情 凡是负能量的事情, 都不需要去应答. 凡是应答, 必将与其纠缠 ...
- 04Java基础语法之包机制
包机制 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间. 包语句的语法格式为: package pkg1[. pkg2[. pkg3...]]; 一般会使用公司域名倒置作为包名: 例如 ...
- 02Java基础语法之类型转换、变量、常量
类型转换 由于Java是强类型语言,所以做某些运算的时候需要用到类型转换 按照占用空间大小排序如下: 低 ------------------------------------------> ...
- 使用 chezmoi & vscode, 管理你的 dotfiles
什么是 dotfiles In Unix-like operating systems, any file or folder that starts with a dot character (fo ...
- .NET4通过HTTP操作MINIO
MINIO是提供.NET SDK的,但是这么老的版本没找到,于是使用http的方式直接调用,方便简单. 我这里需求不复杂,只需要上传下载删除即可,如果后续有需求再补充方法. 核心代码MinioHttp ...
- java 安装及环境配置
下载 下载 Java SE Development Kit 8 安装 我的安装路径是 D:\Programs\Java\jdk1.8.0_291 配置环境 搜索框中输入 "env" ...
- jQuery高级选择符与遍历
1.HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 由于要给小型嵌入linux开发系统界面,希望基于Avalonia.x11 实现,请提供思路和主要技术线路
要在嵌入式Linux系统上使用Avalonia创建用户界面,特别是基于Avalonia.X11实现,你需要遵循以下思路和技术路线.Avalonia是一个跨平台的XAML框架,用于.NET应用程序,支持 ...
- git pull --rebase 变基
使用下面的关系区别下面这两个操作: git pull = git fetch + git merge git pull --rebase = git fetch + git rebase 现在我们有这 ...