Newsgroup: it.comp.lang.delphi
Titolo: Form sempre in primo piano non va

Ho trovato questi due metodi ma puntalmente lancio word e mi 
perde il primo piano! :-( :-(
Ho provato nell'oncreate a richiamare questa funzione ma non 
fa nulla cioe' fa uguale...
procedure TForm1.OnTop(Form: TForm; const ShowOnTop: Boolean);
var
    Where: HWnd;
begin
    if ShowOnTop then
       Where := HWND_TOPMOST
    else
       Where := HWND_NOTOPMOST;
    SetWindowPos(Form.Handle, Where, 0, 0, 0, 0,
      SWP_NOACTIVATE or SWP_NOMOVE or
      SWP_NOSIZE or SWP_NOSENDCHANGING);
end;
Ho provato a mettere lo stile alla form *fsStayOnTop*
Ma va ogni tanto si ogni tanto no :-(
non ho parole! Creo la form1 poi creo un ole che apre word e 
poi mando in showmodal la form1 che invece di rimanere 
sempre in primo piano ogni tanto rimane ogni tanto no...
Ora come faccio?

 perde il primo piano! :-( :-(
lo lanci COME?
A.


procedure TAnaDocumenti.SpeedButton1Click(Sender: TObject);
var
   WordPanel:TWordpanel;
begin
   Self.Hide;
   WordPanel:=TWordpanel.Create(Self,'');
 
SetWindowPos(WordPanel.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE);
  WordPanel.ShowModal;
  // WordPanel.BringToFront;
end;
Da una form padre lancio un altra form che nel create fa 
cosi... lasciam perdere filename :-D
cmq non va non mi sta in top senza manco word! :-D
constructor TWordPanel.Create(AOwner: TComponent; 
fileName:AnsiString);
begin
   inherited Create(AOwner);
   if fileName='' then
   begin
     FWord:=CreateOLEObject('Word.Application');
     FWord.Visible:=True;
     FWord.Documents.Add();
     //ho provato a riforzarlo anche qui ma non va!! :-( :-(
     SetWindowPos(Handle, // handle to window
               HWND_TOPMOST, // placement-order handle
               Left,  // horizontal position
               Top,   // vertical position
               Width,
               Height,
               // window-positioning options
               SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
   end;
end;
help!!!
Oltretutto cosi' oltre a non metterlo in primo piano me lo 
disattiva!! :-( :-(

 cmq non va non mi sta in top senza manco word! :-D
volevo dire sto facendo dei test solo per far stare on front 
una finestra anche senza word pero' non mi rimane mi sa che 
sbaglio i flags! vorrei che si comportasse come il task 
manager di win! :-(


porca trota
sbagliavo a dargli l'Handle gli davo quello della form 
invece con quello dell'application funziona!!!! :-D
SetWindowPos(Application.Handle, HWND_TOPMOST, 0, 0, 0, 0, 
SWP_NOMOVE Or SWP_NOSIZE)
Ciaooo & grazie!

 SWP_NOSIZE)
lol non va! cioe' nell'eseguibile di prova funziona nel 
programma dove devo andare a implementare l'api non va! :-(


forse ce lo fatta il problema era che settavo a invisible la 
form padre e quindi non andava :-(
quindi siccome a me la form padre non serviva perche' 
occupava spazio gli ho settato top=-5000 e cosi' tutto 
funziona... -_-

 ha scritto nel messaggio 
news:473c9092$0$36450$4faf...@reader5.news.tin.it...

Hai provato con la proprieta' "FormStyle:=fsStayOnTop"?
Giorgio 

 Hai provato con la proprieta' "FormStyle:=fsStayOnTop"?
si ho provato,pero' da quanto ho capito quella proprieta' 
vale stayontop nell'application a me serve che vada sopra 
anche alle applicazioni esterne -->word o no?