Como dominar handle´s??

Delphi

18/11/2003

Ae pessoal... eu tenho uma duvida do KCT. :?:
Acontece que eu consegui capturar o handle de um botao que faz parte de outro programa e, só como teste, gostaria de ser capaz de alterar várias propriedades desse botao, como width, height, enabled e visible.

Eu tentei utilizar Windows Messages para fazer isso, mas só consegui alterar o caption. :?

Alguem tem alguma idéia de como se faz esse tipo de coisa?


Smash

Smash

Curtidas 0

Respostas

Beppe

Beppe

18/11/2003

Para alterar tamanho e posição da janela:
MoveWindow(Hwnd, Left, Top, Width, Height, True);


Para esconder:
SetWindowPos(Hwnd, 0, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE or SWP_HIDEWINDOW);


Para mostrar:
SetWindowPos(Hwnd, 0, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE or SWP_SHOWWINDOW);


Para habilitar:
EnableWindow(Hwnd, Habilita);



GOSTEI 0
Smash

Smash

18/11/2003

Legal, vou fazer uns testes com essas funçoes.

Valeu


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

18/11/2003

[b:5852edc462][size=18:5852edc462]+[/size:5852edc462][/b:5852edc462] Algumas Dicas se você quiser ´dominar´ os Edits:

[color=blue:5852edc462][i:5852edc462]HEdit é a hadle[/i:5852edc462][/color:5852edc462]

[list:5852edc462][*:5852edc462][color=blue:5852edc462]Para mover e redimensionar o Edit:[/color:5852edc462]
[color=green:5852edc462] MoveWindow (HEdit, Left, Top, Width, Height,False);[/color:5852edc462]
[*:5852edc462][color=blue:5852edc462]Para desfazer, recortar, copiar, colar:[/color:5852edc462]
[color=green:5852edc462] SendMessage(HEdit, WM_Undo,0,0);
SendMessage(HEdit, WM_Cut,0,0);
SendMessage(HEdit, WM_Copy,0,0);
SendMessage(HEdit, WM_Paste,0,0); [/color:5852edc462]
[*:5852edc462][color=blue:5852edc462]para descobrir o tamanho do texto contido no edit:[/color:5852edc462]
[color=green:5852edc462]Len := GetWindowTextLength(HEdit); [/color:5852edc462]
[*:5852edc462][color=blue:5852edc462]Para descobrir o que está contido no Edit:[/color:5852edc462]
[color=green:5852edc462] GetMem(P,Len+1);
P[Len] := #0;
GetWindowText(HEdit,P,Len+1); [/color:5852edc462]
[i:5852edc462][color=green:5852edc462] OBS: P é a variável PChar para aonde o texto vai[/color:5852edc462][/i:5852edc462]
[*:5852edc462][color=blue:5852edc462]Para alterar o conteudo do Edit:[/color:5852edc462]
[color=green:5852edc462] SetWindowText(HEdit, ´Texto tal´);[/color:5852edc462]
[i:5852edc462][color=green:5852edc462] Talvez também presise disso aqui: SendMessage(HEdit,EM_SetModify,0,0); [/color:5852edc462][/i:5852edc462]
[*:5852edc462][color=blue:5852edc462]Para limpar o Edit:[/color:5852edc462]
[color=green:5852edc462] const Empty : PChar = ´´;[/color:5852edc462]
[color=green:5852edc462]SendMessage(HEdit,WM_SetText,1,LongInt(Empty));[/color:5852edc462][/list:u:5852edc462]

:mrgreen:

[i:5852edc462]---O que significa isso na sua assinatura?---[/i:5852edc462]


GOSTEI 0
Smash

Smash

18/11/2003

hehehe, é só uma brincadeira que eu e alguns amigos que estudam e trabalham comigo (programando Delphi) fizemos com relação as classes do Delphi, criamos essa frase e algumas outras tb, embora eu nao me lembre + das outras.

Lembro que tinha uma sobre o pai-de-todos, o TObject... Se eu não me engano, a gente citava TObject como divindade. Disso aí derivou a frase da minha assinatura.


GOSTEI 0
POSTAR