当前位置:首页 > 操作系统 > Windows

Windows MFC控件消息编程

 技术分享

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

技术分享 技术分享
                <span> 1</span>
                <span>#ifndef REMOTECONTROL_H
</span>
                <span> 2</span>
                <span>#define</span> REMOTECONTROL_H
<span> 3</span><span> 4</span> #include <QObject>
<span> 5</span> #include <windows.h>
<span> 6</span> #include <winuser.h>
<span> 7</span><span> 8</span><span>class</span> RemoteControl : <span>public</span><span> QObject
</span><span> 9</span><span>{
</span><span>10</span><span>    Q_OBJECT
</span><span>11</span><span>public</span><span>:
</span><span>12</span><span>explicit</span> RemoteControl(QObject *parent = <span>0</span><span>);
</span><span>13</span><span>bool</span><span> FindWindow(QString title);
</span><span>14</span><span>void</span> SetControlRemove(<span>int</span><span> id);
</span><span>15</span><span>void</span> SetControlText(<span>int</span><span> id, QString text);
</span><span>16</span><span>void</span> SetControlCheck(<span>int</span> id,<span>bool</span><span> check);
</span><span>17</span><span>void</span> SetControlButton(<span>int</span><span> id);
</span><span>18</span>     UINT SetControlProcessbar(<span>int</span><span> id);
</span><span>19</span><span>private</span><span>:
</span><span>20</span><span>    HWND m_hWnd;
</span><span>21</span><span>};
</span><span>22</span><span>23</span><span>#endif</span><span>//</span><span> REMOTECONTROL_H</span>
View Code

.cpp

技术分享 技术分享
                <span> 1</span> #include <span>"</span><span>remotecontrol.h</span><span>"</span><span> 2</span> #include <Commctrl.h>
<span> 3</span> #include <QDebug>
<span> 4</span><span> 5</span> RemoteControl::RemoteControl(QObject *<span>parent) :
</span><span> 6</span><span>    QObject(parent)
</span><span> 7</span><span>{
</span><span> 8</span><span>}
</span><span> 9</span><span>10</span><span>bool</span><span> RemoteControl::FindWindow(QString title)
</span><span>11</span><span>{
</span><span>12</span><span>for</span>(<span>int</span> i = <span>0</span>; i<<span>5000</span>; i++<span>)
</span><span>13</span><span>    {
</span><span>14</span>         m_hWnd =<span> ::FindWindowA(NULL, title.toStdString().c_str());
</span><span>15</span><span>if</span>(m_hWnd !=<span> NULL)
</span><span>16</span><span>return</span><span>true</span><span>;
</span><span>17</span><span>    }
</span><span>18</span><span>19</span>     qDebug()<<<span>"</span><span>Can‘t find window</span><span>"</span><span>;
</span><span>20</span><span>return</span><span>false</span><span>;
</span><span>21</span><span>}
</span><span>22</span><span>23</span><span>//</span><span>隐藏</span><span>24</span><span>void</span> RemoteControl::SetControlRemove(<span>int</span><span> id)
</span><span>25</span><span>{
</span><span>26</span>     HWND cid =<span> ::GetDlgItem(m_hWnd,id);
</span><span>27</span><span>if</span>(cid ==<span> NULL)
</span><span>28</span><span>return</span><span>;
</span><span>29</span><span>    ::ShowWindow(cid,SW_HIDE);
</span><span>30</span><span>}
</span><span>31</span><span>32</span><span>//</span><span>文本</span><span>33</span><span>void</span> RemoteControl::SetControlText(<span>int</span><span> id,QString text)
</span><span>34</span><span>{
</span><span>35</span>     HWND cid =<span> ::GetDlgItem(m_hWnd,id);
</span><span>36</span><span>if</span>(cid ==<span> NULL)
</span><span>37</span><span>return</span><span>;
</span><span>38</span>     ::SendMessage( cid ,WM_SETTEXT,<span>0</span><span>,(LPARAM)text.toStdWString().data());
</span><span>39</span><span>}
</span><span>40</span><span>41</span><span>//</span><span>选中</span><span>42</span><span>void</span> RemoteControl::SetControlCheck(<span>int</span> id,<span>bool</span><span> check)
</span><span>43</span><span>{
</span><span>44</span>     HWND cid =<span> ::GetDlgItem(m_hWnd, id);
</span><span>45</span><span>if</span>(cid ==<span> NULL)
</span><span>46</span><span>return</span><span>;
</span><span>47</span><span>    ::CheckDlgButton(m_hWnd,id,check);
</span><span>48</span><span>}
</span><span>49</span><span>50</span><span>//</span><span>点击</span><span>51</span><span>void</span> RemoteControl::SetControlButton(<span>int</span><span> id)
</span><span>52</span><span>{
</span><span>53</span>     HWND cid =<span> ::GetDlgItem(m_hWnd,id);
</span><span>54</span><span>if</span>(cid ==<span> NULL)
</span><span>55</span><span>return</span><span>;
</span><span>56</span>     ::SendMessage(cid ,BM_CLICK,<span>0</span>,<span>0</span><span>);
</span><span>57</span><span>}
</span><span>58</span><span>59</span><span>//</span><span>进度条</span><span>60</span> UINT RemoteControl::SetControlProcessbar(<span>int</span><span> id)
</span><span>61</span><span>{
</span><span>62</span>     HWND cid =<span> ::GetDlgItem(m_hWnd,id);
</span><span>63</span><span>if</span>(cid ==<span> NULL)
</span><span>64</span><span>return</span><span>0</span><span>;
</span><span>65</span>      ::SendMessage(cid, PBM_SETPOS, <span>10</span>, <span>0</span><span>);
</span><span>66</span>     UINT result =::SendMessage(cid, PBM_GETPOS, (WPARAM)<span>0</span>, (LPARAM)<span>0</span><span>);
</span><span>67</span><span>return</span><span> result;
</span><span>68</span> }
View Code

 

原文:http://www.cnblogs.com/ht-927/p/4369135.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐