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雕虫小技集(六)的更多相关文章

  1. ACM题集以及各种总结大全!

    ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...

  2. window系统上实现mongodb副本集的搭建

    一.问题引出 假设我们生产上的mongodb是单实例在跑,如果此时发生网络发生问题或服务器上的硬盘发生了损坏,那么这个时候我们的mongodb就使用不了.此时我们就需要我们的mongodb实现高可用, ...

  3. 皓远的第二次博客作业(最新pta集,链表练习及期中考试总结)

    前言: 知识点运用:正则表达式,有关图形设计计算的表达式和算法,链表的相关知识,Java类的基础运用,继承.容器与多态. 题量:相较于上次作业,这几周在java方面的练习花了更多的精力和时间,所要完成 ...

  4. [bzoj\lydsy\大视野在线测评]题解(持续更新)

    目录: 一.DP 二.图论 1.最短路 2.强连通分量 三.利用单调性维护 四.贪心 五.数据结构 1.并查集 六.数学 1.计数问题 2.数学分析 七.博弈 八.搜索 /////////////// ...

  5. cs模式与bs模式

     关于CS(Client-Server)模式和BS(Browser-Server)模式的水很深,盆地自己也认为对此了解不够透彻,但作为手机客户端设计,如果不对CS.BS做一定程度的了解,是很容易出现一 ...

  6. DeepLearning.ai学习笔记(三)结构化机器学习项目--week1 机器学习策略

    一.为什么是ML策略 如上图示,假如我们在构建一个喵咪分类器,数据集就是上面几个图,训练之后准确率达到90%.虽然看起来挺高的,但是这显然并不具一般性,因为数据集太少了.那么此时可以想到的ML策略有哪 ...

  7. Visual Studio 2017 Enterprise (15.3)

    版本15.3更新在用户离线下载时更加人性化,包含了进度显示,下载出错可以输入R,进行下载的重新尝试,并在当前下载框下继续下载为完成的作业,结合 --layout 参数的离线文件的检查和修复,并且在下载 ...

  8. 《深入浅出mfc》 第1章 笔记

    需要什么函数库(.lib) windows支持动态链接库,应用程序所调用 的windows api 函数是在“执行期间“才链接上的.Windows程序调用 可以分为 C Runtimes以及windo ...

  9. MongoDB 走马观花(全面解读篇)

    目录 一.简介 二.基本模型 BSON 数据类型 分布式ID 三.操作语法 四.索引 索引特性 索引分类 索引评估.调优 五.集群 分片机制 副本集 六.事务与一致性 一致性 小结 一.简介 Mong ...

  10. iOS:探究视图控制器的转场动画

    一.介绍 在iOS开发中,转场动画的使用无处不见,不只是我们自己更多的使用UIViewblock动画实现一个转场动画,其实,在我们实现VC控制器跳转的时候都是转场动画的实现,例如标签栏控制器的切换.模 ...

随机推荐

  1. BAW(Bulk Acoustic Wave) resonator with high Q-factor.

    bulk acoustic wave (BAW) resonator with high Q-factor. Docs: Frequency Synthesis for a Low-Power 2.4 ...

  2. ICEE-Keyboard- 键盘工作原理与改装原理:扫描GPIO:{X行,Y列}感应点矩阵在按键触发点感应电路{x,y}通过MCU映射到按键字符

    ICEE-Keyboard-键盘工作原理: 周期性扫描电路感应点矩阵: 电路感应点矩阵有总共X行与总共Y列的电路感应{电容式,电阻式,开关式}点, 例如总共12行, 总共12列; 则总共有144个键位 ...

  3. constexpr有什么用处?

    constexpr有什么用处 2024/3/30 21:07:25 constexpr 是 C++11 引入的关键字,用于声明一个常量表达式(constexpr expression).常量表达式是在 ...

  4. Trae安装指定版本的插件

    前情 Trae是属于国产的跟 Cursor类似的AI编程IDE,我也是第一时间体验Trae的,虽然相比Cursor弱了一些,但是也绝对胜任了,前端因为排队问题我转战了Cursor,等到Trae出收费模 ...

  5. 如何本地部署Deepseek大模型

    本地部署Deepseek大模型 1.下载Ollama 去ollama官网https://ollama.com/ 下载可执行程序,可选macos.linux和Windows版本下载 下载之后如果点击直接 ...

  6. 12Java基础之多态

    多态 多态是在继承/实现情况下的一种现象,表现为:对象多态.行为多态. 多态存在的条件 有继承关系 子类重写父类的方法 父类引用指向子类对象 多态的一个注意事项 多态是对象.行为的多态,Java中的属 ...

  7. CF1930D1 - Sum over all Substrings (Easy Version)

    对于每一个 \(f(i, j)\),我们考虑如何计算.我们发现,\(\texttt{1010}\) 式的字符串很有用,所以这启发我们如果遇到了一个模式 \(p_i = \texttt{'1'}\),那 ...

  8. WEBAPI HTTP请求中所有的参数去除空格

    WEBAPI HTTP请求中所有的参数去除空格 反正总会有一些沙雕需求. 总体思路就是要么中间件要么aop,拦截请求,对请求的参数做处理. 不知道大佬们有没有什么其他的思路来做,或者有更优的代码. 效 ...

  9. C语言经典例程100例

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. ...

  10. C语言数据结构-哈希表

    1.什么是哈希表? 哈希表是一种值映射地址的关系,是一种对应关系.要知道的两个概念,不知道不行. (1)哈希构造函数 用来描述值和地址的关系的,构造函数是由自己选择的,选择什么函数都可以.y=x这种函 ...