Jump to content


DeLorean

Member Since 22/06/2004
Offline Last Active 01/10/2004, 18:19
-----

Posts I've Made

In Topic: Vejam Esse Relógio Digital Que Eu Construí

01/10/2004, 18:19

Download do programa (arquivo reenviado para o servidor):
http://www.ddsoft.co...cw/ccw_1,1a.zip

Download do código fonte (arquivos .pas, .dfm, .dpr e etc do Delphi):
http://www.ddsoft.co...codigofonte.zip

Veja com os seus próprios olhos... XD

In Topic: Printscreen Do Vídeo Num Da Certo

01/10/2004, 15:03

Procure no Google pelo VirtualDub.

In Topic: Vejam Esse Relógio Digital Que Eu Construí

01/10/2004, 14:46

Desculpem, aqui está o link da última versão:

http://www.deviantar...m/view/8966232/

In Topic: Form Que Arastaveis Por Qualquer Ponto

02/07/2004, 21:21

A forma acima apresenta várias limitações, como não mostrar um menu de contexto ao clicar com o botão direito e somente move o formulário quando arrasta por uma área livre dele. Como se não bastasse isso, ele usa as mensagens do Windows, que são muito complexas.

O código a seguir utiliza somente eventos padrões do Delphi, tornando-o compreensível até mesmo para os mais iniciantes na linguagem.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DateUtils, Menus;

type
  TForm1 = class(TForm1)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  BotaoPressionado : Boolean;
  OrigemX, OrigemY : Integer;

implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  IF ( Button = mbLeft ) THEN
    BotaoPressionado := True;
  OrigemX := X;
  OrigemY := Y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  BotaoPressionado := False;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  IF BotaoPressionado THEN
  BEGIN
    Left := Left - ( OrigemX - X );
    Top  := Top  - ( OrigemY - Y );
  END;
end;

end.


Não se esqueça de ajustar os eventos do Form1 no Object Inspector da seguinte maneira:

OnMouseDown: FormMouseDown
OnMouseMove: FormMouseMove
OnMouseUp: FormMouseUp

E se você tiver outros componentes no formulário que você deseja que permitem arrastar o formulário na tela ao clicar e arrastar o mouse neles (como um TPanel ou qualquer outro por exemplo), é só definir os eventos no Object Inspector da mesma forma que no formulário.

Se alguém não entender o que está escrito ou eu não tiver sido muito claro, é só me perguntar, ok?

In Topic: Como Arrastar E Soltar?

02/07/2004, 20:42

Agora eu descobri como, fazendo de outra forma.
Vou postar no tópico do tutorial a forma que eu descobri.

IPB Skin By Virteq