Pra quem quiser usar este e qualquer outro recurso no popup, segue a solução.

 

Numa nova aplicação, criem dois forms. Vá ao primeiro form, clique com o botão 
direito, escolha "view as text" e aí cole o código abaixo:

 

object Form1: TForm1

  Left = 272

  Top = 287

  Width = 409

  Height = 214

  Caption = 'Form1'

  Color = clBtnFace

  Font.Charset = DEFAULT_CHARSET

  Font.Color = clWindowText

  Font.Height = -11

  Font.Name = 'MS Sans Serif'

  Font.Style = []

  OldCreateOrder = False

  PopupMenu = PopupMenu1

  PixelsPerInch = 96

  TextHeight = 13

  object PopupMenu1: TPopupMenu

    OnPopup = PopupMenu1Popup

    Left = 96

    Top = 72

  end

end

 

Clique com o botão direito, escolha "view as form" para voltar ao normal.

 

Repita todo o processo com o segundo form. Segue o código:

 

object Form2: TForm2

  Left = 320

  Top = 238

  AutoSize = True

  BorderIcons = []

  BorderStyle = bsNone

  Caption = 'Form2'

  ClientHeight = 75

  ClientWidth = 115

  Color = clBtnFace

  Font.Charset = DEFAULT_CHARSET

  Font.Color = clWindowText

  Font.Height = -11

  Font.Name = 'MS Sans Serif'

  Font.Style = []

  KeyPreview = True

  OldCreateOrder = False

  OnDeactivate = FormDeactivate

  OnKeyDown = FormKeyDown

  PixelsPerInch = 96

  TextHeight = 13

  object Panel1: TPanel

    Left = 0

    Top = 0

    Width = 113

    Height = 75

    BevelInner = bvRaised

    TabOrder = 0

    object Bevel1: TBevel

      Left = 0

      Top = 51

      Width = 112

      Height = 2

    end

    object MaskEdit1: TMaskEdit

      Left = 54

      Top = 7

      Width = 47

      Height = 15

      BorderStyle = bsNone

      EditMask = '!90:00;1;_'

      MaxLength = 5

      TabOrder = 0

      Text = '  :  '

    end

    object MaskEdit2: TMaskEdit

      Left = 54

      Top = 29

      Width = 47

      Height = 14

      BorderStyle = bsNone

      EditMask = '!90:00;1;_'

      MaxLength = 5

      TabOrder = 1

      Text = '  :  '

    end

    object StaticText1: TStaticText

      Left = 37

      Top = 56

      Width = 37

      Height = 17

      Alignment = taCenter

      Caption = 'Fechar'

      Color = clBtnFace

      ParentColor = False

      TabOrder = 2

      OnClick = StaticText1Click

    end

    object StaticText2: TStaticText

      Left = 9

      Top = 8

      Width = 24

      Height = 17

      Caption = 'Liga'

      TabOrder = 3

    end

    object StaticText3: TStaticText

      Left = 9

      Top = 29

      Width = 39

      Height = 17

      Caption = 'Desliga'

      TabOrder = 4

    end

  end

end

 

Agora seguem os códigos das duas Units:

 

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Menus;

 

type

  TForm1 = class(TForm)

    PopupMenu1: TPopupMenu;

    procedure PopupMenu1Popup(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

uses Unit2;

 

{$R *.dfm}

 

procedure TForm1.PopupMenu1Popup(Sender: TObject);

begin

  Form2.Top:= Mouse.CursorPos.Y;

  Form2.Left:= Mouse.CursorPos.X;

  Form2.Show;

  Form2.MaskEdit1.SetFocus;

end;

 

end.

 

 

unit Unit2;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls, Mask;

 

type

  TForm2 = class(TForm)

    Panel1: TPanel;

    StaticText1: TStaticText;

    MaskEdit1: TMaskEdit;

    MaskEdit2: TMaskEdit;

    StaticText2: TStaticText;

    StaticText3: TStaticText;

    Bevel1: TBevel;

    procedure FormKeyDown(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure FormDeactivate(Sender: TObject);

    procedure StaticText1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form2: TForm2;

 

implementation

 

{$R *.dfm}

 

procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  If Key = 13 Then Begin

    If MaskEdit1.Focused Then

      Form2.MaskEdit2.SetFocus

    Else

      Close;

  End;

end;

 

procedure TForm2.FormDeactivate(Sender: TObject);

begin

  Close;

end;

 

procedure TForm2.StaticText1Click(Sender: TObject);

begin

  Close;

end;

 

end.

 

 

Usem e abusem.

 

Márcio. 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 




Responder a