TheMaker 0 Denunciar post Postado Fevereiro 2, 2005 Oi pessoal...Como fazer p/ q uma aplicação esteja sempre no topo..por cima dos outros programas? Compartilhar este post Link para o post Compartilhar em outros sites
Massuda 0 Denunciar post Postado Fevereiro 2, 2005 Inclua o seguinte no evento OnCreate do seu form principal: SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE) Compartilhar este post Link para o post Compartilhar em outros sites
Aroldo Zanela 0 Denunciar post Postado Fevereiro 2, 2005 Colega,Mude a propriedade FormStyle para fsStayOnTop. Compartilhar este post Link para o post Compartilhar em outros sites
TheMaker 0 Denunciar post Postado Fevereiro 2, 2005 Valeu Massuda!!! Funciona perfeitamente... obrigado! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
Aroldo Zanela 0 Denunciar post Postado Fevereiro 2, 2005 Colegas, Só para constar para uso futuro que, a resposta minha é do colega Massuda estão corretas. Quando se altera o valor da propriedade FormStyle para fsStayOnTop, no momento da criação do form é verificado o valor dessa propriedade e se estiver fsStayOnTop é utilizada a chamada postada pelo Massuda. Vejam a implementação: case FormStyle of fsMDIForm: begin with ClientCreateStruct do begin idFirstChild := $FF00; hWindowMenu := 0; if FWindowMenu <> nil then hWindowMenu := FWindowMenu.Handle; end; FClientHandle := Windows.CreateWindowEx(WS_EX_CLIENTEDGE, 'MDICLIENT', nil, WS_CHILD or WS_VISIBLE or WS_GROUP or WS_TABSTOP or WS_CLIPCHILDREN or WS_HSCROLL or WS_VSCROLL or WS_CLIPSIBLINGS or MDIS_ALLCHILDSTYLES, 0, 0, ClientWidth, ClientHeight, Handle, 0, HInstance, @ClientCreateStruct); FClientInstance := Classes.MakeObjectInstance(ClientWndProc); FDefClientProc := Pointer(GetWindowLong(FClientHandle, GWL_WNDPROC)); SetWindowLong(FClientHandle, GWL_WNDPROC, Longint(FClientInstance)); end; fsStayOnTop: // aqui SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE); end; Compartilhar este post Link para o post Compartilhar em outros sites
Massuda 0 Denunciar post Postado Fevereiro 2, 2005 Só para constar para uso futuro que, a resposta minha é do colega Massuda estão corretas...E a solução do Zanela é bem mais elegante que a minha http://forum.imasters.com.br/public/style_emoticons/default/clap.gif . Eu achava que não era equivalente... aprendi uma nova hoje. Compartilhar este post Link para o post Compartilhar em outros sites