Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Вниз

Нажатие неактивной кнопки в чужом приложении   Найти похожие ветки 

 
azl ©   (2006-03-02 15:10) [0]

Добрый день. Ув. мастера,
приведите, пожалуйста, ПРИМЕР, как можно неактивную кнопку чужого приложения сделать активной.

Заранее очень благодарен.


 
Руслан ©   (2006-03-02 15:23) [1]

SendMessage(BtnWnd,WM_ENABLE,0,0);


 
begin...end ©   (2006-03-02 15:28) [2]

> Руслан ©   (02.03.06 15:23) [1]

Это не будет работать. Вместо этого можно использовать EnableWindow.


 
Руслан ©   (2006-03-02 15:31) [3]

или EnableWindow(BtnWnd,True);


 
Руслан ©   (2006-03-02 15:33) [4]


> begin...end ©   (02.03.06 15:28) [2]
> > Руслан ©   (02.03.06 15:23) [1]
>
> Это не будет работать. Вместо этого можно использовать EnableWindow.
>

Опередил, пока второе сообщение дошло )))


 
azl ©   (2006-03-02 15:48) [5]

Спасибо.
Только немного не ясно BtnWnd - это что?

var
BtnWnd: HWND
begin
  BtnWnd:=???
  EnableWindow(BtnWnd,True);
end;


 
Руслан ©   (2006-03-02 15:52) [6]

BtnWnd получаешь с помощью FindWindowEx()

Там первый параметр  - хендл родительского окна, находишь с FindWindow()
2-й - должен быть 0 кажется,
3й - класс кнопки, например Tbutton
4-й кажется тоже 0 или nil - точно не помню )))


 
azl ©   (2006-03-02 15:52) [7]

Придумал.
BtnWnd := FindWindowEx(FindWindow("TForm1","Form1"),0,"TButton","Button1");

Так работает.
А как можно сделать чтобы кнопка в чужом приложении становилась активной при наведении на нее курсора мыши?

Спасибо.


 
Руслан ©   (2006-03-02 15:53) [8]

ну, в общем, посмотри справку на FindWindowEx()
и FindWindow()


 
Руслан ©   (2006-03-02 15:54) [9]

Кажется есть функция WindowFromPoint, которая возвращает хендл окна под курсором. попробуй


 
azl ©   (2006-03-02 15:55) [10]

Спасибо, большое.


 
Crash Coredump ©   (2006-03-02 16:03) [11]

Кнопки просто так недоступными не делаются


 
psa247 ©   (2006-03-03 09:50) [12]


> Crash Coredump ©   (02.03.06 16:03) [11]


По хорошему надо делать через ActionList и тогда никакие такие "штуки" не пройдут.


 
azl ©   (2006-03-03 11:50) [13]

private
   { Private declarations }
   procedure ShowHwndAndClassName(CrPos: TPoint);
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
 rPos: TPoint;
begin
 if Boolean(GetCursorPos(rPos)) then ShowHwndAndClassName(rPos);
end;

procedure TForm1.ShowHwndAndClassName(CrPos: TPoint);
var
 hWnd: THandle;
 aName, bName: array [0..255] of Char;
begin
 hWnd := WindowFromPoint(CrPos);
 Edit1.Text := IntToStr((hWnd));
 if Boolean(GetClassName(hWnd, aName, 256)) then
   Edit4.Text := string(aName);
 {else
   Label2.Caption := "ClassName :  not found";}
 if Boolean(GetWindowText(hWnd, bName, 256)) then
   Edit3.Text := string(bName);
 Edit2.Text := IntToStr(GetParent(hWnd));
 EnableWindow(FindWindowEx(FindWindow(PChar(string(aName)),PChar(string(bName))), 0,nil,nil),True);
end;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
15-1140863196
PARUS
2006-02-25 13:26
2006.03.19
Music Instrumental Digital Interface Как-то так...


9-1126435874
Dgt
2005-09-11 14:51
2006.03.19
Glblur Bugs..


15-1140609912
Дмитрий_Б
2006-02-22 15:05
2006.03.19
Неудобство в работе.


2-1141472697
Saveliy
2006-03-04 14:44
2006.03.19
Где можно найти статейки про компоненты Tcpclient и Tcpserver ?


2-1141064094
Michael5
2006-02-27 21:14
2006.03.19
Вопрос по System tray.После выхода из программы ярлык не исчезает





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский