Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Перетаскивание формы за её поверхность


Автор: Addmin 27.6.2006, 18:08
Здравствуйте!

Применил для одной из форм моего проекта возможность перетаскивания за форму. Все компоненты разместил на картинке-background'е. На эту картинку поместил ещё одну картинку, отвечающую за закрытие формы. Но! Когда я жму на эту картинку, окошко просто не хочет закрываться! Вот исходник окна:


Код

unit monitor;

interface

uses
   SysUtils, WinTypes, WinProcs,  Messages,
  Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ImgList,
  ExtCtrls;


type
  TForm3 = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label10: TLabel;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Label12: TLabel;
    Label7: TLabel;
    procedure Image2Click(Sender: TObject);
  private
     procedure WMNCHitTest(var M: TWMNCHitTest); 
                 message wm_NCHitTest;

  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.WMNCHitTest(var M: TWMNCHitTest);
begin
  inherited;
  if M.Result = htClient then
    M.Result := htCaption;
end;

end.


Я пробовал разобраться с этим так:

Код

procedure TForm3.Image2Click(Sender: TObject);
 var M: TWMNCHitTest;
begin
  inherited;
  if M.Result = htCaption then // если форма перетаскивается, то...
    M.Result := htClient; //делаем её неперетаскиваемой и...
 Form3.Close;//закрываем программу
end;


Однако программа также не реагирует! Правда, при помещении на форму кнопки, окошко закрывается, но это очень нежелательно - портит внешний вид. Пожалуйста, помогите.

Заранее спасибо за помощь! 

Автор: z-END 27.6.2006, 19:44
помести картинку на TPanel 

Автор: Addmin 28.6.2006, 07:56
Спасибо, z-END! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)