Avatar billede kennethv Nybegynder
23. marts 2007 - 13:43 Der er 1 løsning

Flytning af forms

Jeg har i en tidligere sag http://www.eksperten.dk/spm/657116
spurgt til hvordan man kan gøre sådan at man ikke har mulighed for at flytte rundt på formen. Stone har vist mig en løsning i linket som vist og det ser også ud til at virke. Det eksempel der er med fungere også, men af en eller anden grund virker det ikke hvis du putter en komponent på formen så får man den fejl som jeg har beskrevet linket.

Er der nogen der kan sige mig hvad dælen der sker?

Det her er min kode, hvor jeg får en fejl:

unit CreateUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons;

type
  TCreateForm = class(TForm)
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Panel2: TPanel;
    Label19: TLabel;
    Label1: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Bevel1: TBevel;
    Edit1: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    ComboBox1: TComboBox;
    RadioGroup1: TRadioGroup;
    GroupBox2: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
  public
    { Public declarations }
  end;

var
  CreateForm: TCreateForm;

implementation

{$R *.dfm}

procedure TCreateForm.WMNCHitTest(var Message: TWMNCHitTest);
begin
  inherited;

  with Message do
  begin
    if Result = HTCAPTION then
      Result := HTNOWHERE;  <----- Her er fejlen.
  end;
end;

procedure TCreateForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TCreateForm.FormDestroy(Sender: TObject);
begin
  CreateForm := nil;
end;

end.
Avatar billede a_nor Nybegynder
24. marts 2007 - 12:59 #1
Dit problem er at HTNOWHERE redefineres i ComCtrl-Unit, så du skal
tilføje Windows foran navnet. Så bliver linien:

result := windows.htnowhere;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester