
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>
.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> }
原文:http://www.cnblogs.com/ht-927/p/4369135.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!