Mover componente (TComboBox)

Delphi

28/12/2006

Pessoal, estou com um projeto onde preciso mover componentes, daew, tow usando o seguinte codigo:

procedure TFMain.OnMouseMoveControl(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  with Sender as TControl do
    if csLButtonDown in ControlState then
    begin
      if not (Sender is TForm) then
        begin
          TControl(Sender).BringToFront;
          //-- Posicionar componente
          Left := ClientToParent(Point(X, Y)).X - (Width div 2);
          Top  := ClientToParent(Point(X, Y)).Y - (Height div 2);
        end;
    end;
end;


Bem, funfa direitinho, isto se não existisse o ComboBox!!! :(
Sempre q movo um Combobox a tela fica bugada, alguem pode me ajudar???

Ah, jah ia esquecendo, como o TCombobox não tem o evento OnMouseMove Liberado eu fiz o seguinte:




unit MyComboBox;

interface

uses
  StdCtrls, Classes, JvComboBox;

type
  TMyComboBox = class(TCombobox)
  published
    property OnMouseMove;
  end;

implementation

end.


Preciso de ajuda galera!!! :wink:


Aloizio Castro

Aloizio Castro

Curtidas 0

Respostas

Leonardobhbr

Leonardobhbr

28/12/2006

Tente fazer o seguinte colocar depois da linha que voce move o componente

[color=green:0192065c40]
Application.ProcessMessages;
[/color:0192065c40]


GOSTEI 0
Aloizio Castro

Aloizio Castro

28/12/2006

Tente fazer o seguinte colocar depois da linha que voce move o componente [color=green:bf85023707] Application.ProcessMessages; [/color:bf85023707]


Aew, não sei se vc chegou a testar meu codigo, mas a sua soluçao nao funcionou :cry: ......

Acontece que, qdo começo a arrastar o ComboBox, fica uma especie de caixa de texto sobre form!!! Tipo uma replica do combo soh q no formato de caixa de texto...

Bem, d qq forma, [i:bf85023707]isto nao resolveu meu problema[/i:bf85023707], mas muitissim obrigado pela boa vontade :wink:


GOSTEI 0
POSTAR