View Full Version : ligaçao entre forms [VB6]
estrafalhote 14-01-2007, 22:40 boas
alguém me sabe dizer como e que faço em VB6 para fazer a ligação entre forms através de command buttons
thanks:victory:
explica-te melhor...
keres abrir um formulário ao clicares num botão???
se for isso basta fazeres form2.open()
dp se kiseres passar algum parametro la para dentro, podes usar uma variavel global ou um event hendler
estrafalhote 15-01-2007, 08:25 a situação é a seguinte eu estou a fazer um programa de gestão de uma loja de informática, na qual existe um form principal onde constam as opções principais tipo produtos, clientes , etc...
e depois ao carregar no command button produtos quero que apareça um outro form com os produtos tipo processadores, memorias,etc....
ja agora ninguem sabe se da para fazer tipo um form global com as configuraçoes principais e todos os outros criados de seguida sigam esse exemplo porque estar sempre a fazer a mesma coisa para cada form é um pouco complicado
thanks...
tão fazes como eu te disso...
kd clicas no botão para abrir o form metes o código form2.open(), e fazes um select por exemplo do ID do producto k keres passar
dp guardas esse ID numa variavel global e usas-a no form k abriste...
para resolver esse teu problema... usas a função Inherits
ex: public class form2()
Inherits formfont
tão fazes como eu te disso...
kd clicas no botão para abrir o form metes o código form2.open(), e fazes um select por exemplo do ID do producto k keres passar
dp guardas esse ID numa variavel global e usas-a no form k abriste...
para resolver esse teu problema... usas a função Inherits
ex: public class form2()
Inherits formfont
em .net talvez seja verdade em vb6 não podes por inherits
como alternativa podes aceder a qualquer função/sub/variavel que tenha sido declarada como public e a qualquer objecto que tenhas colocada no design da form (botões, textbox, etc)
ex:
na form um podes fazer
dim FrmDocumento as FrmDoc 'novo objecto com o nome frmdocumento com base no FrmDoc
set frmdocumento as new frmdoc 'Cria uma nova instancia do objecto assim podes ter varias forms com base na frmdoc
frmdocumento.show 'abre a nova form para o utilizador a ver~
frmdocumento.Lerdados(TblCompras) ' estas a dar ordem para executar a sub lerdados declarada como public na frmdoc e a passar uma variavel
*************
esta parte é uma continuação da anterior e destina-se a guardades informação sobre o novo objecto (frmdocumento) de forma a poderes continuar a trabalhar com ele quando acabar a função/sub onde puses-te as linhas anteriores
private Frms as Collection 'nova colection para guardar as forms, isto normalmente convem ser colocado na form ou num modulo e não em uma sub
set frms = new collection 'mete isto no form_load é basicamente o criar do objecto frms como collection
'agora sim no seguimento do código anterior e colocado na mesma sub/func
frms.add(frmdocumento,"Doc de teste") 'estás a acrescentar a frmdocumento á collection e estás a dar-lhe o nome de "Doc de teste"
'daqui para a frente podes-te referir á frmdocumento em qualquer lugar/altura como sendo
frms("Doc de teste")
ex:
frm("Doc de teste").caption = "Teste" 'define o titulo da janela para "teste"
*************
para que a lerdados funcione a partir de outra form como foi demonstrado tens de a declarar na frmdoc da seguinte forma
PUBLIC sub lerdados(tbl as recordset) 'public indica que pode ser acedida de fora lerdados é o nome da sub (DUH) tbl é um parametro como qualquer outro (podias ter posto integer, string, etc)
flaviorodrigues 16-01-2007, 18:12 Form2.Show
ve se e isso que queres
estrafalhote 17-01-2007, 12:41 Form2.Show
ve se e isso que queres
ya era isso
brigadao ;)
flaviorodrigues 17-01-2007, 20:47 n tens de ke :)
sempre as ordens :)
estrafalhote 18-01-2007, 09:52 isto resolveu o meu problema só que eu quando clico no command button produtos abre o form produtos so que o form principal nao fecha. alguem me pode esplicar como fazer para que ao mesmo tempo que abre o form Produtos feche o form principal.
Podes fazer o seguinte:
form2.show
Unload form1 ou Unload Me
E para que ele reapareca faca o seguinte
insira um outro comando no form2 com os seguntes dados:
Caption=&Sair
Codigo:
Form1.Show
Unload Me ou Unload form2
estrafalhote 18-01-2007, 21:27 thanks again
sei que estou a tornar me chato mas estou agora a dar os primeiros passos em VB 6.0 como nao sei tenho de perguntar.
alguem sabe como fazer um menu com "orelhas" para escolher as opções tipo o menu de propriedades de sistema do windows XP.
acham que é muito dificil????
desculpem la outra vez :msmiley1:
flaviorodrigues 18-01-2007, 22:34 dises abas?
vais akela cena do lado eskerdo, ke tem os objectos, fazes add e na lista de componentes deves ter algo tipo
microssoft abas kualker cena sei que e algo assim parecido, senao procura por abas + vb6 no google que deves ter disso
Olha visite este site e veras muitos livros interessatissimos sobre VB6 passo a passo e outros mais.
www.apostilando.com (http://www.apostilando.com)
Outra coisinha: Sera que poderias especificar melhor a tua duvida?8|
estrafalhote 20-01-2007, 11:27 Olha visite este site e veras muitos livros interessatissimos sobre VB6 passo a passo e outros mais.
www.apostilando.com (http://www.apostilando.com)
Outra coisinha: Sera que poderias especificar melhor a tua duvida?8|
quanto ao site tem bons manuais só que tem um grave problema é em brasileiro, mas obrigado na mesma.
agora quanto á minha duvida em especifico, a situação é a seguinte: eu quero fazer um programa de gestao de uma loja, e para tal queria que no form principal ao carregar no command button Produtos queria que me aparecesse um outro form com um menu divido por abas, ou seja queria que os processadores aparecessem na primeira aba, as memorias na segunda e por ai fora....
flaviorodrigues 20-01-2007, 14:30 vais a componentes e poes o microsoft tabbed dialog control
depois poes este componente e tens as tais abas!
Facil e rapido!
estrafalhote 23-01-2007, 13:08 pronto cá estou eu outravez
mas encontrei um novo problema é que eu pus as tais abas só que qualquer coisa que eu adicione nessa respectiva aba aparece em todas as outras. será que dá para fazer com que os command buttons não apareçam nas outras abas???
thanks:x2:
Tens de ter a aba adequada seleccionada quando inserires um botão. Julgo que o que estás a fazer é inserir o botão no FORM e fica como "ontop", daí teres a ilusão de aparecer em todas as abas ;)
abraços, HecKel
flaviorodrigues 23-01-2007, 19:49 aumenta o tamanho das abas, e vais ver ke aparece um espaço pa pores la cenas tipo uma frame, depois passas de um po outro com a cena de options em cima
por acaso fikei a nora kuando testei pela 1º x mas dps la descobri e aumentei o tamanho de akilo e ja deu td bem
estrafalhote 23-01-2007, 21:20 aumenta o tamanho das abas, e vais ver ke aparece um espaço pa pores la cenas tipo uma frame, depois passas de um po outro com a cena de options em cima
por acaso fikei a nora kuando testei pela 1º x mas dps la descobri e aumentei o tamanho de akilo e ja deu td bem
agora quem ficou á nora fui eu aumentar o tamanho das abas como assim?
flaviorodrigues 24-01-2007, 20:56 http://img390.imageshack.us/img390/7933/untitled0hg.jpg
Espero que assim percebas e o tamanho do componente! ve la :)
estrafalhote 24-01-2007, 21:57 http://img390.imageshack.us/img390/7933/untitled0hg.jpg
Espero que assim percebas e o tamanho do componente! ve la :)
muito obrigado agora já percebi...
desculpem lá já não vos chateio mais............ só até á próxima dúvida
flaviorodrigues 25-01-2007, 18:56 ainda bem que percebeste :) e força tas a vontade pa colocar mais duvidas, tamos aqui e para partilhar conhecimentos e ajudar nos uns aos outros
|