![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
api
Жаннка © (2006-04-24 13:24:00)ку,вопросик по api
var
h: HWND;
gg:pchar;
begin
h := findwindow('TWINDOWSCMD','Text Windows Commander 5.0 - Any One');
getwindowtext(h,gg,50);
edit2.Text:=gg;
почему то выводит полный бред в эдит:S‹Ш‹Ги\x1E7\x2
как быть?
balepa (2006-04-28 14:38:00) [1]
> balepa © (28.04.06 14:09) [71]
з.ы. сори не interface, а implementation
balepa (2006-04-28 14:09:00) [2]
> Жаннка (28.04.06 14:00) [70]
> как работать с функцией EnumChildWindows
> а точнее EnumFunc: TFarProc; lparam: Longint
> что с ними делать?
Издеваетесь ?
Вот так ее нужно описать перед словом Interface
function EnumProc(h: HWND;lparam: Integer): Boolean; STDCALL;
А вот это после слова interface;
function EnumProc(h: HWND;lparam: Integer): Boolean;
//h = handle эдита
var
N: PChar;
begin
getmem(N,51);
GetClassName(h,N,50);
if N = 'TEdit' then
MessageBox(Form1.Handle,'ff','ff',16); //вот здесь берете текст с эдита с помощью Sendmessage(....); и вставляете куда вам надо.
freemem(N,51);
result:= True;
end;
Жаннка (2006-04-28 14:00:00) [3]как работать с функцией EnumChildWindows
а точнее EnumFunc: TFarProc; lparam: Longint
что с ними делать?
balepa (2006-04-28 13:56:00) [4]
> Жаннка (28.04.06 13:52) [68]
Во что неврубаетесь ?
Жаннка (2006-04-28 13:52:00) [5]вот код,вытаскивает из эдитов на форме текст,а как быть если эдит находится на panel или pagecontrol,нашла функцию
EnumChildWindows(WndParent: HWnd; EnumFunc: TFarProc; lparam: Longint): Bool;
WndParent - эт понятно,а с enumfunc и lparam как быть?
посмарела предыдущий пост чет не врубаюсь
var
Hndl,h: THandle;
st: string;
begin
SetLength(st, 255);
FillChar(st[1],255,0);
h:=FindWindow(nil,'Form1');
Hndl:= FindWindowEx(h,0,'TEdit',nil);
SendMessage(hndl,WM_getTEXT,255, Integer(@st[1]));
edit1.text:= st;
Hndl:= FindWindowEx(h,Hndl,'TEdit',nil);
SendMessage(hndl,WM_getTEXT,255, Integer(@st[1]));
edit2.text:=st;
balepa (2006-04-28 06:38:00) [6]function EnumProc(h: HWND;lparam: Integer): Boolean;
var
N: PChar;
begin
getmem(N,51);
GetClassName(h,N,50);
if N = 'TEdit' then
MessageBox(Form1.Handle,'ff','ff',16);
freemem(N,51);
result:= True;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumChildWindows(Form1.Handle,@EnumProc,0);
end;
balepa (2006-04-27 17:18:00) [7]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1145516275&n=5
function ChildWnd(h:THandle; wparam:integer): Bool;stdcall;
var
Text: array [0..256] of Char;
begin
GetWindowText(h, text, 200);
if Text = 'Edit1' then
Form1.Label1.Caption:= Text
else if Text = 'Edit2' then
Form1.Label2.Caption:= Text
else if Text = 'Edit3' then
Form1.Label3.Caption:= Text
else if Text = 'Edit4' then
Form1.Label4.Caption:= Text;
result:=true;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
h: hwnd;
begin
EnumChildWindows(Form1.Handle,@ChildWnd,0);
end;
Жаннка (2006-04-27 16:01:00) [8]то наверно,но разобраться не могу :(
вот пробую такой текст
var
Hndl,h: THandle;
st: string;
begin
SetLength(st, 255);
FillChar(st[1],255,0);
h:=FindWindow(nil,'Form2');
Hndl:= FindWindowEx(h,0,'tdbedit',nil);
SendMessage(hndl,WM_GETTEXT,255, Integer(@st[1]));
Label1.Caption:= st;
опять же с последнего эдита берет..
balepa (2006-04-26 14:52:00) [9]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/enumchildwindows.asp
Посмотри может это то что нужно.
Жаннка (2006-04-26 14:44:00) [10]есть приложение, на нем 6 эдитов,вот из них надо вытащить текст
balepa (2006-04-26 14:42:00) [11]Разберитесь сначала откуда надо брать информацию в конечном итоге.
Жаннка (2006-04-26 14:38:00) [12]хм...а если это не мое приложение,тогда как
balepa (2006-04-26 14:35:00) [13]В приложении с эдитами сделай хотя бы свой обработчик собственных сообщений.
Жаннка (2006-04-26 14:11:00) [14]пока из эдитов
balepa (2006-04-26 14:09:00) [15]
> Жаннка (26.04.06 13:59) [57]
Так из базы или с эдитов ?
Жаннка (2006-04-26 13:59:00) [16]да,мной,но это для того чтоб научиться,дальше надо будет из базы данных нашей фирмы
balepa (2006-04-26 13:50:00) [17]А програмка в которой эдиты тобою писана ?
Жаннка (2006-04-26 13:28:00) [18]получилось,но пролема в том,что если на форме другого приложения не один edit,то я получаю текст ИЗ ПОСЛЕДНЕГО едита,а мне нужно из конкретного
balepa (2006-04-26 12:40:00) [19]
> Жаннка (26.04.06 12:17) [53]
ДЫК WM_GETTEXT
У тебя ж вроде уже получилось ?
Жаннка (2006-04-26 12:17:00) [20]дык я поняла что это установить,мне то надо получить, а не установить