Ativar a TabSheet que está abaixo do mouse.

Delphi

04/08/2003

Ae galera, tem como eu ativar a tabsheet que está abaixo do cursor do mouse?
Tipo, tenho uma PageControl com 3 páginas e quando eu passo o mouse (onMouseMove), quero que
a TabSheet que está abaixo do mouse seja selecionada.

valeu


Adriano Santos

Adriano Santos

Curtidas 0

Respostas

Andreyrf

Andreyrf

04/08/2003

ActivePageControl.ItemIndex := 1;


GOSTEI 0
Adriano Santos

Adriano Santos

04/08/2003

Você leu a pergunta Andrey??? ou leu e não entendeu???


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

04/08/2003

Bom, se você usar o evento on MouseMove do TabSsheet não funciona né?
então experimente usar o evento on Mousemove do PageControl

e faça algo tipo:

if Y >30 then Exit;
if X <50 then Ativa Tab1;
if (X > 50) and (X < 100) then ativa Tab2;

[b:f32c764d4b][color=red:f32c764d4b]Atenção[/color:f32c764d4b][/b:f32c764d4b], usei esses valores apenas como exemplo:
Aqui : [color=green:f32c764d4b]if Y >30 then Exit;[/color:f32c764d4b] altere o 30 para a altura das Abas
aqui [color=green:f32c764d4b]if X <N then Ativa Tab1;[/color:f32c764d4b] Mude o N para a largura das abas,
testo se a posição do mouse é menor que N, então ela esta sobre a aba do Tab1, senão, testo se é maior que N e menor que N2, então esta sobre o tab2, e assim vai...


GOSTEI 0
Adriano Santos

Adriano Santos

04/08/2003

É o onMouseMove da PageControl mesmo que estou usando. Value vou testar.


GOSTEI 0
Vmotta

Vmotta

04/08/2003

Pessoal, acabei de testar e deu certo, é o seguinte:

Altere a propriedade TabWidth do componente PageControl1 para 80 ou qualquer outro valor.

Agora insira o seguinte código no evento OnMouseMove do componente PageControl1:

var
  ind : integer;
begin
  // troque o valor 80 pelo valor inserido na propriedade TabWidth
  ind := X div 80;
  PageControl1.TabIndex := ind;
end;


só isso ... espero ter ajudado
T+
Vitor <vmotta@eep.br>


GOSTEI 0
Adriano Santos

Adriano Santos

04/08/2003

valeu mano.


GOSTEI 0
POSTAR