Einzelnen Beitrag anzeigen

Oliver1983

Registriert seit: 8. Mär 2006
Ort: Hamburg
43 Beiträge
 
Delphi XE Starter
 
#10
  Alt 30. Mär 2008, 16:54
Zitat von APP:
Ja.


1. Form1
2. Button1 draufkleben
3. Code...
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

  type
  TNoVScrolllistbox = Class( TListBox )
  private
    procedure WMNCCalcSize( var msg: TMessage ); message WM_NCCALCSIZE;
  end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  ListBox2: TNoVScrolllistbox;

implementation

{$R *.DFM}
procedure TNoVScrolllistbox.WMNCCalcSize(var msg: TMessage);
var
  style: Integer;
begin
  style := GetWindowLong( handle, GWL_STYLE );
  if (style and WS_VSCROLL) <> 0 then
    SetWindowLong( handle, GWL_STYLE, style and not WS_VSCROLL );
  inherited;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  listbox2.Items.add('asfkljhasuilfhfuih fuihawiuh waeuifhw');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListBox2 := TNoVScrolllistbox.create(self);
  Listbox2.SetParent(Form1);
end;

end.
20 x Button 1 drücken, dann siehst Du es (oder eben nicht ).

funktioniert super aber wie kann ich es an einer listbox anwenden die schon auf der form ist und nicht zur laufzeit erzeugt wird?

Hat sich erledigt

mfg olli
Oliver
  Mit Zitat antworten Zitat