This occurs because the monitor has not been recognised as one able to offer the higher resolution. xrandr and its gui counterpart arandr can allow you to address these problems.
Type xrandr at the command line and you will get a list of resolution the system thinks your monitor can handle. I get something like this:
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 4096 x 4096
VGA1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
800x600 60.3 56.2
if the resolution is not present three steps are reuired.
First you will need to get the information required to create a command to allow you to set your new resolution. (Notice the VGA1? This is the name of the monitor...remember this for later) To do so use a command called cvt. e.g. in your case
cvt 1280 1024
I get something like this: -
$ cvt 1280 1024
# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
Then you have to create a new mode for xrandr using above information...Copy and paste (Control C and Control V) sometimes does not work. highlight and middle click seems to work better.
$xrandr --newmode "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
and then allow this resolution to be used by VGA1 (or whatever your monitor was called) using
$ xrandr --addmode VGA1 1280x1024_60.00
To start using this newly added mode...
$ xrandr --output VGA1 --mode 1280x1024_60.00
Your computer will now be in the required resolution. If this works then you can now think of incorporating this into xorg.conf. you can also make a start up script to have the same effect. Both are described in detail in this section