Como eu posso selecionar uma aba específica usando Auto Hotkey?

0

Eu tenho uma janela com controles personalizados com um controle de barra de guias como:

Tab 1 | Tab 2 | Tab 3 | Tab 4 | ...

Eu quero selecionar o Tab 1 (ou Tab N para esse assunto). Quando eu ativo a janela, ela pode ter o foco em qualquer lugar da tab 1 até a tab N.

Eu sei que existe a (na minha opinião) uma maneira feia de definir as janelas para um determinado tamanho e, em seguida, basta clicar nas coordenadas da guia. Eu também poderia selecionar a barra de abas e então calcular a posição no eixo x. Esses métodos não são apropriados, pois o layout do Windows pode ser configurado e eu quero que a solução funcione em computadores diferentes.

Existe uma maneira mais elegante de usar o Texto Visível para selecionar um controle?

Como posso selecionar uma única guia em uma barra de guias usando Auto Hotkey ou um programa semelhante?

    
por ChaosCakeCoder 14.02.2013 / 07:59

1 resposta

1

Você já pensou em ImageSearch. Você pode cortar as imagens de cada guia, tanto no estado ativo quanto no inativo [Background changes color]. Em seguida, pesquise uma imagem específica e use as coordenadas para clicar. Tenha muito cuidado com o corte, uma pequena mudança [por exemplo, fundo de abas vizinhas] pode fazer isso falhar.

;CoordMode Pixel  ; Interprets the coordinates below as relative to the     screen rather than the active window.
ImageSearch, FoundX, FoundY, 0, 0, 200, 200, C:\Temp\Tab1.bmp ; search for image in area staring at 0,0 to 200,200
if ErrorLevel = 2
    MsgBox Could not conduct the search.
else if ErrorLevel = 1
    MsgBox Image could not be found on the screen.
else
    SoundBeep, 1000, 1000
    MsgBox The Image was found at %FoundX% %FoundY%.
    ClickX:=FoundX + 5 ; Move the mouse click away from the edge of the icon
    ClickY:=FoundY + 5 ; Move the mouse click away from the edge of the icon
    Click, %ClickX%, %ClickY% ; Click on the Save As icon.
Return
    
por 22.02.2013 / 14:33