Waarom kan ik in delphi 6 form1 niet visible:=false en form2 visible:=true zetten? Want form 1 is evengoed nog zichtbaar.
Laat anders eens een stuk code ervan zien, misschien zit ergens iets fout, wat ik heb vaker dit gewoon gebruikt in delphi 4 & 5, ik kan me niet voorstellen dat ze dat ineens gaan veranderen.
Bikkelen gebeurt pas na 2:00
Verwijderd
Is form1 misschien een modal form ? Je kan geen nonmodal form als child van een modal form tonen.
Misschien moet je het proberen met de show() method (of iets in die aard, ik ben meer bekend met VB
)
Misschien moet je het proberen met de show() method (of iets in die aard, ik ben meer bekend met VB
met standaart en kaal from 1 en ik maaknog een form2 aan form1 visible zet ik op false en form 2 op true laat hij nog steeds beide zien.
Verwijderd
ah dus het probleem is niet dat form2 niet getoond wordt, maar wel dat form1 zichtbaar blijft.
Waar staat de code om die forms te showen/hiden ? in een form of ergens in een module ?
Waar staat de code om die forms te showen/hiden ? in een form of ergens in een module ?
zet je hem gewoon op false met code of "click" je het aan, heb je al es gekeken als je het met code doet of je het form hebt opgenomen in je uses, tenminste als je hem van het andere form aanroept
Bikkelen gebeurt pas na 2:00
Form1.Visible := False;
Form2.Visible := True;
en zet voor de zekerheid Form1.Enabled ook op false
Form2.Visible := True;
en zet voor de zekerheid Form1.Enabled ook op false
AlphaESS 10+6kW + 23kWh batterij || 64x 500Wp PV || '23 MY LR || LG R290 16kW WP
Verwijderd
Een klein ideetje misschien maar ik heb deze oplossing er eens voor bedacht:
En mocht de windows titelbalk in de weg zitten, sloop je die er gewoon even af. Als de form weer zichtbaar moet worden zet je hem er weer op.
NOTE:
Even opletten met de hoogte waarden
code:
1
2
| AlphaBlend := true; AlphaBlendValue := 0; |
En mocht de windows titelbalk in de weg zitten, sloop je die er gewoon even af. Als de form weer zichtbaar moet worden zet je hem er weer op.
NOTE:
Even opletten met de hoogte waarden
En niet vergeten dat dit alleen onder windows 2000 en XP werkt.Verwijderd schreef op 13 maart 2003 @ 18:08:
Een klein ideetje misschien maar ik heb deze oplossing er eens voor bedacht:
code:
1 2 AlphaBlend := true; AlphaBlendValue := 0;
En mocht de windows titelbalk in de weg zitten, sloop je die er gewoon evenaf. Als de form weer zichtbaar moet worden zet je hem er weer op.
NOTE:
Even opletten met de hoogte waarden
Je zou eens kunnen proberen om eerst form2 te tonen voordat je form1 wilt verbergen. Mocht dat nou echt niet lukken (wat me sterk lijkt) dan kan je altijd nog een TPageControl op een form zetten en hier wat tabbladen opzetten en de tabs verbergen om zo een wizard achtig iets te maken.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
jongens jongens jongens... !!!
Ook al staat alphablend op 0, dan nog bestaat het scherm en kun je dus op knoppen en menu's klikken! Maar dan zonder het te weten!!
Ik heb het idee dat het niks anders is dan het feit dat form1 gezien wordt als hoofdform van je app en je deze daardoor niet op visible = false kunt zetten. Ik check het even...
[check-edit]
Inderdaad. als Form1 bij de projecteigenschappen ingesteld staat als 'MainForm' blijft deze zichtbaar, ook als je visible op true zet.
Wat is precies de reden dat je form1 niet visible wil hebben? Wellicht zijn er andere oplossingen voor dan deze.
Je kunt het gewoon met form1.hide doen, dan is form1 wel weg. Hou er alleen wel rekening mee dat form1 het hoofdscherm van je app is, en dus dat die gesloten moet worden om de applicatie te sluiten. Als je daar niet voor zorgt is je app niet gesloten met het sluiten van Form2!!!
[/check-edit]
Ook al staat alphablend op 0, dan nog bestaat het scherm en kun je dus op knoppen en menu's klikken! Maar dan zonder het te weten!!
Ik heb het idee dat het niks anders is dan het feit dat form1 gezien wordt als hoofdform van je app en je deze daardoor niet op visible = false kunt zetten. Ik check het even...
[check-edit]
Inderdaad. als Form1 bij de projecteigenschappen ingesteld staat als 'MainForm' blijft deze zichtbaar, ook als je visible op true zet.
Wat is precies de reden dat je form1 niet visible wil hebben? Wellicht zijn er andere oplossingen voor dan deze.
Je kunt het gewoon met form1.hide doen, dan is form1 wel weg. Hou er alleen wel rekening mee dat form1 het hoofdscherm van je app is, en dus dat die gesloten moet worden om de applicatie te sluiten. Als je daar niet voor zorgt is je app niet gesloten met het sluiten van Form2!!!
[/check-edit]
[ Voor 48% gewijzigd door OZ-Gump op 13-03-2003 18:43 . Reden: ff checke.... ]
Dit kan zonder problemen hoor.. Vanmiddag nog gedaan in Delphi 6. Maar ik toonde eerst het tweede form voordat ik het eerst weghaalde.OZ-Gump schreef op 13 March 2003 @ 18:34:
Ik heb het idee dat het niks anders is dan het feit dat form1 gezien wordt als hoofdform van je app en je deze daardoor niet op visible = false kunt zetten. Ik check het even...
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Misschien doet de TS dat niet...? Kijk verder maar eens naar de post hierboven...Creepy schreef op 13 maart 2003 @ 18:38:
[...]
Dit kan zonder problemen hoor.. Vanmiddag nog gedaan in Delphi 6. Maar ik toonde eerst het tweede form voordat ik het eerst weghaalde.
Ik denk overigens dat de TS het alleen in de object inspector van Delphi geprobeerd heeft en niet met code o.i.d..
thanks kzal deze eens gaan proberen het komt eigenlijk dat ik een best groot uitgebreid programma heb gemaakt dat op form1 staat en ik wil niet alles gaan overplaatsen. form1 wordt gewoon weer zicht baar na form2 gesloten isOZ-Gump schreef op 13 maart 2003 @ 18:34:
jongens jongens jongens... !!!
Ook al staat alphablend op 0, dan nog bestaat het scherm en kun je dus op knoppen en menu's klikken! Maar dan zonder het te weten!!
Ik heb het idee dat het niks anders is dan het feit dat form1 gezien wordt als hoofdform van je app en je deze daardoor niet op visible = false kunt zetten. Ik check het even...
[check-edit]
Inderdaad. als Form1 bij de projecteigenschappen ingesteld staat als 'MainForm' blijft deze zichtbaar, ook als je visible op true zet.
Wat is precies de reden dat je form1 niet visible wil hebben? Wellicht zijn er andere oplossingen voor dan deze.
Je kunt het gewoon met form1.hide doen, dan is form1 wel weg. Hou er alleen wel rekening mee dat form1 het hoofdscherm van je app is, en dus dat die gesloten moet worden om de applicatie te sluiten. Als je daar niet voor zorgt is je app niet gesloten met het sluiten van Form2!!!
[/check-edit]
procedure TForm2.FormCreate(Sender: TObject);
begin
form1.hide:=true;
end;
lukt niet waarom niet?
procedure TForm1.FormCreate(Sender: TObject);
hide;
end;
Doet het niet krijg form1 nog gewoon te zien.
begin
form1.hide:=true;
end;
lukt niet waarom niet?
procedure TForm1.FormCreate(Sender: TObject);
hide;
end;
Doet het niet krijg form1 nog gewoon te zien.
[ Voor 36% gewijzigd door mitchel op 13-03-2003 20:16 ]
Wat wil je nu dan?mitchel schreef op 13 maart 2003 @ 20:15:
procedure TForm2.FormCreate(Sender: TObject);
begin
form1.hide:=true;
end;
lukt niet waarom niet?
procedure TForm1.FormCreate(Sender: TObject);
hide;
end;
Doet het niet krijg form1 nog gewoon te zien.
Wil je vanuit form1, form2 tonen?
Dan doe je ergens vanuit een stuk code op form1
code:
1
2
| form2.show; hide; |
Als je de .show vervangt door .showmodal dan zal form1 ook nog zichtbaar zijn. maar niet te gebruiken voordat form2 verdwenen is.
Wil je opstarten met form2 i.p.v. form1? Open dan de .dpr file en zet de create van form2 voor die van form1 of zet bij Project -> Options -> Autocreate forms form2 boven form1.
Nofi hoor, maar dit is allemaal relatief simpel. Al eens gedacht aan een fatsoenlijke Delphi tutorial?
Edit: ik zal ook uitleggen waarom het niet werkt zoals jij het hebt staan.
Tijdens het starten van de applicatie worden eerste alle forms gecreeerd. Op het moment dat form1 gecreeerd word zet jij hiervan visible op false. Pas als alle forms gecreeerd zijn zal het mainform (het eerste ge-create (pff, wat een woord
Kijk nog eens goed in de help in het gedeelte van TForm.
Je doet of form.hide en form.show, of je zet de visibility van het form op true of false.
Je voorbeelde code form.hide:=true slaat dus nergens op. Dit moet zijn form.hide of form.visible:=false. Uiteraard moet je deze code NIET gebruiken in de oncreate van je form (waarom heb ik net uitgelegd)
[ Voor 37% gewijzigd door Creepy op 13-03-2003 20:50 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Lachen hoe niemand na 5 pagina's nog met de goeie oplossing komt en mekaar ondertussen wel voor n00b staat uit te maken 
Het eerste Form (de MainForm van je applicatie) wordt per definitie getoond, waar de Visible property ook op staat. Dit is erg irritant als je bijvoorbeeld een splashscreen wil tonen tijdens de program startup terwijl je een hoop werk verricht voordat de main window tevoorschijn komt.
Gelukkig hebben de designers van Borland hier welzeker over nagedacht
Het volgende simpele stukje code in de constructor van je mainform of in de main-functie lost het namelijk al op:
Als je even in de helpfiles deze property opzoekt staat er een goede example bij hoe je 'm moet gebruiken.
Stelletje n00bs
Het eerste Form (de MainForm van je applicatie) wordt per definitie getoond, waar de Visible property ook op staat. Dit is erg irritant als je bijvoorbeeld een splashscreen wil tonen tijdens de program startup terwijl je een hoop werk verricht voordat de main window tevoorschijn komt.
Gelukkig hebben de designers van Borland hier welzeker over nagedacht
C++:
1
| Application->ShowMainForm = false; |
Als je even in de helpfiles deze property opzoekt staat er een goede example bij hoe je 'm moet gebruiken.
Stelletje n00bs
curry heeft gelijk, en moest hij niet met het antwoord zijn gekomen zou ik gelachen hebben lol, wel eigenlijk heb'k ook gelachen.
Anyway, in delphi is het:
Application.ShowMainForm := false;
Anyway, in delphi is het:
Application.ShowMainForm := false;
If you come here... you'll find me... I promise
je zou natuurlijk ook een beetje aso kunnen doen en gewoon zeggen
heel simpel...
Delphi:
1
2
| Form1.top := -10000; Form1.left := -10000; |
heel simpel...
En geen enkele garantie dat het op iedere computer werkt omdat multimonitor window managers nogal de neiging hebben om windows hardhandig binnen de visible area te schuppen.Dala schreef op 13 March 2003 @ 22:46:
je zou natuurlijk ook een beetje aso kunnen doen en gewoon zeggen
Delphi:
1 2 Form1.top := -10000; Form1.left := -10000;
heel simpel...
Uberhaupt beetje overbodig om met deze 'workaround' te komen nadat de correcte oplossing al genoemd is.
dat klopt inderdaad... als je multi monitor enzo heb...curry684 schreef op 13 March 2003 @ 22:52:
[...]
En geen enkele garantie dat het op iedere computer werkt omdat multimonitor window managers nogal de neiging hebben om windows hardhandig binnen de visible area te schuppen.
Uberhaupt beetje overbodig om met deze 'workaround' te komen nadat de correcte oplossing al genoemd is.
maar ik dacht dat de oplossing toch nog niet was gevonden....
trouwens als jij die waarde hoog genoeg zet, dan heb je wel heel veel monitors nodig
Nee hoor, dat is nou net het idee van een window manager, die is actief met die dingen bezigDala schreef op 14 maart 2003 @ 09:07:
dat klopt inderdaad... als je multi monitor enzo heb...
maar ik dacht dat de oplossing toch nog niet was gevonden....
trouwens als jij die waarde hoog genoeg zet, dan heb je wel heel veel monitors nodig
Dala schreef op 13 March 2003 @ 22:46:
je zou natuurlijk ook een beetje aso kunnen doen en gewoon zeggen
Delphi:
1 2 Form1.top := -10000; Form1.left := -10000;
heel simpel...
en heel ranzig.
https://fgheysels.github.io/
Er zijn al twee fatsoenlijke oplossingen gegeven. Misschien is het verder niet echt nuttig om nu in te gaan op dingen als Window Managers e.d..
Ik vraag me wel of het de TS nou uiteindelijk gelukt is om te doen wat hij graag wilde doen. Misschien dat die nog iets van zich kan laten horen...?
Het is altijd hetzelfde: wel een oplossing willen, maar ff posten hoe het gegaan is: ho maar...
Ik vraag me wel of het de TS nou uiteindelijk gelukt is om te doen wat hij graag wilde doen. Misschien dat die nog iets van zich kan laten horen...?
Het is altijd hetzelfde: wel een oplossing willen, maar ff posten hoe het gegaan is: ho maar...
Verwijderd
Dit is het enige goeie antwoord...curry684 schreef op 13 maart 2003 @ 21:49:
Lachen hoe niemand na 5 pagina's nog met de goeie oplossing komt en mekaar ondertussen wel voor n00b staat uit te maken
Het eerste Form (de MainForm van je applicatie) wordt per definitie getoond, waar de Visible property ook op staat. Dit is erg irritant als je bijvoorbeeld een splashscreen wil tonen tijdens de program startup terwijl je een hoop werk verricht voordat de main window tevoorschijn komt.
Gelukkig hebben de designers van Borland hier welzeker over nagedachtHet volgende simpele stukje code in de constructor van je mainform of in de main-functie lost het namelijk al op:
C++:
1 Application->ShowMainForm = false;
Als je even in de helpfiles deze property opzoekt staat er een goede example bij hoe je 'm moet gebruiken.
Stelletje n00bs
Application.ShowMainForm := False;
Form2.Show;
De rest van de posts is echt zeer triest.., getuigt van weinig inzicht en vuile oplossingen.
Dank.. flame on.Verwijderd schreef op 14 March 2003 @ 10:44:
[...]
Dit is het enige goeie antwoord...
Application.ShowMainForm := False;
Form2.Show;
De rest van de posts is echt zeer triest.., getuigt van weinig inzicht en vuile oplossingen.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Zeg dan niks. Als eerste wordt gevraagd naar hoe form1.visible toch op false te zetten is. In mijn eerste post in dit draadje doe ik dat. Zoals sommigen dat zo welbespraakt zeggen: Lees de draad voor je blaat!De rest van de posts is echt zeer triest.., getuigt van weinig inzicht en vuile oplossingen.
Verwijderd schreef op 14 March 2003 @ 10:44:
De rest van de posts is echt zeer triest.., getuigt van weinig inzicht en vuile oplossingen.
slechte dag vandaag? Ik kan je echt aanraden om dat zeker niet op GoT af te reageren, flamerig gedrag wordt hier echt niet getolereerd (en dit slaat ook op je andere 2 posts die je vandaag gedaan hebt)
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Waarom zou het niet nuttig zijn? Er worden dingen geopperd als werkende oplossingen voor het probleem waar dit topic over gaat, en dan is het imho wel degelijk nuttig om uit te leggen waarom dat niet gaat werken.OZ-Gump schreef op 14 maart 2003 @ 10:19:
Misschien is het verder niet echt nuttig om nu in te gaan op dingen als Window Managers e.d..
De topicstarter is niet de enige die iets van een topic kan leren
En anders ga jij even op Onzinforum puberen of zo....Verwijderd schreef op 14 maart 2003 @ 10:44:
Dit is het enige goeie antwoord...
De rest van de posts is echt zeer triest.., getuigt van weinig inzicht en vuile oplossingen.
[ Voor 1% gewijzigd door curry684 op 14-03-2003 11:32 . Reden: Typo ]
Verwijderd
Ik heb het even getest:OZ-Gump schreef op 13 March 2003 @ 18:34:
jongens jongens jongens... !!!
Ook al staat alphablend op 0, dan nog bestaat het scherm en kun je dus op knoppen en menu's klikken! Maar dan zonder het te weten!!
[/check-edit]
Een form gemaakt met een zeer grote button erop waar deze code onderlag:
code:
1
| showmessage('hoi'); |
en ook met:
code:
1
| form2.show; |
Nou, ik heb geklikt tot ik erbij neerviel (vandaar dat ik nu ook pas reageer
[ Voor 40% gewijzigd door Verwijderd op 14-03-2003 13:50 ]
Touché.Nou, ik heb geklikt tot ik erbij neerviel (vandaar dat ik nu ook pas reageer ) maar het programma deed boe noch bah!
Om toch maar even aan te geven dat het niet verstandig (en laten we niet vergeten ERG smerig) is: selecteer de app die je hebt gemaakt dan eens in je taakbalk en druk dan op de <enter> toets...
Pijnlijk dat het dan wel werkt he? Hieruit blijkt dus maar weer dat het een erg foute oplossing is, tenminste IMHO. Als je een snelkoppelingen-freak bent en je doet ik-weet-niet-wat met je ALT-toets, GOD mag weten wat er dan allemaal gebeurt...
NOI voor alle, al dan niet streng, religieuze GoT'ers...
tsja.
Voor de topicstarter: Je krijgt vandaag de hoofdprijs karige topicstarts. Volgende keer even gebruik maken van de quickstart ajb.
Voor de topicstarter: Je krijgt vandaag de hoofdprijs karige topicstarts. Volgende keer even gebruik maken van de quickstart ajb.
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Pagina: 1
Dit topic is gesloten.
![]()