1. Progress Bar Control Messages   
 PBM_DELTAPOS   
 PBM_GETPOS   
 PBM_GETRANGE   
 PBM_SETBARCOLOR   
 PBM_SETBKCOLOR   
 PBM_SETPOS   
 PBM_SETRANGE   
 PBM_SETRANGE32   
 PBM_SETSTEP   
 PBM_STEPIT

.h

 #ifndef REMOTECONTROL_H
#define REMOTECONTROL_H #include <QObject>
#include <windows.h>
#include <winuser.h> class RemoteControl : public QObject
{
Q_OBJECT
public:
explicit RemoteControl(QObject *parent = );
bool FindWindow(QString title);
void SetControlRemove(int id);
void SetControlText(int id, QString text);
void SetControlCheck(int id,bool check);
void SetControlButton(int id);
UINT SetControlProcessbar(int id);
private:
HWND m_hWnd;
}; #endif // REMOTECONTROL_H

.cpp

 #include "remotecontrol.h"
#include <Commctrl.h>
#include <QDebug> RemoteControl::RemoteControl(QObject *parent) :
QObject(parent)
{
} bool RemoteControl::FindWindow(QString title)
{
for(int i = ; i<; i++)
{
m_hWnd = ::FindWindowA(NULL, title.toStdString().c_str());
if(m_hWnd != NULL)
return true;
} qDebug()<<"Can't find window";
return false;
} //隐藏
void RemoteControl::SetControlRemove(int id)
{
HWND cid = ::GetDlgItem(m_hWnd,id);
if(cid == NULL)
return;
::ShowWindow(cid,SW_HIDE);
} //文本
void RemoteControl::SetControlText(int id,QString text)
{
HWND cid = ::GetDlgItem(m_hWnd,id);
if(cid == NULL)
return;
::SendMessage( cid ,WM_SETTEXT,,(LPARAM)text.toStdWString().data());
} //选中
void RemoteControl::SetControlCheck(int id,bool check)
{
HWND cid = ::GetDlgItem(m_hWnd, id);
if(cid == NULL)
return;
::CheckDlgButton(m_hWnd,id,check);
} //点击
void RemoteControl::SetControlButton(int id)
{
HWND cid = ::GetDlgItem(m_hWnd,id);
if(cid == NULL)
return;
::SendMessage(cid ,BM_CLICK,,);
} //进度条
UINT RemoteControl::SetControlProcessbar(int id)
{
HWND cid = ::GetDlgItem(m_hWnd,id);
if(cid == NULL)
return ;
::SendMessage(cid, PBM_SETPOS, , );
UINT result =::SendMessage(cid, PBM_GETPOS, (WPARAM), (LPARAM));
return result;
}

Windows MFC控件消息编程的更多相关文章

  1. MFC控件GDI编程

    MFC控件GDI编程 一丶学习内容 1.了解常用的GDI函数绘图. 2.使用常用的画笔画刷. 二丶常用的GDI函数绘图 上方则为我们常用的GDI函数了. 画线 矩形. 以及圆 等等. 2.1 画线代码 ...

  2. MFC控件编程之鼠标跟键盘消息

    MFC控件编程之鼠标跟键盘消息 在MFC中鼠标消息.键盘消息我们很常用.所以说一下. 鼠标消息分为客户区消息.跟非客户区消息. 一丶客户区消息 我们可以处理消息.来进行我们相应的函数即可. MFC添加 ...

  3. MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.

    MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...

  4. MFC控件编程进度条编写

    MFC控件编程进度条编写 一丶进度条编程需要用到的方法 进度条MFC已经帮我们封装好类了. 叫做 CProgressCtrl  进度条编程也很简单. 封装的方法也就那个那几个. GetPos()  获 ...

  5. MFC 控件编程之水平滚动条跟垂直滚动条

    MFC 控件编程之水平滚动条跟垂直滚动条 一点水平滚动条的操作 首先在操作滚动条的时候.我们要知道滚动条的一些属性. 比如我们要设置 最大值 最小值. 以及每次递增的值是多少.都要设置. 所有就有一个 ...

  6. MFC控件第一讲.DC编程

    MFC控件第一讲.DC编程 一丶简介 什么是DC,DC有什么用. DC成为设备描述符表. DC的作用就是可以进行绘制. 比如我们的窗口都是绘制出来的.  DC可以简单理解为.没一个窗口程序都有一块内存 ...

  7. MFC控件编程之组合框跟列表框

    MFC控件编程之组合框跟列表框 一丶简介 如果要使用组合框跟列表框.那么就要知道.组合框列表框是最核心的东西就是索引. 索引是从0开始的. 二丶组合框列表框常用的方法 AddString(字符串) 添 ...

  8. MFC控件编程之复选框单选框分组框

    MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...

  9. 【原创】多字节版本下MFC控件处理字符集的BUG

    工程项目属性: 字符集:多字节 stdafx.h文件中添加: #pragma comment(linker,"/manifestdependency:\"type='win32' ...

随机推荐

  1. iOS开发之-- 抢购、距活动结束,剩余时间倒计时

    因为没有时间去着重研究过这个东西,只是知道大体上的逻辑,就是两个时间才行比对,具体的实现也是参考别人的写的方法, 只是做个记录,有时间会好好看看这个东西,具体代码如下: /** * 倒计时 * * @ ...

  2. 使用 composer 下载更新卸载类库

    前言:要下载什么包,可以去 https://packagist.org/ 找一下包名及其版本信息 1)配置composer.json文件,并使用composer install 命令下载类包,下面以下 ...

  3. C++变量命名方案

    变量命名方案和函数命名方案一样,也有很多话题可供讨论.确实,该主题会引发一些最尖锐的反对意见.同样,和函数名称一样,只要变量名合法,C++编译器就不会介意,但是一致/精确的个人命名约定是很有帮助的.与 ...

  4. Ubuntu16.04最快捷搭建小型局域网Git服务器

    导读 使用linux操作系统,不得不提Git版本管理器,这个Linus花了两周时间开发的分布式版本管理器(这就是大神,先膜了个拜...),毫无疑问,Git版本管理器与linux系统有着与生俱来的同一血 ...

  5. windows mysql初始化

    参考文章 https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html mysqld --initialize --user ...

  6. svn移动目录时如何保留原来的日志

    [问题描述] 想将SVN下的文件夹A移动目录D下,同时保留文件夹A及其下面文件的SVN日志 [原来的做法]         将文件夹A直接拷贝到目录D,然后提交到SVN [原来做法的问题]   日志无 ...

  7. android RelativeLayout属性和布局实例

    // 相对于给定ID控件 android:layout_above 将该控件的底部置于给定ID的控件之上; android:layout_below 将该控件的底部置于给定ID的控件之下; andro ...

  8. Struts2中的类型转换失败

    类型转换失败: 若 Action 类没有实现 ValidationAware 接口: Struts 在遇到类型转换错误时仍会继续调用其 Action 方法, 就好像什么都没发生一样. 若 Action ...

  9. ubuntu 卸载 google-chrome

    sudo apt-get autoremove google-chrome-stable

  10. Quick UDP Internet Connections 让互联网更快的协议,QUIC在腾讯的实践及性能优化

    https://mp.weixin.qq.com/s/44ysXnVBUq_nJByMyX9n5A 让互联网更快:通往QUIC之路 原创: 史天 翻译 云技术实践 8月15日 QUIC(Quick U ...