線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1088
推到 Plurk!
推到 Facebook!

己得知外部程式內Trackbar元件的Handle,如何去指定他的值?

答題得分者是:william
jenpeter
一般會員


發表:39
回覆:37
積分:15
註冊:2002-08-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-18 08:28:11 IP:218.163.xxx.xxx 未訂閱
請問各位前輩,我寫了一隻程式 去修改另一支己啟動的程式 , 己啟動的程式內有一個 TarckBar元件 ,我如何去指定一個值給它 !
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-18 09:08:29 IP:147.8.xxx.xxx 未訂閱
PostMessage(TrackBarHandle,TBM_SETPOS,1,TrackBarPosition);
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-18 09:31:33 IP:220.160.xxx.xxx 未訂閱
1,用FindWindow取得視窗控制碼 2,用EnumChildWindows取得表單中TrackBar元件控制碼 3,發送消息給TrackBar,設置它的位置    具體實現如下:
//回調函數,枚舉所有子視窗
function EnumWndProc(hWnd: HWND; lParam: LPARAM): Boolean; stdcall;
var
  WndClassName: array[0..254] of Char;
begin
  GetClassName(hWnd, @WndClassName, 254);//取得子窗口類名稱
  if WndClassName[0] <> chr(0) then
  begin
    if StrPas(WndClassName) = 'TTrackBar' then//判斷子窗口是否是TTrackBar
    begin
      SendMessage(hWnd, WM_USER 5, 1, 6);//發送消息,設置TrackBar的值為6
    end;
  end;
  Result := True;
end;    procedure TForm1.Button1Click(Sender: TObject);
var
  H: THandle;
begin
  H := FindWindow(nil, 'FormCaption');
  if H <> 0 then EnumChildWindows(H, @EnumWndProc, 0);
end;
系統時間:2024-05-05 1:09:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!