[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
Liberty BASIC Holland • Toon onderwerp - Knop precies in het midden van je scherm

Knop precies in het midden van je scherm

Nieuwe Liberty BASIC programmeurs kunnen hier om hulp vragen.

Moderators: anthonio, Abcott

Knop precies in het midden van je scherm

Berichtdoor Newbie » ma mei 26, 2008 3:04 pm

Weet iemand hoe je een knop precies in het midden van je scherm kan plaatsen?

Vriendelijke groet.
Newbie
 
Berichten: 32
Geregistreerd: wo mei 14, 2008 4:53 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Gordon » ma mei 26, 2008 8:44 pm

Hallo Newbie,

Een knop wordt geplaatst op het "ankerpunt".
Het ankerpunt van een knop is de linkerboven hoekpunt van die knop.
Dit ankerpunt wordt weer geplaatst op de X en Y coordinaten
die opgeven worden.

BUTTON #handle.b "KNOP", [label], UL , 100, 120

De linkerbovenhoek (ankerpunt) van deze knop wordt in X-as richting
op 100 pixel vanaf de linkerboven hoek (UL) van het venster geplaatst.
De linkerbovenhoek (ankerpunt) van deze knop wordt in Y-as richting
op 120 pixel vanaf de linkerboven hoek (UL) van het venster geplaatst.

Het venster heeft in dit geval de handle genaamd #handle gekregen.

Het is ook mogelijk om in plaats van UL (Upperleft)
de volgende startpunten te gebruiken.

UL = upperleft (linksboven)
UR = upperright (rechtsboven)
LL = lowerleft (linksonder)
LR = lowerright (rechtsonder)

Het midden van je beeldscherm is DisplayWidth/2 en DisplayHeight/2
maar als je een ander aktief venster gebruikt, dan moet je
WindowWidth/2 en WindowHeight/2 gebruiken.

Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: Knop precies in het midden van je scherm

Berichtdoor Newbie » di mei 27, 2008 4:14 pm

Bedankt voor je antwoord gordon.

Ik ga eens kijken of het lukt.
Newbie
 
Berichten: 32
Geregistreerd: wo mei 14, 2008 4:53 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Abcott » di mei 27, 2008 9:58 pm

Avatar gebruiker
Abcott
 
Berichten: 115
Geregistreerd: wo mei 25, 2005 9:58 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Newbie » zo jul 27, 2008 7:43 pm

nomainwin
WindowWidth=DisplayWidth
WindowHeight=DisplayHeight
buttonlength = 80
buttonheight = 30

buttonX = (WindowWidth-buttonlength)/2
buttonY = ((WindowHeight-buttonheight)/2) - buttonheight

button #1.1 "OK",[h],ul,buttonX,buttonY,buttonlength,buttonheight
open "" for window as #1
wait


Werkt perfect! Bedankt.

Ik snap alleen dit gedeelte van de code niet "button #1.1", kan je dat nader toelichten?

Waarom button #1.1, is dat het type knop ofzo?

En waar staat [h] voor? Die roept ook enige vraagtekens bij me op. :)

Groet.
Newbie
 
Berichten: 32
Geregistreerd: wo mei 14, 2008 4:53 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Abcott » zo jul 27, 2008 10:36 pm

Newbie,

Liberty BASIC gebruikt voor elk venster dat geopend wordt een
indentificatienaam per venster. De IDnaam begint met # en de amerikanen
spreken van een handle.

Ik heb hier een venster geopend met de "hendel-naam" #1 (handle #1)
Normaliter gebruikt men #window of #win enz. Maar #1 geeft minder tikwerk.

Liberty BASIC zoekt telkens alle objecten bijeen die in eenzelfde venster thuishoren
en plaatst die indien nodig op het scherm.
Elk object dat in een venster geplaatst wordt (een control heet dat in MS Windows termen)
heeft weer zijn eigen unieke ID, zodanig dat LB weet in welk venster dat object hoort.

Alle controls (objecten) die in mijn venster horen hebben een eigen handle die
zoals gezegd in mijn geval begint met #1. Mijn button heb ik #1.1 (.1 is het eigennaam
gedeelte voor de knop die in het venster #1 staat) genoemd.

Duidelijker zijn handles als #win.button of iets dergelijks.

Abcott
Avatar gebruiker
Abcott
 
Berichten: 115
Geregistreerd: wo mei 25, 2005 9:58 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Abcott » zo jul 27, 2008 10:43 pm

Avatar gebruiker
Abcott
 
Berichten: 115
Geregistreerd: wo mei 25, 2005 9:58 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Newbie » ma jul 28, 2008 5:59 pm

Korte labels zijn inderdaad een goed idee, houd het overzichtelijker en is minder fout gevoelig.

Badankt voor je uitleg.
Newbie
 
Berichten: 32
Geregistreerd: wo mei 14, 2008 4:53 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Gordon » ma jul 28, 2008 7:19 pm

Hallo Newbie,

Korte labels zijn best goed als je reeds wat kunt programmeren.
Per slot van rekening ben jij de enige die zoveel naar je listing kijkt.

Te korte labels en variabele namen hebben wel het nadeel dat je minder
variabele kunt benoemen. Maar dan maak je de variabelennamen
steeds langer als dat nodig is.

Ik heb eens ervaren dat Liberty BASIC moeite heeft met een label dat uit
één cijfer bestaat? Daarom zo ik geen #1 als handel gebruiken. Ik kan
mijn opmerking nergens mee staven, misschien verbeeld ik het mij maar.

Gordon
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Re: Knop precies in het midden van je scherm

Berichtdoor Newbie » di jul 29, 2008 10:51 am

Dan is de vraag: Abcott, gebruikte je die korte label om je typ werk te besparen of heb jij ook de ervaring dat korte labels weleens niet zo goed zou kunnen werken?

Ik heb al reeds ervaren dat het ook moeilijker is je script te lezen als je labels gebruikt met 1 teken.
Newbie
 
Berichten: 32
Geregistreerd: wo mei 14, 2008 4:53 pm

Re: Knop precies in het midden van je scherm

Berichtdoor Gordon » di jul 29, 2008 6:00 pm

Hallo Abcott en Newbie,

Ik heb hier nooit eerder wat van gehoord of gemerkt.

open "" for window as #1
open "" for window as #2
open "" for window as #q
enz...
doen het allemaal.

Wat is het probleem eigenlijk?

Gordon.
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am


Keer terug naar Beginner

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 2 gasten

cron