Ive followed as closely as i can forgive me but i have to start somewhere. 
Nah that is good. At least you took the courage to actually do it

Something indeed went wrong there. In the end your code in the code editor should exactly look like the code that I posted in my message.
The 'problem' that is probably most confusing when not being familiar is that when you visually design a form that methods (such as TForm1.create) need to be 'linked' inside you form definition file so that the code-editor and the (visual) form are linked together. A lot of technical mumble that might not ring a bell for you but that doesn't matter much at this early stage (you are still learning). But please do note that there is a (invisible) relation/link between the code-editor and your form.
That is reason why I tried to only generate one single event for your first attempt using the form designer. That way only one thing can go wrong (and it did go wrong)

Because I do not know if the link between code-editor and form definition went ok, I think it is best to start from scratch.
- Create a new application project
the source-code in the editor should look like:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs;
type
TForm1 = class(TForm)
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
end.
- add the components as you did previous (paintbox, togglebox, timer)
Then the source in the code-editor should look like:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
ToggleBox1: TToggleBox;
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
end.
- on the form editor on the form itself double click so that the Form.Create event is created inside your code-editor.
the code should look like:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
ToggleBox1: TToggleBox;
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
end.
And the code-editor should have the cursor located between the begin and end parts of that event implementation....
Now move the cursor over to the type definition of the class at the private declaration and copy paste so that your code looks like:
(we are adding by means of copy-paste the 3 procedures (methods) named PaintBox1Paint, Timer1Timer and ToggleBox1Change)
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
ToggleBox1: TToggleBox;
procedure FormCreate(Sender: TObject);
private
procedure PaintBox1Paint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ToggleBox1Change(Sender: TObject);
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
end.
If you copy-paste the cursor is probably located at the end of the toggleboxchange method. Now press ctrl+shift+c.
Code:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
ToggleBox1: TToggleBox;
procedure FormCreate(Sender: TObject);
private
procedure PaintBox1Paint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ToggleBox1Change(Sender: TObject);
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
end;
procedure TForm1.ToggleBox1Change(Sender: TObject);
begin
end;
end.
- now you can copy paste the actual implementations from my example so that it looks the same as the example from my previous post (the order in which the implementated methods appear might be different but that doesn't matter, you can order them any way you want as long as they are located in the implementation section.
Does that help ?