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. jQuery插件手把手教会(一)

    jQuery插件开发教程  ——让你的jQuery水平提升一个台阶 要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台 ...

  2. Visual Studio 32位64位的问题和如何编译32位64位工程的问题

    Visual Studio自身没有32位和64位的分别,对于某一个特定的版本只有一个版本安装文件(即不存在32位版本的VS2015安装文件和64位版本的VS2015安装文件) 对于自己开发的工程,编译 ...

  3. SQL中的IF ELSE(CASE语句的使用)(转载)

    大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...

  4. Incompatible integer to pointer conversion assigning to 'NSInteger *' (aka 'int *') from 'NSInteger' (aka 'int')

    遇到这样的问题: integer to pointer conversion assigning to 'NSInteger *' (aka 'int *') from 'NSInteger' (ak ...

  5. Pulsar

    The Apache Software Foundation Announces Apache® Pulsar™ as a Top-Level Project : The Apache Softwar ...

  6. Spark源码分析 – 汇总索引

    http://jerryshao.me/categories.html#architecture-ref http://blog.csdn.net/pelick/article/details/172 ...

  7. Spark源码分析 -- TaskScheduler

    Spark在设计上将DAGScheduler和TaskScheduler完全解耦合, 所以在资源管理和task调度上可以有更多的方案 现在支持, LocalSheduler, ClusterSched ...

  8. log4cpp简单示例

    log4cpp简单示例 下载地址 Sample.cpp #include <iostream> #include <log4cpp/FileAppender.hh> #incl ...

  9. MySQL优化(三):优化数据库对象

    二.优化数据库对象 1.优化表的数据类型 应用设计的时候需要考虑字段的长度留有一定的冗余,但不推荐很多字段都留有大量的冗余,这样既浪费磁盘空间,也在应用操作时浪费物理内存. 在MySQL中,可以使用函 ...

  10. java并发深入

    对象由数据+行为组成.数据就是字段,行为就是方法. 并发须要保证这些可被多个线程訪问的共享对象数据的完整性,以及某些特定完整性语义. 比方一个类有一个字段count=0,两个线程同一时候对它做加1操作 ...