То есть как? Отлавливаешь WM_DISPLAYCHANGE, в зависимости от разрешения меняешь положение...
Простой пример:
Код:
...
type TForm1 = ...
procedure DisplayResChange(var Message : TMessage); message WM_DISPLAYCHANGE;
...
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
Left := Screen.Width - Width - 1;
Top := 0;
end;
procedure TForm1.DisplayResChange(var Message : TMessage);
var NewWidth, NewHeight : Word;
begin
NewWidth := Message.LParamLo;
NewHeight := Message.LParamHi;
Left := NewWidth - Width - 1;
Top := 0;
inherited;
end;
При создании окно переносится в правый верхний угол. При изменении разрешения экрана - смещается на нужное место.