[VB5] : masquer des fenetres bien comme il faut (chipotage mais bon)

: masquer des fenetres bien comme il faut (chipotage mais bon) [VB5] - Programmation

Marsh Posté le 28-05-2001 à 14:45:58    

j'ai une fenetre qui n'est pas chargee ...
dans mon code y'a une ligne qui effectue un truc sur cette fenetre (au cas ou elle serait chargee)
et la VB hop, il me la charge et la montre :fou:
alors, moi je fais un Unload ... mais la fenetre elle reste visible 1 bonne seconde et ca fait bizarre ...
alors, au tout debut, en + du unload à la fin, je fais un visible = false ...
mais la pareil, ca commence par me la montrer puis elle disparrait ... :fou:
vous savez pas comment empecher ca ?
genre au debut, pendant le splashscreen je charge 3 "grosses" fenetres histoire que ca rame pas apres ... alors je fais fenetre.visible=false mais biensur, il commenrce par me la montrer et ca fait pas boooooo .... et ca m'ennerveuuuuuuuuu ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 28-05-2001 à 14:45:58   

Reply

Marsh Posté le 28-05-2001 à 16:18:19    

Demande à Thomas :)
 
A+

Reply

Marsh Posté le 28-05-2001 à 17:29:10    

eh c'est pas con ca !
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 28-05-2001 à 22:23:45    

J'ai pas tout compris, mais pourquoi tu met pas la propriété de ta feuille a visible = False lors de la CONCEPTION plutot que dans le code ? (d'ou le temps de latence).

Reply

Marsh Posté le 29-05-2001 à 09:20:04    

euh vive les ordis ki rament!!!
des fois g le même pb  :sweat:  
 
moi g fais komme toi; d'abord je met visible à false et après j'unload la fenêtre ... et puis ben euh ça marche trankille, on ne voit rien.
si c lent, c peut être à kose de l'ordi ki rame

Reply

Marsh Posté le 29-05-2001 à 10:03:17    

le visible à false ca marche assez bien d'ou le "chipotage" de mon topic
mais ca marche pas "nickel" :)
d'abord, toutes mes forms MDIFilles ont visible à false lors de la conception
mais comme les ordis c'est pas des foudres de guerre (pentium2, K6, celeron mais surtout 64 ou 32 de ram) je charge les fenetres les + courantes lors du lancement de l'application, le tout avec un joli spashscreen
pour charger, je fait pas load, mais carrement hide et malgre le hide, malgre le visible à false, lors du chargement des fenetres, on les voit (on voit les contours se dessiner), et le pire c'est que ca le fait avant mon splashscreen que je lance avant les hide :??:
bref, comme j'ai pas mal de form, ben au debut ca se voit assez que y'a un drole de truc qui se passe
sinon, apres j'ai corrigé en jonglant avec les visible
mais c'est assez chiant : j'ai un code qui par exemple change un label dans une autre form.
si le mec a ferme cette form, donc qu'elle est plus à l'écran, la ligne qui modifie le label va provoquer le chargement de la form et ca se voit legerement : tjrs pareil, j'ai 2 ou 3 forms qui se dessinent et qui disparraissent.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-05-2001 à 10:05:57    

cela dit j'ai préciser VB5 et je voudrais savoir si ca vient plus de lui :gun: que de mon code, car j'ai deja eu des droles de problemes et quand je donnais mon code les mecs me disaient "he ca marche tres bien ton truc" et ils avaient VB6 ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-05-2001 à 10:14:48    

A mon avis c'est normal, car des que VB a plusieurs forms a gerer en paralele.. ben ca rame..
Et il me semble que c'est ton cas. plutot que de charger puis cacher chaque fenetre les unes apres les otres, il demande les unes apres les otres, mais comme c'est un peu long, il fini par tout faire en meme temps-> implique pb d'affichage
Mais est-ce bien important.
Moa j'ai un probleme du meme style: quand je reactualise les donnees d'une MSflexGrid  partir de SQL Server, ben pendant 5 sec il arete pas d'aficher effacer redimensionner ma fenetre pour chaque ligne que j rajoute (plus de 300..) mais bon, on fait avec.

Reply

Marsh Posté le 29-05-2001 à 10:23:17    

t'as essayé sur ton pc de tester ton programme??
si ça rame pas, ben ça vient des pcs où tu programmes.
 
Sinon les profs sont passés te voir?? comment ça c passé?

Reply

Marsh Posté le 29-05-2001 à 10:29:04    

comment alors dans les applications professionnelles ils gerent ca, vu que ca le fait jamais ?
", ben pendant 5 sec il arete pas d'aficher effacer redimensionner ma fenetre pour chaque ligne que j rajoute (plus de 300..) mais bon, on fait avec."
 
t'as essayé de mettre visible = false à ta fenetre puis visible = true une fois fini ?
 
si non, ben tu risque d'etre surpris que ca va se faire instantanement
 
pour chaque ajout, VB genere un message WM_PAINT et VB le gere aussitot
dans ton cas il gere donc 300 WM_PAINT et redessine donc 300 fois ta fenetre
maintenant, si tu mets visible=false, ben il va pas la redessiner car elle est pas visible
donc il ne redessinera qu'1 seule fois, quand tu fera visible=true
le programme que je reprend avait un truc similaire : il quadrillait un graphique et pour chaque ligne tracée ca redessinait.
resultat : le quadrillage necessitait 2 sec (c long !!) et ca clignotait de partout
avec visible = false, c'est instantané :wahoo:
sinon y'a encore plus rapide (et + bas nivo) via les API genre ValidateRect et InvalidateRect ... mais quand j'ai vu que visible ca allait, ja me suis pas plus fait chié ... surtout qu'en plus VB je me demande s'il aime ca, qu'on lui bidouille sa gestion des messages ... (j'avais une sorte de conflit)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-05-2001 à 10:29:04   

Reply

Marsh Posté le 29-05-2001 à 10:32:11    

hello>comment alors dans les applications professionnelles ils gerent ca, vu que ca le fait jamais ?  
 
Ben c'est simple et tu y repond toi meme: il font ca en C, ou alors avec du vraiment plus bas nivo que VB, ou il y a moins de truc a gerer donc plus rapide.

Reply

Marsh Posté le 29-05-2001 à 12:20:42    

Désolé Aurélien mais la solution miracle c'est borland builder C++ ! :)
 
C'est ce que j'ai moi niark ! et c'est bien mieux et pas de chipotage comme tu dis :)

Reply

Marsh Posté le 29-05-2001 à 12:24:27    

VB ça pue ... :cry:


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-05-2001 à 12:26:34    

Hummmmm VB, un bon produit MICROSOFT  :gun:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed