So, ok here is my code. Everybody copy it and run project and see the flickering please. Why does it flicker? How can I avoid flickering ? Does backbuffer work or what is the problem?
Please add DXDraw, DXTimer and DXInput to your form and make DXTimer1.Interval := 0 and DXTimer1.Enabled := False;
[pascal]
************************************************** **********
var
Form1: TForm1;
MySurface: TDirectDrawSurface; // my image's surface
LeftRight, PointX, PointY: word;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
DXDraw1.Options := DXDraw1.Options + [DoFullScreen];
DXDraw1.Display.Width := 1024;
DXDraw1.Display.Height := 768;
DXDraw1.Width := 800;
DXDraw1.Height := 600;
end;

procedure TForm1.DXDraw1Initialize(Sender: TObject);
begin
MySurface := TDirectDrawSurface.Create(DXDraw1.DDraw);
MySurface.LoadFromFile(extractfilepath(paramstr(0) )+'your favourite 100 * 75 bmp file');
DXTimer1.Enabled := True;
end;

procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
DXInput1.Update;
if isleft in DXInput1.States then
Dec(LeftRight, 1);
if isRight in DXInput1.States then
Inc(LeftRight, 1);
PointX := Form1.ClientOrigin.X + DXDraw1.Left + LeftRight;
PointY := Form1.ClientOrigin.Y + DXDraw1.Top;
DXDraw1.Primary.StretchDraw(Rect(PointX, PointY, PointX + DXDraw1.Width, PointY + DXDraw1.Height), MySurface.ClientRect, MySurface,False);
end;

procedure TForm1.DXDraw1Finalize(Sender: TObject);
begin
MySurface.Free;
end;
end.

************************************************** **********
[/pascal]

Note: Hi, I'm Poseidon and I'm sending this message from my friend's computer and I've used anubis79 nickname and a new topic. Sorry...

[edit by BlueCat - [ pascal ] tags are so useful ]