Fórum Abrindo Programas quot;dentroquot; do Meu #316968

21/03/2006

0

Amigos desenvolvedores,

Me fizeram essa pergunta lá no trabalho hoje e eu sinceramente não soube responderse é possível tal coisa então recorro à sapiência dos camaradas de profissão:

Digamos que eu tenho uma janela simples com três botões:
BTOutlook; BTExcel e BTPhotoShop

e ao clicar nesses botões, quero ´abrir os programas DENTRO da minha janela´, não modal, mas como se fossem forms semples que eu abro em uma ScrollBox, por exemplo...

Primeiro achei que seria impossível, depois imaginei que o OLEObject pudesse ajudar em alguma coisa, anyway... a pergunta me foi feita no fim do dia e ainda não parei para pensar muito a respeito, mas já imaginei o que o cara quer... uma janela única, com todos os sistemas que ele quiser abrir e só o que ele queré trocar as abas... como no IExplorer 7... (acho que ele pegou o beta tb e goutou do que viu !!!!)

Então amigos... alguma opinião a respeito !!??

Abraços :wink:


Paulocesar1301

Paulocesar1301

Responder

Posts

23/03/2006

Paulocesar1301

Alguma idéia ?
:cry: :cry: :cry:


Responder

Gostei + 0

23/03/2006

Paullsoftware

da uma olhada nesse tópico..
[url]http://forum.clubedelphi.net/viewtopic.php?t=75079&highlight=calculadora[/url]


Responder

Gostei + 0

23/03/2006

Paulocesar1301

Vlw pela resposta paull, mas não é exatamente isso que querem...

Eles imaginam um IE7 para sistemas:
Abre-se o programa dentro de uma ´Aba´ como se fosse um Form.

No exeplo do tópico eu abro programa ´a partir do meu´ e não ´dentro do meu´

Imagine uma janela onde você tem 2 abas... uma com o CorelDRAW! ´dentro dela´, outra com o Outlook ´dentro´.

Mesmo assim obrigado


Responder

Gostei + 0

23/03/2006

Adriano Santos

Eu acredito que seja possível, mas é só uma opnião; Acredito que outros camaradas devem saber isso. Por curiosidade apenas, você pode abrir janelas do seu sistema dentro de um determinado objeto, veja o exemplo que abre o Form2 da minha aplicação dentro de um Panel.

procedure TForm1.Button1Click(Sender: TObject);
begin
   Form2 := TForm2.Create(Application);
   Form2.Parent := Panel1;
   Form2.Show;
end;



Responder

Gostei + 0

23/03/2006

Paulocesar1301

Foi exatamente o que eu pensei em um dado momento... trabalhar como se fosse um Form... mas ainda não consegui tal feito !!


Responder

Gostei + 0

24/03/2006

Alves

Um colega aqui do forum uma vez me passou um codigo que abre um um execuvel dentro do form. Não sei se é isso q vc quer, mas alvez se fizer alguma alteração talvez consiga o q quer.
Código: 

unit Unit1; 

interface 

uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls 
; 

type 
  TForm1 = class(TForm) 
    Button1: TButton; 
    Lista: TListBox; 
    Button2: TButton; 
    Edit1: TEdit; 
    procedure Button2Click(Sender: TObject); 
    procedure Button1Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 

var 
  Form1: TForm1; 

implementation 

{$R *.dfm} 
procedure LIstApp; 

const 
MAX_WINDOW = 16364; 
var 
I      : Integer; 
Caption: Array[0..255]Of Char; 
//Lista  : TStringList; 
begin 
//Lista:=TStringList.Create; 
//Lista.Sorted:=True; 
For I:=1 To MAX_WINDOW Do 
Begin 
If((GetWindowText(I,Caption,255)<>0)And (GetWindowLong(I,GWL_EXSTYLE)<>0)And 
(GetWindowLong(I,GWL_HWNDPARENT)=0)And (GetWindowLong(I,GWL_HINSTANCE)<>0))Then 
If(IsWindowVisible(I))Then 
form1.Lista.Items.Add(inttostr(i) + ´ ´  + caption); 
end; 
end; 



procedure TForm1.Button2Click(Sender: TObject); 
begin 
lista.Clear; 
listapp; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
windows.SetParent(strtoint(edit1.text),form1.handle); 
end; 

end. 
 

 
The WinExec function runs the specified application 
This function is provided for compatibility with earlier versions of Windows. For Win32-based applications, use the CreateProcess function. 


The CreateProcess function creates a new process and its primary thread. The new process executes the specified executable file.
 
 



Responder

Gostei + 0

24/03/2006

Adriano Santos

[b:c580a3af58]Alves[/b:c580a3af58] perfeito cara, eu fiz o teste aqui e deu tudo certo.


Responder

Gostei + 0

24/03/2006

Paulocesar1301

Brow...
Tú és bom demais !!!!!!

Pensei que não fosse possível isso!!!! BRIGADÃO !!!!!!
Depois daquela história de quanto vale a hora do programador... acho que tô te devendo !!! :lol:

Vlw mesmo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar