ich möchte gerne die Eingabe von Uhrzeiten in meiner Software so gestalten, das es sich so "anfühlt" wie auf einem IPhone. Hintergrund ist die intuitive gute Eingabe und die
Endanwender sind im Umgang mit der Eingabe vertraut. Dazu habe ich mir nun die Listbox ausgesucht, da diese sich mit dem Mausrad scrollen lässt.
Nun stört dabei aber der automatische Scrollbalken auf der rechten Seite. Ich habe versucht eine neue Komponente auf Basis der TListbox zu erstellen, bei der "WS_VScroll" ausgeschaltet ist.
Nur leider bleibt die Scrollbar weiterhin sichtbar.
Anbei der Quellcode.
Code: Alles auswählen
unit listboxjr;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
LCLType;
type
TListBoxJR = class(TListBox)
private
{ Private declarations }
protected
{ Protected declarations }
procedure CreateParams(var Params:TCreateParams); override;
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure TListBoxJR.CreateParams (var Params:TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := Params.Style and not WS_VSCROLL;
// with Params do
// Style:= Style and not (WS_VSCROLL or WS_HSCROLL);
// Style:= Style and not WS_HSCROLL;
// Style:= Style and not WS_VSCROLL;
end;
procedure Register;
begin
RegisterComponents('JRTools',[TListBoxJR]);
end;
END.
Wer kann helfen???

Gruß Cargo_03