Avatar billede devil666 Nybegynder
19. marts 2004 - 11:32 Der er 1 kommentar og
1 løsning

Problem med Form1->Visible = false; under start

vi har et problem med vores program!!! Vi arbejder i Builder 6

Når det starter skal Form2->Visible = true; og form1->Visible = false;

hvordan gøres dette??

Vi har prøvet at sætte koden ind under OnShow på Form1 men så kommer Builder 6 og siger at man ikke kan gøre Form1-Visible = false; når programmet starter?

Nogle der har en løsning. ved at man kan gøre det med en timer, men der må da være en anden måde at gøre det på?
Avatar billede webshortcut Nybegynder
19. marts 2004 - 17:16 #1
i kan gøre det ved i Project1.cpp filen (jeres app navn istedet for project1) at bytte om på disse linier

som det ser ud normalt

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                Application->Initialize();
                Application->CreateForm(__classid(TForm1), &Form1);
                Application->CreateForm(__classid(TForm2), &Form2);

                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        return 0;
}

Som i skal rette det til så opnå i det i vil

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                Application->Initialize();
                Application->CreateForm(__classid(TForm2), &Form2);
                Application->CreateForm(__classid(TForm1), &Form1);

                Application->Run();
        }
        catch (Exception &exception)
        {
                Application->ShowException(&exception);
        }
        return 0;
}
Avatar billede coldplay Nybegynder
21. marts 2004 - 20:35 #2
Koden her starter FORM 1, der minimere sig selv og åbner FORM 2. Når Form 2 lukkes (modal), genskabes FORM 1 til normal størrelse. Der skal tilføjes en OnClose event handler til Form2 for at håndtere lukning af denne på anden vis end klik på "Luk FORM 2":

Form1.ccp
---------

#include <vcl\vcl.h>
#pragma hdrstop

#include "form1.h"
#include "form2.h"

#pragma resource "*.dfm"
TForm1 *Form1;
TForm2 *Form2;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TForm2 *Form2 = new TForm2(Application, 0);
    Form1->WindowState = wsMinimized;
    Form2->ShowModal();
    delete Form2;
}

Form2.ccp
---------

#include <vcl\vcl.h>
#pragma hdrstop

#include "form2.h"
#include "form1.h"

__fastcall TForm2::TForm2(TComponent *Owner, int count) : TForm(Owner, 0)
{
    ExitForm2 = new TButton(this);
    ExitForm2->Parent = this;
    ExitForm2->OnClick = ExitForm2Click;
    ExitForm2->Caption = "Luk FORM 2";
}
void __fastcall TForm2::ExitForm2Click(TObject *Sender)
{
    Form1->WindowState = wsNormal;
    Close();
}

Form2.h
-------

#ifndef Unit2H
#define Unit2H

class TForm2 : public TForm
{
    private:
        TButton *ExitForm2;
        void __fastcall ExitForm2Click(TObject *Sender);
    public:
        virtual __fastcall TForm2(TComponent *Owner, int count);
};

#endif
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester