VB 's MsgBox functie heeft geen middelen om het centrum tekst die u wilt weergeven met de functie . U kunt echter een gelijkwaardige functie die weergave gecentreerde tekst schept . Een benadering voor het creëren van deze functie is om een aangepast formulier ontwerpen met een label dat zich dynamisch herpositioneert zich wanneer het formulier met het label wordt aangepast . Ontwerp van het formulier De eerste stap in het creëren van je eigen functie MsgBox waarvan u de tekst kunt dynamisch kadreren is om het aangepaste formulier dat de tekst wordt weergegeven ontwerpen . Het gaat om het creëren van een VB- Windows-formulier project . Binnen VB 's ontwikkelomgeving , drukt u op " Control" en " N " tegelijk , vervolgens op het Windows-formulier punt om een dergelijk project te maken . Label Controle Toen het ontwerp -venster vorm verschijnt , sleept u een Label-besturingselement uit de Toolbox naar het formulier. Plaats het etiket overal ; uw programma zal zijn toegespitst op het etiket . Echter , heb je nodig om aan te geven dat de tekst in het label worden gecentreerd . Om dit te doen , klik op de " Tekst uitlijnen " eigenschap in het venster Eigenschappen . VB zal een kleine vorm te geven met negen knoppen erop. Elke knop geeft uitlijning voor de tekst van het label . Klik op de middelste knop om aan te geven dat het label de tekst moet worden gecentreerd . Voeg wat tekst aan het label door te typen dat tekst in de " Text" eigendom van het venster Eigenschappen . Typ bijvoorbeeld 'Hier is wat tekst Ik wil graag naar het centrum . " Programming Window Na het ontwerpen van het formulier aan de functie MsgBox simuleren , voer de programmering venster , waarin u kunt typen uitspraken dat centrum het Label controle houden van de tekst . Als u op " F7 " brengt je naar dat venster . Vorm Evenementen in VB vormen kan elke omvang de gebruiker wil om ze te verplaatsen naar nemen . Dit gedrag betekent dat uw tekst zal waarschijnlijk niet worden gecentreerd , tenzij je kan detecteren wanneer het formulier wordt aangepast , en verandert de positie van het label dat uw tekst dienovereenkomstig houdt . Windows event functies geven wel een manier om te resizen en andere evenementen te detecteren . De specifieke functie gebeurtenis nodig om uitspraken typen die dynamisch centrum tekst is de Paint evenement . Wanneer VB moet het formulier opnieuw te tekenen , wordt dit evenement gebruikte functie . Het formaat van deze gebeurtenis activeert , net als de vorm weer verschijnen van achter raam een andere toepassing . Customizing Paint Event Geef aan VB wilt u uw tekst - centreren programma intypen de Paint event door het selecteren van die gebeurtenis uit keuzelijsten het programmeervenster 's . Klik op "Form event " van het meest linkse keuzelijst boven de programmering venster , klik vervolgens op de " Paint " item uit de meest rechtse keuzelijst . VB zal de lege Paint -functie weer voor u te vullen met je eigen uitspraken . Berekeningen voor centreren Met de Paint statement te midden van een Label control gaat om een paar eenvoudige berekeningen . Je zou deze zelfde berekeningen uit te voeren om het centrum tekst op fysieke media , zoals een stuk papier . Plak de volgende verklaringen in de Paint -functie . Deze verklaringen berekenen van de meest linkse rand van het besturingselement Label waarvan u de tekst bent centreren . Reacties van de instructie uit te leggen elke stap van de berekening . Test uw MsgBox emulator voor het centreren van de tekst door op de " F5 " toets op het toetsenbord . Als vorm van het programma verschijnt , sleept u een van de hoeken om het formulier wijzigen. Uw tekst wordt gecentreerd blijven . ' Get grootte van het etiket ' Get grootte van vorm ' Aftrekken labelgrootte uit vorm size ' Delen door 2 'Set label.left te resulteren Dim w , w2 , difw = Me.Size.Widthw2 = Label1.Size.Widthdif = w - w2dif = dif /2Label1.Left = dif
|