FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Zone client selon l'idée de Severin Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Zone client selon l'idée de Severin Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Zone client selon l'idée de Severin Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Zone client selon l'idée de Severin Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Zone client selon l'idée de Severin Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Zone client selon l'idée de Severin Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Zone client selon l'idée de Severin Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Zone client selon l'idée de Severin Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Zone client selon l'idée de Severin Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Zone client selon l'idée de Severin Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Zone client selon l'idée de Severin Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Zone client selon l'idée de Severin Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Zone client selon l'idée de Severin Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Zone client selon l'idée de Severin Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Zone client selon l'idée de Severin Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

 

 Zone client selon l'idée de Severin

Aller en bas 
4 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyMer 23 Mai 2012 - 0:47

@Tous sauf Severin:
J'ouvre une nouvelle rubrique pour cela, car l'ancien est déjà très surchargé.

Severin souhaite faire une "zone client" au milieu d'une form, avec une barre de défilement spécifiquement pour cette zone. Actuellement, Panoramic ne peut pas faire cela directement.

Alors, j'ai pris l'objet CONTAINER pour en faire une "zone client". La barre de défilement est une SCROLL_BAR verticale collée au bord droit de la zone client. Tous les objets associés à la zone client (sauf la barre de défilement) sont mémorisés dans une table. Sur ON_CHANGE de la barre de défilement, on adapte la propriété TOP de tous les objets mis en table, en les cachant dès que la valeur TOP passe en-dessous de 10. Et voilà: on a un scrolling vertical de la zone client !

@Severin:
Ich öffene eine neue Rubrik, denn die Vorige ist schon sehr voll.

Severine wollte eine "client area" in der Mitte einer Form machen, mit einer Scroll-bar, spezifisch für diese Zone. Im jetzigen Zustand kann Panoramic das nicht direkt machen.

Also habe ich ein CONTAINER Objekt genommen, um daraus eine "client area" zu machen. Ich verwende eine vertikale SCROLL_BAR am rechten Rand der client area. Alle Objekte des cleint area (ausser des scroll-bar) sind in einer Tabelle notiert. Das ON_CHANGE Ereignis des Scroll-bar passt die TOP-Eigenschaften des Objekte in der Tabelle an, wobei diese versteckt werden, sobald ihre TOP-Eigenschaft unter 10 fällt. Und siehe da: wir haben eine client area mit vertikalem Scroll-Verhalten !

Code:

label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll
  return
 
constantes:
  dim max_height% : max_height% = 2000
  return
 
variables:
  dim no%, client_area%, scroll_bar%, no_name%, no_memo%
  dim scroll_pos%
  dim n_obj%, tab_obj%(200)
  dim i%, n%
  return

form0:
  width 0,808 : height 0,800
  return
 
GUI:
  no% = no% + 1 : container no% : client_area% = no%
    top no%,100 : left no%,0 : caption no%,"Client area"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar% = no%
    parent no%,client_area%
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%)-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  return

add_object:
  n_obj% = n_obj% + 1
  tab_obj%(n_obj%) = no%
  return
 
initialisations:
  scroll_pos% = 0
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return
 
scroll:
  n% = position(scroll_bar%) - scroll_pos%
  scroll_pos% = position(scroll_bar%)
  for i%=1 to n_obj%
    top tab_obj%(i%),top(tab_obj%(i%)) - n%
    if top(tab_obj%(i%))<10
      hide tab_obj%(i%)
    else
      show tab_obj%(i%)
    end_if
  next i%
 
  return
 
main:
  return
 
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyMer 23 Mai 2012 - 7:26

Joli et utile
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyMer 23 Mai 2012 - 7:31

Salut à tous,

Bien pratique pour les petits écrans, j'ai fait le test d'ajouter un bouton et pas besoin de ce soucier de son déplacement.

Excellent.

A+
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyMer 23 Mai 2012 - 16:25

@ Kaus

Das ist genial, genauso hatte ich mir das gewünscht. Habe jetzt noch alles an meine Vorstellung angepasst.
Stelle die Änderungen hier ein. Wenn ich jetzt mehrere Clientarenen erstellen möchte, reicht eine Zählschleife
von Beginn bis Ende Step ?
Im Program gekennzeichnet. Jetzt fehlt natürlich des Mausrad um nach unten oder Oben zuscrollen.
Die Formen verbinde ich mit deiner DLL. Wäre es sinvoll auch die Clientarena mit dem Bar über die DLL zu verbinden
oder reicht Parent ?

Das hat mir sehr geholfen. Ich kann jetzt die Hilfe in einem Durchgang erstellen. Platz ohne Ende.
Habe mit Pixelhöhe von 25000 getestet, fuktioniert.

Damit kann man jede Clientarena individuell anpassen. Sodas sollte erstmal helfen.

Nochmal Danke.
Severin

@ Kaus

This is awesome, just as I had wished. I now have everything adjusted to my vision.
Place the changes here. If I want to create multiple client arenas, ranging a counting
from the beginning to the end of Step?
Identified in the Program. Now of course the missing mouse wheel to scroll down or top.
The forms do I connect with your DLL. It would be quite useful to combine the client arena with the bar on the DLL
Parent or sufficient?

That helped me a lot. I can now create the help in one pass. Space without end.
Have with pixel height of 25,000 tested fuktioniert.

This allows you to customize each client individually arena. Sodas should help for now.

Thanks again.
Severin

@ Kaus

C'est génial, comme je l'avais souhaité. J'ai maintenant tout ajusté à ma vision.
Placer les changements ici. Si je veux créer des arènes clients multiples, allant un comptage
à partir du début à la fin de l'étape?
Identifiés dans le programme. Maintenant bien sûr, la molette de la souris manquant de faire défiler ou supérieure.
Les formulaires dois-je connecter avec votre DLL. Il serait très utile de combiner l'arène client avec la barre sur la DLL
Parent ou suffisante?

Cela m'a beaucoup aidé. Je peux maintenant créer l'aide en un seul passage. L'espace sans fin.
Ont une hauteur de 25 000 pixel fuktioniert testé.

Cela vous permet de personnaliser chaque client individuellement arène. Sodas devrait aider pour le moment.

Merci encore.
Severin

ES FUNKTIONIERT SOGAR WENN WIR DEN CONTAINER DURCH EINE FORM ERSETZEN !!! 20:48 Uhr




Code:
' ****************  CLIENTARENA -- TEST nach Klaus *****************************
' Auch Habe ICH Ein Objekt Genommen CONTAINER, ähm Eine daraus "Client-Bereich"
' zu Machen. Ich verwende Eine Vertikale SCROLL_BAR am Rand der rechten
' Client-Bereich. Objekte Clientseitiges Fläche von Deutschland
' (außer der Bildlaufleiste) Sind in Einer Tabelle notiert. Das Ereignis
' ON_CHANGE der Bildlaufleiste Passt sterben TOP-Eigenschaften Objekte in der
' Tabelle Jahre wobei This Versteckt Werden, sobald your TOP-10 Unter Eigenschaft
' fällt. Und Siehe da: Wir Haben Eine Client-Bereich begann vertikalem Scroll-Verhalten!
' ******************************************************************************
label labels
gosub labels
' ***
gosub constantes
gosub variables
gosub form0000  :' Grundform
gosub form0001  :' Fussform
gosub form0002  :' Menueform
gosub form0003  :' Symbolform
gosub form0004  :' Clientform fix
gosub GUI
gosub initialisations
gosub main
end
' ****
labels:
label form0000  :' Grundform
label form0001  :' Fussform
label form0002  :' Menueform
label form0003  :' Symbolform
label form0004  :' Clientform fix
' *** VARIABLE FÜR OBJEKTE anhängen und OBJEKTE abhängen LoadProgram.DLL *******
LABEL OBJEKT_AN  :' Objekt anhängen
LABEL detacher    :' Objekt abhängen
DIM PARENTNUMMER1%
DIM PARENTNUMMER2%
DIM ancien%
' **********
  label constantes, variables, GUI, initialisations, main
  label add_object
  Label scroll
  return

constantes:    : ' Test mit 25000  ok
dim max_height%
    max_height%  = 2000
'  dim max_vertical%
'      max_vertical% = 2000
return
' ***
variables:
  dim no%, client_area%, scroll_bar%, no_name%, no_memo%
  dim scroll_pos%
  dim n_obj%, tab_obj%(200)
  dim i%, n%
  return
' ********** Grundform
form0000:
TOP    0000,0
LEFT    0000,0
width  0000,SCREEN_X
height  0000,SCREEN_Y-44
color  0000,000,000,000
PARENTNUMMER2% = HANDLE(0000)
return
' ********** Fussform
form0001:
COMMAND_TARGET_IS 0000
FORM          0001
TOP          0001,SCREEN_Y-101
LEFT          0001,2
WIDTH        0001,SCREEN_X-12
HEIGHT        0001,28
FONT_NAME    0001,"Courier NEW"
FONT_SIZE    0001,08
COLOR        0001,000,200,000
BORDER_HIDE  0001
PARENTNUMMER1% = HANDLE(0001)    :' Form 0001 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0000
GOSUB OBJEKT_AN
return
' ********** Menueform
form0002:
COMMAND_TARGET_IS 0000
FORM          0002
TOP          0002,2
LEFT          0002,2
WIDTH        0002,SCREEN_X-12
HEIGHT        0002,0                  :' SCREEN_Y-106
FONT_NAME    0002,"Courier NEW"
FONT_SIZE    0002,04
Color        0002,000,000,000
BORDER_HIDE  0002
PARENTNUMMER1% = HANDLE(0002)    :' Form 0002 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0002
GOSUB OBJEKT_AN
'
COMMAND_TARGET_IS 0002
' *** Hauptmenü erstellen ******************************************************
main_menu 0009
' *** ERSTELLEN DES HAUPTMENÜ 9001 bis 9020 ************************************
sub_menu 9001:CAPTION 9001,"TEXT_MENUE_00$(01,SPRACHE%)":parent 9001,0009
sub_menu 9002:CAPTION 9002,"TEXT_MENUE_00$(02,SPRACHE%)":parent 9002,0009
sub_menu 9003:CAPTION 9003,"TEXT_MENUE_00$(03,SPRACHE%)":parent 9003,0009
'
sub_menu 9100:CAPTION 9100,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9100,9001
sub_menu 9101:CAPTION 9101,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9101,9001
sub_menu 9102:CAPTION 9102,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9102,9001
'
return
' ********** Symbolform ********************************************************
form0003:
COMMAND_TARGET_IS 0000
FORM          0003
TOP          0003,22
LEFT          0003,2
WIDTH        0003,SCREEN_X-12
HEIGHT        0003,50
FONT_NAME    0003,"Courier NEW"
FONT_SIZE    0003,06
COLOR        0003,229,229,229
PARENTNUMMER1% = HANDLE(0003)    :' Form 0003 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0003
GOSUB OBJEKT_AN
BORDER_HIDE  0003
return
' ********** Clientform fix ****************************************************
form0004:
COMMAND_TARGET_IS 0000
FORM          0004
TOP          0004,74
LEFT          0004,2
WIDTH        0004,SCREEN_X-12
HEIGHT        0004,SCREEN_Y-177
FONT_NAME    0004,"Courier NEW"
FONT_SIZE    0004,06
COLOR        0004,229,229,229
PARENTNUMMER1% = HANDLE(0004)    :' Form 0004 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  0004
return
' ********** Clientform variabel  Beginn 1000 step 20 **************************
GUI:
' *** Clientarena
COMMAND_TARGET_IS 0004
no% =          no% + 1000
container      no%
client_area% = no%
top            no%,0
left          no%,2
'  caption no%,"Client area"
width          no%,SCREEN_X-16
height        no%,SCREEN_Y-177  : ' 600
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,08
COLOR          no%,229,229,229
' *** Bar rechts
no% =        no% + 1
scroll_bar    no%
scroll_bar% = no%
parent        no%,client_area%
vertical      no%
top          no%,7
left          no%,SCREEN_X-36
height        no%,SCREEN_Y-187  : ' 585
min          no%,0
max          no%, max_height% - height(client_area%)-20
'
' set_focus no%-1
on_change  no%,scroll
' ******************************* Ende Step ************************************
' *** Alpha ********************************************************************
no% = no% + 1
alpha no%
parent no%,client_area%
top no%,20
left no%,20
caption no%,"Name:"
gosub add_object
'
' *** Edit
no% = no% + 1
edit no%
parent no%,client_area%
no_name% = no%
top no%,20
left no%,60
gosub add_object
'
' *** Memo
no% =        no% + 1
memo        no%
parent      no%,client_area%
no_memo% =  no%
bar_vertical no%
top          no%,1550
left        no%,20
width        no%,400
height      no%,200
gosub add_object
return
'
' ******************************************************************************
add_object:
  n_obj% = n_obj% + 1
  tab_obj%(n_obj%) = no%
return
'
'
initialisations:
  scroll_pos% = 0
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
return
'
' ***
scroll:
  n% = position(scroll_bar%) - scroll_pos%
  scroll_pos% = position(scroll_bar%)
'
  for i%=1 to n_obj%
    top tab_obj%(i%),top(tab_obj%(i%)) - n%
    if top(tab_obj%(i%))<10
      hide tab_obj%(i%)
    else
      show tab_obj%(i%)
    end_if
  next i%
'
return
'
'
main:
return
' ******************************************************************************
' *** Objekt anhängen **********************************************************
OBJEKT_AN:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",PARENTNUMMER1%,PARENTNUMMER2%,1)
dll_off
RETURN
' ******************************************************************************
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
RETURN
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyMer 23 Mai 2012 - 21:29

Freut mich, dass dies Dein Problem löst.

Das PARENT Kommando reicht, um ein Objekt einer Form oder einem Container zuzuordnen. Du brauchst meine DLL nicht dazu. Die wird nur gebraucht, um eine FORM in eine andere hineinzubringen.

Wenn Du mehrere client areas hast, brauchst Du natürlich soviel Objektlisten wie client areas, und ebenso viele SCROLL_BAR Objekte. Du definierst einfach
Code:
  dim n_obj%(30), tab_obj%(200,30)
wenn Du zum Beispiel 30 client areas hast, und ebenso viele CONTAINER und SCROLL_BAR Objekte. Du definirtst auch Variablen dieser Art:
Code:
dim client_area%(30), scroll_bar%(30), x_client_area%, scroll_pos%(30)
Bei jeder Definition von SCROLL_BAR muss natürlich dans betreffende no% in scroll_bar%(x) gespeichert werden !
der Aufruf von add_object wird:
Code:
x_client_area% = 17 : ' auf client area 17 zielen
gosub add_object
Und diese Routine wird:
Code:
add_object:
  n_obj%(x_client_area%) = n_obj%(x_client_area%) + 1
  tab_obj%(n_obj%,x_client_area%) = no%
return
Alle ON_CHANGE Ereignisse des SCROLL_BAR's gehen auf das selbe Label. Diese routine aber wird so umgearbeitet:
Code:
scroll:
  n% = number_scroll
  for i%=1 to 30 : ' 30 = number of client areas
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next o%
  n% = position(scroll_bar%) - scroll_pos%
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
'
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if top(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
'
return

Heureux que ceci résoud ton problème.

La commande PARENT suffit pour associer un objet à une form ou un container. Tu n'as pas besoin de ma DLL pour cela. Elle ne sert qu'à attacher une form à une autre.

Lorsque tu as plusieurs zones client, tu as bien sûr besoin d'autant de listes d'objets que de zones client, et autant de scroll_bars. Tu définies simplement:
(et viennent maintenant les morceaux de code ci-dessus)/


Dernière édition par Klaus le Mer 23 Mai 2012 - 22:50, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyMer 23 Mai 2012 - 21:47

@ Klaus

Ich will es mal so beschreiben. Jack hätte uns mal einem Hinweis geben können.

Jetzt wollen wir hoffen das in der nächsten Version folgendes dabei ist:

Parent auf Formen anwendbar. Ersetzt dann leider deine hervorragende DLL.
Beginn der Verwendung des Mausrades um sich in den langen Bildschirmen zu bewegen.
Steuerung der drei Formfelder min. / max. / close.
Ersetzt dann leider die hervoragende DLL von Nardo.

Bis bald
Severin
Habe bestiimmt noch Fragen.


@ Klaus

Let me put it to describe. Jack would sometimes give a hint to us.

Now let us hope that in the next version is as follows:

Parent forms to apply. Unfortunately, your DLL will replace outstanding.
Start using the mouse wheel to move in the long screens.
Control of the three form fields min. / Max. / Close.
Unfortunately, the DLL hervoragende replaced by Nardo.

See you soon
Severin
Have determined questions.

@ Klaus

Permettez-moi de le mettre à décrire. Jack parfois donner un indice pour nous.

Maintenant, nous allons nous espérons que dans la prochaine version est la suivante:

Formes des parents à appliquer. Malheureusement, votre DLL remplacera exceptionnelle.
Commencer à utiliser la molette de souris pour se déplacer dans les écrans de long.
Contrôle des champs du formulaire trois minutes. / Max. / Fermer.
Malheureusement, la DLL remplacera en circulation à Nardo.

à bientôt
Severin
Vous avez des questions déterminées.

Version mit Form

Code:
' ****************  CLIENTARENA -- TEST nach Klaus *****************************
' Auch Habe ICH Ein Objekt Genommen CONTAINER, ähm Eine daraus "Client-Bereich"
' zu Machen. Ich verwende Eine Vertikale SCROLL_BAR am Rand der rechten
' Client-Bereich. Objekte Clientseitiges Fläche von Deutschland
' (außer der Bildlaufleiste) Sind in Einer Tabelle notiert. Das Ereignis
' ON_CHANGE der Bildlaufleiste Passt sterben TOP-Eigenschaften Objekte in der
' Tabelle Jahre wobei This Versteckt Werden, sobald your TOP-10 Unter Eigenschaft
' fällt. Und Siehe da: Wir Haben Eine Client-Bereich begann vertikalem Scroll-Verhalten!
' ******************************************************************************
label labels
gosub labels
' ***
gosub constantes
gosub variables
gosub form0000              :' Grundform
gosub form0001              :' Fussform
gosub form0002              :' Menueform
gosub form0003              :' Symbolform  für die Zukunft
gosub form0004              :' Clientform fix
gosub GUI                    :' Clientform variabel
gosub initialisations
gosub main
end
' ****
labels:
label form0000  :' Grundform
label form0001  :' Fussform
label form0002  :' Menueform
label form0003  :' Symbolform  für die Zukunft
label form0004  :' Clientform fix
' *** VARIABLE FÜR OBJEKTE anhängen und OBJEKTE abhängen LoadProgram.DLL *******
LABEL OBJEKT_AN              :' Objekt anhängen
LABEL detacher                :' Objekt abhängen
DIM PARENTNUMMER1%
DIM PARENTNUMMER2%
DIM ancien%
' **********
  label constantes, variables, GUI, initialisations, main
  label add_object
  Label scroll
  return
' **********
constantes:    : ' Test mit 25000  ok
dim max_height%
    max_height%  = 5000
   
'  dim max_vertical%
'      max_vertical% = 2000
return
' ***
variables:
  dim no%, client_area%, scroll_bar%, no_name%, no_memo%
  dim scroll_pos%
  dim n_obj%, tab_obj%(200)
  dim i%, n%
  return
' ********** Grundform *********************************************************
form0000:
TOP          0000,0
LEFT          0000,0
width        0000,SCREEN_X
height        0000,SCREEN_Y-44
color        0000,000,000,000  :' schwarz / black
PARENTNUMMER2% = HANDLE(0000)    :' Form 0000
return
' ********** Fussform **********************************************************
form0001:
COMMAND_TARGET_IS 0000
FORM          0001
TOP          0001,SCREEN_Y-101
LEFT          0001,2
WIDTH        0001,SCREEN_X-12
HEIGHT        0001,28
FONT_NAME    0001,"Courier NEW"
FONT_SIZE    0001,08
COLOR        0001,000,255,000  :' grün / green
BORDER_HIDE  0001
PARENTNUMMER1% = HANDLE(0001)    :' Form 0001 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0000
GOSUB OBJEKT_AN
return
' ********** Menueform *********************************************************
form0002:
COMMAND_TARGET_IS 0000
FORM          0002
TOP          0002,2
LEFT          0002,2
WIDTH        0002,SCREEN_X-12
HEIGHT        0002,0                  :' SCREEN_Y-106
FONT_NAME    0002,"Courier NEW"
FONT_SIZE    0002,04
Color        0002,255,255,000    :' gelb / yello
BORDER_HIDE  0002
PARENTNUMMER1% = HANDLE(0002)    :' Form 0002 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0002
GOSUB OBJEKT_AN
'
COMMAND_TARGET_IS 0002
' *** Hauptmenü erstellen ******************************************************
main_menu 0009
' *** ERSTELLEN DES HAUPTMENÜ 9001 bis 9020 ************************************
sub_menu 9001:CAPTION 9001,"TEXT_MENUE_00$(01,SPRACHE%)":parent 9001,0009
sub_menu 9002:CAPTION 9002,"TEXT_MENUE_00$(02,SPRACHE%)":parent 9002,0009
sub_menu 9003:CAPTION 9003,"TEXT_MENUE_00$(03,SPRACHE%)":parent 9003,0009
'
sub_menu 9100:CAPTION 9100,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9100,9001
sub_menu 9101:CAPTION 9101,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9101,9001
sub_menu 9102:CAPTION 9102,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9102,9001
'
return
' ********** Symbolform  für die Zukunft **************************************
form0003:
COMMAND_TARGET_IS 0000
FORM          0003
TOP          0003,22
LEFT          0003,2
WIDTH        0003,SCREEN_X-12
HEIGHT        0003,50
FONT_NAME    0003,"Courier NEW"
FONT_SIZE    0003,06
COLOR        0003,255,000,000    :' rot / red
PARENTNUMMER1% = HANDLE(0003)    :' Form 0003 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0003
GOSUB OBJEKT_AN
BORDER_HIDE  0003
return
' ********** Clientform fix ****************************************************
form0004:
COMMAND_TARGET_IS 0000
FORM          0004
TOP          0004,74
LEFT          0004,2
WIDTH        0004,SCREEN_X-12
HEIGHT        0004,SCREEN_Y-177
FONT_NAME    0004,"Courier NEW"
FONT_SIZE    0004,06
COLOR        0004,000,000,255    :' blau / blue
PARENTNUMMER1% = HANDLE(0004)    :' Form 0004 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  0004
return
' ********** Clientform variabel  Beginn 1000 step 20 **************************
GUI:
' *** Clientarena ******************
COMMAND_TARGET_IS 0004
no% =          no% + 1000
Form          no%
client_area% = no%
top            no%,0
left          no%,0
'  caption no%,"Client area"
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177  : ' 600
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,08
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 1000 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  no%
' end

' *** Bar rechts ***************************
no% =        no% + 1
scroll_bar    no%
scroll_bar% = no%
parent        no%,client_area%
vertical      no%
top          no%,2
left          no%,SCREEN_X-30
height        no%,SCREEN_Y-180  : ' 585
min          no%,0
max          no%, max_height% - height(client_area%)-20
'
' set_focus no%-1
on_change  no%,scroll
' ******************************* Ende Step ************************************
' *** Alpha ********************************************************************
no% = no% + 1
alpha no%
parent no%,client_area%
top no%,20
left no%,20
caption no%,"Name:"
gosub add_object
'
' *** Edit
no% = no% + 1
edit no%
parent no%,client_area%
no_name% = no%
top no%,20
left no%,60
gosub add_object
'
' *** Memo
no% =        no% + 1
memo        no%
parent      no%,client_area%
no_memo% =  no%
bar_vertical no%
top          no%,1550
left        no%,20
width        no%,400
height      no%,200
gosub add_object
return
'
' ******************************************************************************
add_object:
  n_obj% = n_obj% + 1
  tab_obj%(n_obj%) = no%
return
'
'
initialisations:
  scroll_pos% = 0
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
return
'
' ***
scroll:
  n% = position(scroll_bar%) - scroll_pos%
  scroll_pos% = position(scroll_bar%)
'
  for i%=1 to n_obj%
    top tab_obj%(i%),top(tab_obj%(i%)) - n%
    if top(tab_obj%(i%))<10
      hide tab_obj%(i%)
    else
      show tab_obj%(i%)
    end_if
  next i%
'
return
'
'
main:
return
' ******************************************************************************
' *** Objekt anhängen **********************************************************
OBJEKT_AN:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",PARENTNUMMER1%,PARENTNUMMER2%,1)
dll_off
RETURN
' ******************************************************************************
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
RETURN
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyMer 23 Mai 2012 - 22:11

Gut ! Funktionniert ausgezeichnet !

EDIT

Das gleiche Prinzip kann man auf eine horizontale Scroll-Bar anwenden: es genügt, eine Tabelle scroll_bar_horizontal%(30) (fur 30 client areas) anzulegen und die Routine Scroll nach Scroll_horizontal zu duplizieren und sinngemäss anzupassen.

Le même principe peut être appliqué à une barre de défilement horizontale: il suffit de faire un tablesu scroll_bar_horizontal%(30) (pour 30 zones client), de dupliquer la rouitine scroll vers scroll_horizontal et de la modifier en correspondance.

Hier ist mein Programm mit BEIDEN scroll-bars:
Voici mon proramme avec des DEUX barres de défilement:
Code:

label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll, scroll_horizontal
  return
 
constantes:
  dim max_height% : max_height% = 2000
  dim max_width%  : max_width% = 2000
  return
 
variables:
  dim no%, client_area%, scroll_bar%, scroll_bar_horizontal%
  dim no_name%, no_memo%
  dim scroll_pos%, scroll_pos_horizontal%
  dim n_obj%, tab_obj%(200)
  dim i%, n%
  return

form0:
  width 0,808 : height 0,800
  return
 
GUI:
  no% = no% + 1 : container no% : client_area% = no%
    top no%,100 : left no%,0 : caption no%,"Client area"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar% = no%
    parent no%,client_area%
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%)-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  no% = no% + 1 : alpha no% : parent no%,client_area%
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object

' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no% : scroll_bar_horizontal% = no%
    parent no%,client_area%
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%)-20
    on_change no%,scroll_horizontal
  return

add_object:
  n_obj% = n_obj% + 1
  tab_obj%(n_obj%) = no%
  return
 
initialisations:
  scroll_pos% = 0
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return
 
scroll:
  n% = position(scroll_bar%) - scroll_pos%
  scroll_pos% = position(scroll_bar%)
  for i%=1 to n_obj%
    top tab_obj%(i%),top(tab_obj%(i%)) - n%
    if top(tab_obj%(i%))<10
      hide tab_obj%(i%)
    else
      show tab_obj%(i%)
    end_if
  next i%
  return
 
scroll_horizontal:
  n% = position(scroll_bar_horizontal%) - scroll_pos_horizontal%
  scroll_pos_horizontal% = position(scroll_bar_horizontal%)
  for i%=1 to n_obj%
    left tab_obj%(i%),left(tab_obj%(i%)) - n%
    if left(tab_obj%(i%))<10
      hide tab_obj%(i%)
    else
      show tab_obj%(i%)
    end_if
  next i%
  return
 
main:
  return
 

Einfach, nicht ?
Facile, non ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyJeu 24 Mai 2012 - 0:36

Hier ist eine Version mit 2 client areas:
Voici une version avec 2 zones clients:

Code:

label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll, scroll_horizontal, add_client_area
  label area1, area2
  return
 
constantes:
  dim max_client_area% : max_client_area% =    2
  dim max_height%      : max_height%      = 2000
  dim max_width%      : max_width%      = 2000
  return
 
variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
  dim i%, n%, x_client_area%
  return

form0:
  width 0,808 : height 0,800
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Client area 1" : on_click no%,area1
  no% = no% + 1 : button no% : top no%,10 : left no%,110
    caption no%,"Client area 2" : on_click no%,area2
  return
 
GUI:
' client area # 1
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 1"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal

' client area # 2
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 2"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,200
    font_bold no% : caption no%,"Text for second client area"
    gosub add_object
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return

add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return
 
add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return
 
initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return
 
scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if top(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return
 
scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if left(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return
 
area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  return
 
area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  return

main:
  x_client_area% = 1
  gosub area1
  return
 

Der Kode kann leicht auf x client areas erweitert werden - es hängt alles von max_client_area% ab.
Le code peut facilement être étendu à n zones client - tout est paramétré par ax_client_area%.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyJeu 24 Mai 2012 - 16:39

@ Klaus

Ich habe in das Programm eine Seitenwechsel Anzeige eingebaut.
Wenn ich horizontal scrolle, verschwindet die Anzeige.
Beim vertikalen scrollen erscheint die Anzeige wieder.
Eigenartig. Habe ich etwas zerstört ?
Alles mit Partent fixiert.
Wenn Sie bitte schauen würden.
Severin

@ Klaus

I've installed the program in a page change indicator.
When I scroll horizontally, the display disappears.
For vertical scrolling, the display will reappear.
Strange. I have destroyed something?
All fixed with partent.
If you would look please.
Severin

@ Klaus

J'ai installé le programme dans un indicateur de changement de page.
Quand je défiler l'écran horizontalement, l'affichage disparaît.
Pour le défilement vertical, l'affichage réapparaît.
Etrange. J'ai détruit quelque chose?
Tous fixés avec partent.
Si vous regardez s'il vous plaît.
Severin



Code:
' ******************************************************************************
'
'
'
'
'
'
'
'
label labels
gosub labels
' ***
gosub constantes
gosub variables
gosub form0000              :' Grundform
gosub form0001              :' Fussform
gosub form0002              :' Menueform
gosub form0003              :' Symbolform  für die Zukunft
gosub form0004              :' Clientform fix
gosub GUI                    :' Clientform variabel
' gosub initialisations
gosub main
end
' ***
labels:
label form0000  :' Grundform
label form0001  :' Fussform
label form0002  :' Menueform
label form0003  :' Symbolform  für die Zukunft
label form0004  :' Clientform fix
'
' *** VARIABLEN FÜR OBJEKTE anhängen und OBJEKTE abhängen LoadProgram.DLL ******
LABEL OBJEKT_AN              :' Objekt anhängen
LABEL detacher                :' Objekt abhängen
DIM PARENTNUMMER1%
DIM PARENTNUMMER2%
DIM ancien%
' ******************************************************************************
label constantes, variables,  GUI
' label initialisations
label main
  label add_object, scroll, scroll_horizontal, add_client_area
label area1
label area2
  return
' ******************************************************************************
constantes:
dim max_client_area%    : max_client_area% =    2
dim max_height%          : max_height%      = 4000
dim max_width%          : max_width%      = 4000
return
' ******************************************************************************
variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
dim SEITE%
dim i%
dim n%
dim x_client_area%
return
' ********** Grundform *********************************************************
form0000:
TOP          0000,0
LEFT          0000,0
width        0000,SCREEN_X
height        0000,SCREEN_Y-44
color        0000,000,000,000  :' schwarz / black
PARENTNUMMER2% = HANDLE(0000)    :' Form 0000
Return
' ********** Fussform **********************************************************
form0001:
COMMAND_TARGET_IS 0000
FORM          0001
TOP          0001,SCREEN_Y-101
LEFT          0001,2
WIDTH        0001,SCREEN_X-12
HEIGHT        0001,28
FONT_NAME    0001,"Courier NEW"
FONT_SIZE    0001,08
COLOR        0001,000,255,000  :' grün / green
BORDER_HIDE  0001
PARENTNUMMER1% = HANDLE(0001)    :' Form 0001 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0000
GOSUB OBJEKT_AN
return
' ********** Menueform *********************************************************
form0002:
COMMAND_TARGET_IS 0000
FORM          0002
TOP          0002,2
LEFT          0002,2
WIDTH        0002,SCREEN_X-12
HEIGHT        0002,0                  :' SCREEN_Y-106
FONT_NAME    0002,"Courier NEW"
FONT_SIZE    0002,04
Color        0002,255,255,000    :' gelb / yello
BORDER_HIDE  0002
PARENTNUMMER1% = HANDLE(0002)    :' Form 0002 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0002
GOSUB OBJEKT_AN
'
COMMAND_TARGET_IS 0002
' *** Hauptmenü erstellen ******************************************************
main_menu 0009
' *** ERSTELLEN DES HAUPTMENÜ 9001 bis 9020 ************************************
sub_menu 9001:CAPTION 9001,"TEXT_MENUE_00$(01,SPRACHE%)":parent 9001,0009
sub_menu 9002:CAPTION 9002,"TEXT_MENUE_00$(02,SPRACHE%)":parent 9002,0009
sub_menu 9003:CAPTION 9003,"TEXT_MENUE_00$(03,SPRACHE%)":parent 9003,0009
'
sub_menu 9100:CAPTION 9100,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9100,9001
sub_menu 9101:CAPTION 9101,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9101,9001
sub_menu 9102:CAPTION 9102,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9102,9001
'
return
' ******************************************************************************
' ********** Symbolform  für die Zukunft **************************************
form0003:
COMMAND_TARGET_IS 0000
FORM          0003
TOP          0003,22
LEFT          0003,2
WIDTH        0003,SCREEN_X-12
HEIGHT        0003,50
FONT_NAME    0003,"Courier NEW"
FONT_SIZE    0003,06
COLOR        0003,255,000,000    :' rot / red
PARENTNUMMER1% = HANDLE(0003)    :' Form 0003 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0003
GOSUB OBJEKT_AN
BORDER_HIDE  0003
' return
' *** Button 1 *****************************************************************
COMMAND_TARGET_IS 0003
no% = no% + 10
button no%
top no%,10
left no%,10
caption no%,"Client area 1"
on_click no%,area1

' *** Button 2 *****************************************************************
COMMAND_TARGET_IS 0003
no% = no% + 1
button no%
top no%,10
left no%,110
caption no%,"Client area 2"
on_click no%,area2
return
' ******************************************************************************
' ********** Clientform fix ****************************************************
form0004:
COMMAND_TARGET_IS 0000
FORM          0004
TOP          0004,74
LEFT          0004,2
WIDTH        0004,SCREEN_X-12
HEIGHT        0004,SCREEN_Y-177
FONT_NAME    0004,"Courier NEW"
FONT_SIZE    0004,06
COLOR        0004,000,000,255    :' blau / blue
PARENTNUMMER1% = HANDLE(0004)    :' Form 0004 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  0004
return
' ******************************************************************************
' ********** Clientform variabel  **********************************************
GUI:
' *** client area # 1 **********************************************************
COMMAND_TARGET_IS 0004
no% =          no% + 10
Form          no%
hide          no%
gosub add_client_area
top            no%,0
left          no%,0
' caption        no%,"Client area 1"
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,06
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 0010 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  no%
'
' *** Bar rechts auf Variabler Clientarena # 1 *********************************
no% =      no% + 1
scroll_bar no%
scroll_bar%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
vertical  no%
top        no%,0
left      no%,SCREEN_X-30
height    no%,SCREEN_Y-195
min        no%,0
max        no%, max_height% - height(client_area%(n_client_area%))-20
'
on_change no%,scroll
'
' *** Seiten Abgrenzungen ******************************************************
FOR SEITE% = 2 TO 7  :' muß noch aus Höhe berechnet werden
'
no% =    no% + SEITE%
container no%
parent    no%,client_area%(n_client_area%)
top      no%,(SCREEN_Y-195) * (SEITE%-1)
left      no%,2
width    no%,SCREEN_X-35
height    no%,10
' color    no%,255,000,000
caption no%,"Seite  "+STR$(seite%)+"  Clientarena 1"
gosub add_object
'
NEXT SEITE%
'
' *** AB HIER PROGRAMM *********************************************************
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object

'  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
'    no_memo% = no% : bar_vertical no%
'    top no%,550 : left no%,20 : width no%,400 : height no%,200
'  gosub add_object

  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
'
' *** BIS HIER PROGRAMM ********************************************************
' *** Bar unten auf Variabler Clientarena # 1 **********************************
' *** this objekt must be the LAST for the FORM  ! *****************************
no% =      no% + 1
scroll_bar no%
scroll_bar_horizontal%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
horizontal no%
top        no%,SCREEN_Y-194
left      no%,0
width      no%,SCREEN_X-29
min        no%,0
max        no%, max_width% - width(client_area%(n_client_area%))-20
'
on_change no%,scroll_horizontal
'
' ******************************************************************************
' *** client area # 2 **********************************************************
COMMAND_TARGET_IS 0004
no% =          no% + 20
form          no%
hide          no%
gosub add_client_area
top            no%,0
left          no%,0
' caption        no%,"Client area 2"
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,06
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 0020 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE    no%
'
' *** Bar rechts auf Variabler Clientarena  ************************************
no% =      no% + 1
scroll_bar no%
scroll_bar%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
vertical  no%
top        no%,0
left      no%,SCREEN_X-30
height    no%,SCREEN_Y-195
min        no%,0
max        no%, max_height% - height(client_area%(n_client_area%))-20
'
on_change no%,scroll
'
' *** Seiten Abgrenzungen ******************************************************
FOR SEITE% = 2 TO 7      :' muß noch aus Höhe berechnet werden
'
no% =    no% + SEITE%
container no%
parent    no%,client_area%(n_client_area%)
top      no%,(SCREEN_Y-195) * (SEITE%-1)
left      no%,2
width    no%,SCREEN_X-35
height  no%,10
' color    no%,255,000,000
caption no%,"Seite  "+STR$(seite%)+"  Clientarena 2"
gosub add_object
'
NEXT SEITE%
'
' *** Bar unten auf Variabler Clientarena # 2 **********************************
' this objekt must be the LAST for the CONTAINER !  ****************************
no% =      no% + 1
scroll_bar no%
scroll_bar_horizontal%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
horizontal no%
top        no%,SCREEN_Y-194
left      no%,0
width      no%,SCREEN_X-29
min        no%,0
max        no%, max_width% - width(client_area%(n_client_area%))-20
'
on_change  no%,scroll_horizontal
return
'
' ******************************************************************************
add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return
' ******************************************************************************
add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return
'
' ******************************************************************************
initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return

scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if top(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if left(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  return

area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  return

main:
  x_client_area% = 1
  gosub area1
  return
' ******************************************************************************
' *** Objekt anhängen **********************************************************
OBJEKT_AN:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",PARENTNUMMER1%,PARENTNUMMER2%,1)
dll_off
RETURN
' ******************************************************************************
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
RETURN
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyJeu 24 Mai 2012 - 17:55

Die Routine add_object wird dazu verwendet, alle Objekte einer client area, die gescrollt werden müssen, in eine Tabelle zu tun. Es genügt, für Deinen Trennungs-Markierer NICHT diese Routine aufzurufen, und so bleibt diese Objekt fixiert.

Ich hatte Schwierigkeiten, die vertikale Position dieses Markierers zu sehen. So habe ich sie auf 580 fixiert, aber das kannst Du ja ändern. Hier ist der korrigierte Kode - meine Änderungen sind mit ": ' klaus" markiert (6 insgesamt).

La routine add_object sert à mémoriser dans une table, tous les objets d'une zone client dont la position sera affectée par un scrolling. Il suffit, pour ton marqueur de séparation, de ne PAS appeler cette routine, et ainsi cet objet reste fixe.

J'avais des difficultés pour voir la position verticale de ce marqueur. Je l'ai ainsi fixé à 580, mais tu pourras modifier cela. Voici le code corrigé - mes modifications sont marquées par ": ' klaus" (6 en tout).

Code:
' ******************************************************************************
'
'
'
'
'
'
'
'
label labels
gosub labels
' ***
gosub constantes
gosub variables
gosub form0000              :' Grundform
gosub form0001              :' Fussform
gosub form0002              :' Menueform
gosub form0003              :' Symbolform  für die Zukunft
gosub form0004              :' Clientform fix
gosub GUI                    :' Clientform variabel
' gosub initialisations
gosub main
end
' ***
labels:
label form0000  :' Grundform
label form0001  :' Fussform
label form0002  :' Menueform
label form0003  :' Symbolform  für die Zukunft
label form0004  :' Clientform fix
'
' *** VARIABLEN FÜR OBJEKTE anhängen und OBJEKTE abhängen LoadProgram.DLL ******
LABEL OBJEKT_AN              :' Objekt anhängen
LABEL detacher                :' Objekt abhängen
DIM PARENTNUMMER1%
DIM PARENTNUMMER2%
DIM ancien%
' ******************************************************************************
label constantes, variables,  GUI
' label initialisations
label main
  label add_object, scroll, scroll_horizontal, add_client_area
label area1
label area2
  return
' ******************************************************************************
constantes:
dim max_client_area%    : max_client_area% =    2
dim max_height%          : max_height%      = 4000
dim max_width%          : max_width%      = 4000
return
' ******************************************************************************
variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
dim SEITE%
dim i%
dim n%
dim x_client_area%
return
' ********** Grundform *********************************************************
form0000:
TOP          0000,0
LEFT          0000,0
width        0000,SCREEN_X
height        0000,SCREEN_Y-44
color        0000,000,000,000  :' schwarz / black
PARENTNUMMER2% = HANDLE(0000)    :' Form 0000
Return
' ********** Fussform **********************************************************
form0001:
COMMAND_TARGET_IS 0000
FORM          0001
TOP          0001,SCREEN_Y-101
LEFT          0001,2
WIDTH        0001,SCREEN_X-12
HEIGHT        0001,28
FONT_NAME    0001,"Courier NEW"
FONT_SIZE    0001,08
COLOR        0001,000,255,000  :' grün / green
BORDER_HIDE  0001
PARENTNUMMER1% = HANDLE(0001)    :' Form 0001 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0000
GOSUB OBJEKT_AN
return
' ********** Menueform *********************************************************
form0002:
COMMAND_TARGET_IS 0000
FORM          0002
TOP          0002,2
LEFT          0002,2
WIDTH        0002,SCREEN_X-12
HEIGHT        0002,0                  :' SCREEN_Y-106
FONT_NAME    0002,"Courier NEW"
FONT_SIZE    0002,04
Color        0002,255,255,000    :' gelb / yello
BORDER_HIDE  0002
PARENTNUMMER1% = HANDLE(0002)    :' Form 0002 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0002
GOSUB OBJEKT_AN
'
COMMAND_TARGET_IS 0002
' *** Hauptmenü erstellen ******************************************************
main_menu 0009
' *** ERSTELLEN DES HAUPTMENÜ 9001 bis 9020 ************************************
sub_menu 9001:CAPTION 9001,"TEXT_MENUE_00$(01,SPRACHE%)":parent 9001,0009
sub_menu 9002:CAPTION 9002,"TEXT_MENUE_00$(02,SPRACHE%)":parent 9002,0009
sub_menu 9003:CAPTION 9003,"TEXT_MENUE_00$(03,SPRACHE%)":parent 9003,0009
'
sub_menu 9100:CAPTION 9100,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9100,9001
sub_menu 9101:CAPTION 9101,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9101,9001
sub_menu 9102:CAPTION 9102,"TEXT_MENUE_01$(i,SPRACHE%)":parent 9102,9001
'
return
' ******************************************************************************
' ********** Symbolform  für die Zukunft **************************************
form0003:
COMMAND_TARGET_IS 0000
FORM          0003
TOP          0003,22
LEFT          0003,2
WIDTH        0003,SCREEN_X-12
HEIGHT        0003,50
FONT_NAME    0003,"Courier NEW"
FONT_SIZE    0003,06
COLOR        0003,255,000,000    :' rot / red
PARENTNUMMER1% = HANDLE(0003)    :' Form 0003 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0003
GOSUB OBJEKT_AN
BORDER_HIDE  0003
' return
' *** Button 1 *****************************************************************
COMMAND_TARGET_IS 0003
no% = no% + 10
button no%
top no%,10
left no%,10
caption no%,"Client area 1"
on_click no%,area1

' *** Button 2 *****************************************************************
COMMAND_TARGET_IS 0003
no% = no% + 1
button no%
top no%,10
left no%,110
caption no%,"Client area 2"
on_click no%,area2
return
' ******************************************************************************
' ********** Clientform fix ****************************************************
form0004:
COMMAND_TARGET_IS 0000
FORM          0004
TOP          0004,74
LEFT          0004,2
WIDTH        0004,SCREEN_X-12
HEIGHT        0004,SCREEN_Y-177
FONT_NAME    0004,"Courier NEW"
FONT_SIZE    0004,06
COLOR        0004,000,000,255    :' blau / blue
PARENTNUMMER1% = HANDLE(0004)    :' Form 0004 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  0004
return
' ******************************************************************************
' ********** Clientform variabel  **********************************************
GUI:
' *** client area # 1 **********************************************************
COMMAND_TARGET_IS 0004
no% =          no% + 10
Form          no%
hide          no%
gosub add_client_area
top            no%,0
left          no%,0
' caption        no%,"Client area 1"
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,06
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 0010 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  no%
'
' *** Bar rechts auf Variabler Clientarena # 1 *********************************
no% =      no% + 1
scroll_bar no%
scroll_bar%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
vertical  no%
top        no%,0
left      no%,SCREEN_X-30
height    no%,SCREEN_Y-195
min        no%,0
max        no%, max_height% - height(client_area%(n_client_area%))-20
'
on_change no%,scroll
'
' *** Seiten Abgrenzungen ******************************************************
FOR SEITE% = 2 TO 7  :' muß noch aus Höhe berechnet werden
'
no% =    no% + SEITE%
container no%
parent    no%,client_area%(n_client_area%)
' top      no%,(SCREEN_Y-195) * (SEITE%-1)    : ' klaus
top      no%,580                              : ' klaus
left      no%,2
width    no%,SCREEN_X-35
height    no%,10
' color    no%,255,000,000
caption no%,"Seite  "+STR$(seite%)+"  Clientarena 1"
' gosub add_object                            : ' klaus
'
NEXT SEITE%
'
' *** AB HIER PROGRAMM *********************************************************
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object

'  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
'    no_memo% = no% : bar_vertical no%
'    top no%,550 : left no%,20 : width no%,400 : height no%,200
'  gosub add_object

  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
'
' *** BIS HIER PROGRAMM ********************************************************
' *** Bar unten auf Variabler Clientarena # 1 **********************************
' *** this objekt must be the LAST for the FORM  ! *****************************
no% =      no% + 1
scroll_bar no%
scroll_bar_horizontal%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
horizontal no%
top        no%,SCREEN_Y-194
left      no%,0
width      no%,SCREEN_X-29
min        no%,0
max        no%, max_width% - width(client_area%(n_client_area%))-20
'
on_change no%,scroll_horizontal
'
' ******************************************************************************
' *** client area # 2 **********************************************************
COMMAND_TARGET_IS 0004
no% =          no% + 20
form          no%
hide          no%
gosub add_client_area
top            no%,0
left          no%,0
' caption        no%,"Client area 2"
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,06
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 0020 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE    no%
'
' *** Bar rechts auf Variabler Clientarena  ************************************
no% =      no% + 1
scroll_bar no%
scroll_bar%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
vertical  no%
top        no%,0
left      no%,SCREEN_X-30
height    no%,SCREEN_Y-195
min        no%,0
max        no%, max_height% - height(client_area%(n_client_area%))-20
'
on_change no%,scroll
'
' *** Seiten Abgrenzungen ******************************************************
FOR SEITE% = 2 TO 7      :' muß noch aus Höhe berechnet werden
'
no% =    no% + SEITE%
container no%
parent    no%,client_area%(n_client_area%)
' top      no%,(SCREEN_Y-195) * (SEITE%-1)      : ' klaus
top      no%,580                                : ' klaus
left      no%,2
width    no%,SCREEN_X-35
height  no%,10
' color    no%,255,000,000
caption no%,"Seite  "+STR$(seite%)+"  Clientarena 2"
' gosub add_object                              : ' klaus
'
NEXT SEITE%
'
' *** Bar unten auf Variabler Clientarena # 2 **********************************
' this objekt must be the LAST for the CONTAINER !  ****************************
no% =      no% + 1
scroll_bar no%
scroll_bar_horizontal%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
horizontal no%
top        no%,SCREEN_Y-194
left      no%,0
width      no%,SCREEN_X-29
min        no%,0
max        no%, max_width% - width(client_area%(n_client_area%))-20
'
on_change  no%,scroll_horizontal
return
'
' ******************************************************************************
add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return
' ******************************************************************************
add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return
'
' ******************************************************************************
initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return

scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if top(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if left(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  return

area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  return

main:
  x_client_area% = 1
  gosub area1
  return
' ******************************************************************************
' *** Objekt anhängen **********************************************************
OBJEKT_AN:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",PARENTNUMMER1%,PARENTNUMMER2%,1)
dll_off
RETURN
' ******************************************************************************
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
RETURN
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyJeu 24 Mai 2012 - 20:14

@ Klaus

wenn ich deine änderung betrachte, verstehe ich diese nicht.

Ich habe statt fix-werte eine Variable um die Seiten abzugrenzen.
In Ihrer Verbesserung ist wieder ein Fix-Wert.
Das zerstört doch die Anpassung an verschiedene Bildschirmauflösungen.

Sind nur Fix-Werte möglich.

Code:
' *** Seiten Abgrenzungen ******************************************************
FOR SEITE% = 2 TO 7      :' muß noch aus Höhe berechnet werden
'
no% =    no% + SEITE%
container no%
parent    no%,client_area%(n_client_area%)
top      no%,(SCREEN_Y-195) * (SEITE%-1)      : ' klaus
' top      no%,580                                : ' klaus
left      no%,2
width    no%,SCREEN_X-35
height  no%,10
' color    no%,255,000,000
caption no%,"Seite  "+STR$(seite%)+"  Clientarena 2"
gosub add_object                              : ' klaus
'
NEXT SEITE%
'

Die Abgrenzung wird erst beim hochscrollen sichtbar, sie teilt die gesammte Clientarena in sichtbare Teile.
Bis zu diesem Zeitpunkt funktioniert alles.
Wenn die Abgrenzung sichtbar ist und dann horizontal gescrollt wird verschwindet die Abgrenzung.

Wenn dann auf vertikal geklickt wird ist sie wieder da.

Wieso funktioniert das mit deinem Text ?

Code:
no% =      no% + 1
alpha      no%
parent    no%,client_area%(n_client_area%)
font_size  no%,24
font_color no%,255,0,0
top        no%,1000
left      no%,1000
font_bold  no%
caption    no%,"My special text"
gosub add_object


Severin
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyJeu 24 Mai 2012 - 21:58

Muss der Trenner denn auch mit veschoben werden beim Scrollen ?

Est-ce que le séparateur doit aussi bouger en scrollant ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyJeu 24 Mai 2012 - 22:12

Der Seitentrenner soll fix auf seiner position bleiben, ähnlich wie blättern.
Idee für später.
Dein spezial Text steht ja auch fix und bleibt auch beim horizontalen verschieben stehn.

Zum Beispiel:

Max. Länge Clientarena 2000 Pixel hoch.
sichtbare Clientarena 500 Pixel hoch.
Also 4 Seiten mit 3 Trenner.

Später dann mit 4 Tasten blättern. Zukunft.
Severin

Wieso bleibt dein Text fix, ich verstehe das nicht. Question
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyJeu 24 Mai 2012 - 23:16

Hier eine Version mit einem fest sitzenden Trenner, dessen Text automatisch die Seitennummer anzeigt:
Voici une version avec un séparateur fixe, dont le texte montre automatiquement le numéro de page:
Code:
label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll, scroll_horizontal, add_client_area
  label area1, area2
  return

constantes:
  dim max_client_area% : max_client_area% =    2
  dim max_height%      : max_height%      = 2000
  dim max_width%      : max_width%      = 2000
  return

variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
  dim i%, n%, x_client_area%, separator%(max_client_area%)
  return

form0:
  width 0,808 : height 0,800
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Client area 1" : on_click no%,area1
  no% = no% + 1 : button no% : top no%,10 : left no%,110
    caption no%,"Client area 2" : on_click no%,area2
  return

GUI:
' client area # 1
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 1"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,0 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 1 Page 1"
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal

' client area # 2
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 2"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,200
    font_bold no% : caption no%,"Text for second client area"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,0 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 2 Page 1"
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return

add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return

add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return

initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return

scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if top(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if left(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

main:
  x_client_area% = 1
  gosub area1
  return

Wenn Du ein Objekt fixieren willst, musst Du einfach den Aufruf von add_object weglassen. Das Objekt muss dann allerdings im normalen Bildschirm sichtbar sein.

Si tu veux fixer un objet, tu dois simplement omettre l'appel de add_object. Cependant, l'objet doit alors être visible dans l'écran normal.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyVen 25 Mai 2012 - 12:34

Hier eine Version mit folgenden Eigenschaften:
- client area 1 hat einen Trenner, der beim Scrollen mitbewegt wird und NICHT verschwindet
- client area 2 hat einen Trenner, der fest am unteren Rand sitzt und die Seitennummer anzeigt
- eine neue Konstante option_left_hide% kann das Verschwinder der Objekte beim horizontalen Scrollen - eine neue Konstante option_top_hide% kann das Verschwinder der Objekte beim vertikalen Scrollen steuern

Voici une version avec les propriétés suivantes:
- la zone client 1 a un séparateur qui participe au scrolling vertical et ne disparaît PAS
- la zone client 2 a un séparateur fixe au bord inférieur et indique le numéro de page
- une nouvelle constante option_left_hide% peut gérer la disparition des objets en scroll horizontal
- une nouvelle constante option_top_hide% peut gérer la disparition des objets en scroll vertical

Code:
label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll, scroll_horizontal, add_client_area
  label area1, area2
  return

constantes:
  dim max_client_area%  : max_client_area%  =    2
  dim max_height%      : max_height%      = 2000
  dim max_width%        : max_width%        = 2000
  ' put 1 into following option to hide objects disappearing to the left
  dim option_left_hide% : option_left_hide% =    0
  dim option_top_hide%  : option_left_hide% =    0
  return

variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
  dim i%, n%, x_client_area%, separator%(max_client_area%)
  return

form0:
  width 0,808 : height 0,800
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Client area 1" : on_click no%,area1
  no% = no% + 1 : button no% : top no%,10 : left no%,110
    caption no%,"Client area 2" : on_click no%,area2
  return

GUI:
' client area # 1
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 1"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,0 : width no%,width(client_area%(n_client_area%))-20
    top no%,780 : height no%,20 : caption no%,"Client area 1 Page 1"
    gosub add_object
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal

' client area # 2
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 2"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,200
    font_bold no% : caption no%,"Text for second client area"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,1 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 2 Page 1"
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return

add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return

add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return

initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return

scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  if x_client_area%<>1
    caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  end_if
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if option_top_hide%=1
      if top(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return

scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if option_left_hide%=1
      if left(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return

area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

main:
  x_client_area% = 1
  gosub area1
  return


Dernière édition par Klaus le Ven 25 Mai 2012 - 13:03, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyVen 25 Mai 2012 - 12:54

@ Klaus

Ich habe auf Arena2 ein Grid erstellt.

60 Zeilen lang.
Sobald der obere Rand vom Container erreicht wird verschwindet es.
Eigenartig. Ich bin ratlos. Gerade das war ja die Idee grosse Objekte zu scrollen.

Severin

Habe gerade deinen Beitrag gesehen. Bin auf der Heimreise.
Bis heute Abend.


Code:
'

label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll, scroll_horizontal, add_client_area
  label area1, area2
  return

constantes:
  dim max_client_area% : max_client_area% =    2
  dim max_height%      : max_height%      = 2000
  dim max_width%      : max_width%        = 2000
  return

variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
  dim i%, n%, x_client_area%, separator%(max_client_area%)
  return

form0:
  width 0,808 : height 0,800
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Client area 1" : on_click no%,area1
  no% = no% + 1 : button no% : top no%,10 : left no%,110
    caption no%,"Client area 2" : on_click no%,area2
  return

GUI:
' client area # 1
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 1"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,0 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 1 Page 1"
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal

' client area # 2
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 2"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
'
no% = no% + 1
grid        no%
parent      no%,client_area%(n_client_area%)
font_size no%,24
font_color no%,255,0,0
top        no%,50
left      no%,40
width      No%,500
height    no%,1500
font_bold  no%
grid_row  no%,60
grid_column no%,6

' caption no%,"Text for second client area"
gosub add_object


'  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
'    separator%(n_client_area%) = no%
'    left no%,0 : width no%,width(client_area%(n_client_area%))-20
'    top no%,560 : height no%,20 : caption no%,"Client area 2 Page 1"
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return

add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return

add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return

initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return

scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if top(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if left(tab_obj%(i%,x_client_area%))<10
      hide tab_obj%(i%,x_client_area%)
    else
      show tab_obj%(i%,x_client_area%)
    end_if
  next i%
  return

area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

main:
  x_client_area% = 1
  gosub area1
  return
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyVen 25 Mai 2012 - 13:05

Das ist geregelt mit meiner letzten Version: Du kannst das Verschwinden des Objekte getrennt für horizontales un vertikales Scrolling steuern.

C'est réglé avec ma dernière version: tu peux gérer la disparition des objets séparément pour le scroll vertical et horizontal.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyVen 25 Mai 2012 - 21:18

@ Klaus

ich habe auch den Vertical Scroll nach hinten gesetzt.
Bei grossen Objekten wird der Vertikal Scroll verdeckt.
So ist er über dem Objekt. Richtig ?
Siehe Edit arena 1.

Frage zum Container:
Wenn dieser Farbig ist, geht die Farbe über den oberen Rand hinaus.
ich habe den Container rot gefärbt.
Ist das so gedacht ?

Entschuldige meine dauernde Fragerei, aber ich möchte eine saubere Oberfläche.
Severin


Code:
label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll, scroll_horizontal, add_client_area
  label area1, area2
  return

constantes:
  dim max_client_area%  : max_client_area%  =    2
  dim max_height%      : max_height%      = 2000
  dim max_width%        : max_width%        = 2000
  ' put 1 into following option to hide objects disappearing to the left
  dim option_left_hide% : option_left_hide% =    0
  dim option_top_hide%  : option_left_hide% =    0
  return

variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
  dim i%, n%, x_client_area%, separator%(max_client_area%)
  return

form0:
  width 0,808 : height 0,800
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Client area 1" : on_click no%,area1

  no% = no% + 1 : button no% : top no%,10 : left no%,110
    caption no%,"Client area 2" : on_click no%,area2

  no% = no% + 1 : button no% : top no%,69 : left no%,210
    caption no%,"hier die Kante"
    return

GUI:
' client area # 1
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 1"
    width no%,800 : height no%,600
    color no%,255,000,000

'  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
'    parent no%,client_area%(n_client_area%)
'    vertical no% : top no%,10 : left no%,780 : height no%,585
'    min no%,0
'    max no%, max_height% - height(client_area%(n_client_area%))-20
'    on_change no%,scroll


  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,860
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,0 : width no%,width(client_area%(n_client_area%))-20
    top no%,780 : height no%,20 : caption no%,"Client area 1 Page 1"
    gosub add_object
' ******************************************************************************
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll


' ******************************************************************************
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal

' client area # 2
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 2"
    width no%,800 : height no%,600
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,200
    font_bold no% : caption no%,"Text for second client area"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,1 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 2 Page 1"
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return

add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return

add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return

initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return

scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  if x_client_area%<>1
    caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  end_if
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if option_top_hide%=1
      if top(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return

scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if option_left_hide%=1
      if left(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return

area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

main:
  x_client_area% = 1
  gosub area1
  return
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyVen 25 Mai 2012 - 22:25

Vertikal scroll nach hinten - richtig.

Der CONTAINER wird nicht durch die Rahmenlinien begrenzt. Diese werden einige Pixels innerhalb des Containers gezeichnet. Die rote Farbe zeigt dir genauen Dimensionen des Containers.

Scroll vertical ver la fin - correct.

Le CONTAINER n'est pas limité par les lignes de la bordure. Celles-ci sont dessinées quelques pixels à l'intérieur. La couleur rouge montre les dimensions exactes du container.

Damit alle die Änderung haben können:
Pour que tous puissent avoir la modification:
Code:
label labels : gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
gosub initialisations
gosub main
end

labels:
  label constantes, variables, form0, GUI, initialisations, main
  label add_object, scroll, scroll_horizontal, add_client_area
  label area1, area2
  return

constantes:
  dim max_client_area%  : max_client_area%  =    2
  dim max_height%      : max_height%      = 2000
  dim max_width%        : max_width%        = 2000
  ' put 1 into following option to hide objects disappearing to the left
  dim option_left_hide% : option_left_hide% =    0
  dim option_top_hide%  : option_left_hide% =    0
  return

variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar%(max_client_area%), scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
  dim i%, n%, x_client_area%, separator%(max_client_area%)
  return

form0:
  width 0,808 : height 0,800
  no% = no% + 1 : button no% : top no%,10 : left no%,10
    caption no%,"Client area 1" : on_click no%,area1
  no% = no% + 1 : button no% : top no%,10 : left no%,110
    caption no%,"Client area 2" : on_click no%,area2
  return

GUI:
' client area # 1
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 1"
    width no%,800 : height no%,600
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    top no%,20 : left no%,20
    caption no%,"Name:"
    gosub add_object
  no% = no% + 1 : edit no% : parent no%,client_area%(n_client_area%)
    no_name% = no%
    top no%,20 : left no%,60
    gosub add_object
  no% = no% + 1 : memo no% : parent no%,client_area%(n_client_area%)
    no_memo% = no% : bar_vertical no%
    top no%,550 : left no%,20 : width no%,400 : height no%,200
    gosub add_object
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,1000
    font_bold no% : caption no%,"My special text"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,0 : width no%,width(client_area%(n_client_area%))-20
    top no%,780 : height no%,20 : caption no%,"Client area 1 Page 1"
    gosub add_object
' these 2 objects must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal

' client area # 2
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 2"
    width no%,800 : height no%,600
  no% = no% + 1 : alpha no% : parent no%,client_area%(n_client_area%)
    font_size no%,24 : font_color no%,255,0,0
    top no%,200 : left no%,200
    font_bold no% : caption no%,"Text for second client area"
    gosub add_object
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,1 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 2 Page 1"
' these 2 objects must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no% : scroll_bar%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return

add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return

add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return

initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return

scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  if x_client_area%<>1
    caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  end_if
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if option_top_hide%=1
      if top(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return

scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if option_left_hide%=1
      if left(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return

area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return

main:
  x_client_area% = 1
  gosub area1
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptySam 26 Mai 2012 - 3:21

@ Klaus

Es funkioniert ausgezeichnet. Ich habe jetzt noch eine weitere
Arena angefügt. Ein Grid.
Leider sind nur 1666 Zeilen möglich. Ist Panoramic ausgereizt ?
Ich habe meine Version eingestellt.
Button 3 ist der Grid.
Severin

@ Klaus

Ça marche super. J'ai maintenant encore une autre
Arena ajouté. Une grille.
Malheureusement, seulement 1666 lignes sont possibles. Panoramic est maxed?
J'ai changé ma version.
Bouton 3 est la grille.
Severin


Code:
' ***
label labels
gosub labels
gosub constantes
gosub variables
gosub form0000              :' Grundform
gosub form0001              :' Fussform
gosub Hauptmenue            :' Data für Hauptmenü einlesen
gosub Untermenue            :' DATA für Untermenüs
gosub form0002              :' Menueform
gosub form0003              :' Symbolform  für die Zukunft
gosub form0004              :' Clientform fix
gosub CLIENTFORM            :' Clientform variabel
gosub main
end
labels:
label form0000  :' Grundform
label form0001  :' Fussform
label form0002  :' Menueform
label form0003  :' Symbolform  für die Zukunft
label form0004  :' Clientform fix
LABEL OBJEKT_AN              :' Objekt anhängen
LABEL detacher                :' Objekt abhängen
DIM PARENTNUMMER1%
DIM PARENTNUMMER2%
DIM ancien%
label Hauptmenue
label Untermenue
label constantes
label variables
label CLIENTFORM
label main
label add_object, scroll, scroll_horizontal, add_client_area
label area1
label area2
label area3
return
constantes:
dim max_client_area%    : max_client_area% =    3
' dim max_height%          : max_height%      = (SCREEN_Y-190) * 7
 dim max_height%          : max_height%      = 80000
dim max_width%          : max_width%      = SCREEN_X +20 :' muß immer > SCREEN_X
' dim max_width%          : max_width%      = 4000
dim option_left_hide%    : option_left_hide% =    0
dim option_top_hide%    : option_left_hide% =    0
return
variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim no_name%, no_memo%
dim scroll_bar%(max_client_area%)
dim scroll_bar_horizontal%(max_client_area%)
dim scroll_pos%(max_client_area%)
dim scroll_pos_horizontal%(max_client_area%)
dim n_obj%(max_client_area%)
dim tab_obj%(200,max_client_area%)
dim SEITE%
dim i%
DIM j%
dim n%
dim x_client_area%
' *** VARIABLE FÜR MENÜS ERSTELLEN
DIM Menuetext$
DIM TEXT_MENUE_00$(20,3)
DIM TEXT_MENUE_01$(9000,3)
DIM TITEL$(99,3)
DIM SPRACHE%    :Sprache% = 3
return
' ********** Grundform
form0000:
TOP          0000,0
LEFT          0000,0
width        0000,SCREEN_X
height        0000,SCREEN_Y-44
caption      0000,"REFA - Programme"
color        0000,000,000,000        :' schwarz / black
PARENTNUMMER2% = HANDLE(0000)        :' Form 0000
Return
' ********** Fussform **
form0001:
COMMAND_TARGET_IS 0000
FORM          0001
TOP            0001,SCREEN_Y-101
LEFT          0001,2
WIDTH          0001,SCREEN_X-12
HEIGHT        0001,28
FONT_NAME      0001,"Courier NEW"
FONT_SIZE      0001,08
COLOR          0001,000,255,000        :' grün / green
BORDER_HIDE    0001
PARENTNUMMER1% = HANDLE(0001)        :' Form 0001 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)        :' Form 0000
GOSUB OBJEKT_AN
return
' ********** Menueform *********************************************************
form0002:
COMMAND_TARGET_IS 0000
FORM          0002
TOP          0002,2
LEFT          0002,2
WIDTH        0002,SCREEN_X-12
HEIGHT        0002,0                  :' SCREEN_Y-106
FONT_NAME    0002,"Courier NEW"
FONT_SIZE    0002,04
Color        0002,000,000,000        :' schwarz / black
BORDER_HIDE  0002
PARENTNUMMER1% = HANDLE(0002)        :' Form 0002 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)          :' Form 0002
GOSUB OBJEKT_AN
COMMAND_TARGET_IS 0002
' *** Hauptmenü erstellen ******************************************************
main_menu 0009
' *** ERSTELLEN DES HAUPTMENÜ 9001 bis 9020 ************************************
sub_menu 9001:CAPTION 9001,TEXT_MENUE_00$(01,SPRACHE%):parent 9001,0009
sub_menu 9002:CAPTION 9002,TEXT_MENUE_00$(02,SPRACHE%):parent 9002,0009
sub_menu 9003:CAPTION 9003,TEXT_MENUE_00$(03,SPRACHE%):parent 9003,0009
sub_menu 9004:CAPTION 9004,TEXT_MENUE_00$(04,SPRACHE%):parent 9004,0009
sub_menu 9005:CAPTION 9005,TEXT_MENUE_00$(05,SPRACHE%):parent 9005,0009
sub_menu 9006:CAPTION 9006,TEXT_MENUE_00$(06,SPRACHE%):parent 9006,0009
sub_menu 9007:CAPTION 9007,TEXT_MENUE_00$(07,SPRACHE%):parent 9007,0009
sub_menu 9008:CAPTION 9008,TEXT_MENUE_00$(08,SPRACHE%):parent 9008,0009
sub_menu 9009:CAPTION 9009,TEXT_MENUE_00$(09,SPRACHE%):parent 9009,0009
sub_menu 9010:CAPTION 9010,TEXT_MENUE_00$(10,SPRACHE%):parent 9010,0009
sub_menu 9011:CAPTION 9011,TEXT_MENUE_00$(11,SPRACHE%):parent 9011,0009
sub_menu 9012:CAPTION 9012,TEXT_MENUE_00$(12,SPRACHE%):parent 9012,0009
sub_menu 9013:CAPTION 9013,TEXT_MENUE_00$(13,SPRACHE%):parent 9013,0009
sub_menu 9014:CAPTION 9014,TEXT_MENUE_00$(14,SPRACHE%):parent 9014,0009
sub_menu 9015:CAPTION 9015,TEXT_MENUE_00$(15,SPRACHE%):parent 9015,0009
sub_menu 9016:CAPTION 9016,TEXT_MENUE_00$(16,SPRACHE%):parent 9016,0009
sub_menu 9017:CAPTION 9017,TEXT_MENUE_00$(17,SPRACHE%):parent 9017,0009
sub_menu 9018:CAPTION 9018,TEXT_MENUE_00$(18,SPRACHE%):parent 9018,0009
sub_menu 9019:CAPTION 9019,TEXT_MENUE_00$(19,SPRACHE%):parent 9019,0009
sub_menu 9020:CAPTION 9020,TEXT_MENUE_00$(20,SPRACHE%):parent 9020,0009
INACTIVE 9018
' *** Hauptmenue 01 --- DATEI UNTERMENÜ  1000 bis 1360 *************************
FOR i% = 9100 TO 9118
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9001:NEXT i%
INACTIVE 9104:INACTIVE 9117:' Teilstriche im Submenü
FOR i% = 9120 TO 9138
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9002:NEXT i%
FOR i% = 9140 TO 9158
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9003:NEXT i%
FOR i% = 9160 TO 9178
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9004:NEXT i%
FOR i% = 9180 TO 9198
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9005:NEXT i%
FOR i% = 9200 TO 9218
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9006:NEXT i%
FOR i% = 9220 TO 9238
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9007:NEXT i%
FOR i% = 9240 TO 9258
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9008:NEXT i%
FOR i% = 9260 TO 9278
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9009:NEXT i%
FOR i% = 9280 TO 9298
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9010:NEXT i%
FOR i% = 9300 TO 9318
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9011:NEXT i%
FOR i% = 9320 TO 9338
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9012:NEXT i%
FOR i% = 9340 TO 9358
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9013:NEXT i%
FOR i% = 9360 TO 9378
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9014:NEXT i%
FOR i% = 9380 TO 9398
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9015:NEXT i%
FOR i% = 9400 TO 9418
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9016:NEXT i%
FOR i% = 9420 TO 9438
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9017:NEXT i%
FOR i% = 9460 TO 9478
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9019:NEXT i%
FOR i% = 9480 TO 9498
sub_menu i%:CAPTION i%,TEXT_MENUE_01$(i%-9099,SPRACHE%):parent i%,9020:NEXT i%
return
' ********** Symbolform  für die Zukunft
form0003:
COMMAND_TARGET_IS 0000
FORM          0003
TOP          0003,22
LEFT          0003,2
WIDTH        0003,SCREEN_X-12
HEIGHT        0003,50
FONT_NAME    0003,"Courier NEW"
FONT_SIZE    0003,06
COLOR        0003,255,000,000    :' rot / red
PARENTNUMMER1% = HANDLE(0003)    :' Form 0003 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0003
GOSUB OBJEKT_AN
BORDER_HIDE  0003
' *** Button 1 *****
COMMAND_TARGET_IS 0003
no% = no% + 10
button no%
top no%,10
left no%,10
caption no%,"Client area 1"
on_click no%,area1
' *** Button 2 *******
COMMAND_TARGET_IS 0003
no% = no% + 1
button no%
top no%,10
left no%,110
caption no%,"Client area 2"
on_click no%,area2
' *** Button 3 ********
COMMAND_TARGET_IS 0003
no% = no% + 1
button no%
top no%,10
left no%,210
caption no%,"TABELLE area 3"
on_click no%,area3
return
' ********** Clientform fix ****
form0004:
COMMAND_TARGET_IS 0000
FORM          0004
TOP          0004,74
LEFT          0004,2
WIDTH        0004,SCREEN_X-12
HEIGHT        0004,SCREEN_Y-177
FONT_NAME    0004,"Courier NEW"
FONT_SIZE    0004,06
COLOR        0004,000,000,255    :' blau / blue
PARENTNUMMER1% = HANDLE(0004)    :' Form 0004 auf Form 0000
PARENTNUMMER2% = HANDLE(0000)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  0004
return
' ********** Clientform variabel  ***
CLIENTFORM:
COMMAND_TARGET_IS 0004
no% =          no% + 10
Form            no%
hide            no%
gosub add_client_area
top            no%,0
left            no%,0
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,06
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 0010 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE  no%
' *** Seiten Abgrenzungen # 1 ******
FOR SEITE% = 1 TO (max_height%+(SCREEN_Y-190))/(SCREEN_Y-190)
no% =      no% + 1
container  no%
parent    no%,client_area%(n_client_area%)
top        no%,((SCREEN_Y-195) * (SEITE%-1))
left      no%,2
width      no%,max_width%-42      :' SCREEN_X-75
height    no%,20
color      no%,229,229,229
caption no%,"Seite  "+STR$(seite%)+"  Clientarena 1"
gosub add_object
NEXT SEITE%
no% =      no% + 1
alpha      no%
parent    no%,client_area%(n_client_area%)
font_size  no%,24
font_color no%,255,0,0
top        no%,1000
left      no%,1000
font_bold  no%
caption    no%,"My special text"
gosub add_object
' *** BIS HIER PROGRAMM *******
no% =      no% + 1
scroll_bar no%
scroll_bar%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
vertical  no%
top        no%,0
left      no%,SCREEN_X-30
height    no%,SCREEN_Y-195
min        no%,0
max        no%, max_height% - height(client_area%(n_client_area%))-20
on_change no%,scroll
' *** Bar unten auf Variabler Clientarena # 1 *******
no% =      no% + 1
scroll_bar no%
scroll_bar_horizontal%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
horizontal no%
top        no%,SCREEN_Y-194
left      no%,0
width      no%,SCREEN_X-29
min        no%,0
max        no%, max_width% - width(client_area%(n_client_area%))-20
on_change no%,scroll_horizontal
' *** client area # 2 ***********
COMMAND_TARGET_IS 0004
no% =          no% + 30
form          no%
hide          no%
gosub add_client_area
top            no%,0
left          no%,0
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,06
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 0020 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE    no%
' *** Seiten Abgrenzungen ********
FOR SEITE% = 1 TO (max_height%+(SCREEN_Y-190))/(SCREEN_Y-190)
no% =      no% + 1
container  no%
parent    no%,client_area%(n_client_area%)
top        no%,((SCREEN_Y-195) * (SEITE%-1))
left      no%,2
width      no%,max_width%-42      :' SCREEN_X-75
height    no%,20
color      no%,229,229,229
caption no%," Seite  "+STR$(seite%)+"  Clientarena 2 "
gosub add_object
NEXT SEITE%
' ********************
no% =      no% + 1
alpha      no%
parent    no%,client_area%(n_client_area%)
font_size  no%,24
font_color no%,255,0,0
top        no%,1000
left      no%,1000
font_bold  no%
caption    no%,"My special text"
gosub add_object
' *** Bar rechts auf Variabler Clientarena  ****
no% =      no% + 1
scroll_bar no%
scroll_bar%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
vertical  no%
top        no%,0
left      no%,SCREEN_X-30
height    no%,SCREEN_Y-195
min        no%,0
max        no%, max_height% - height(client_area%(n_client_area%))-20
on_change no%,scroll
' *** Bar unten auf Variabler Clientarena # 2 ******
no% =      no% + 1
scroll_bar no%
scroll_bar_horizontal%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
horizontal no%
top        no%,SCREEN_Y-194
left      no%,0
width      no%,SCREEN_X-29
min        no%,0
max        no%, max_width% - width(client_area%(n_client_area%))-20
on_change  no%,scroll_horizontal
' *** client area # 3 ****************
COMMAND_TARGET_IS 0004
no% =          no% + 30
form          no%
hide          no%
gosub add_client_area
top            no%,0
left          no%,0
width          no%,SCREEN_X-12
height        no%,SCREEN_Y-177
FONT_NAME      no%,"Courier NEW"
FONT_SIZE      no%,06
COLOR          no%,229,229,229
PARENTNUMMER1% = HANDLE(no%)    :' Form 0020 auf Form 0004
PARENTNUMMER2% = HANDLE(0004)    :' Form 0004
GOSUB OBJEKT_AN
BORDER_HIDE    no%
' *** Programm - Teil beginn *** Tabelle erstellen *****
DIM Zeilennummer$
Zeilennummer$ = "0000"
DIM Spaltennummer$
Spaltennummer$ = "0000"
DIM Spalte%    : Spalte% = 00010
DIM Zeile%    :  Zeile% = 01680
DIM TABWERTE%(Zeile%,Spalte%)
DIM TABTEXTE$(Zeile%,Spalte%)
DIM a
DIM b
' ****************
no% =      no% + 1
grid                  no%
parent    no%,client_area%(n_client_area%)
hide                  no%
top                  no%,100      :' Anzahl Pixel von oben
left                  no%,100      :' Anzahl der Pixel von links
width                no%,964      :' Tabellen Breite
height                no%,78500    :' Tabellen Höhe
grid_column          no%,Spalte%  :' Anzahl Spalten
grid_row              no%,Zeile%  :' Anzahl Zeilen
grid_column_width    no%,100      :' Breite Spalten
grid_row_height      no%,19      :' Höhe Spalten
grid_column_fixed    no%,1        :' Anzahl fixierter Spalten
grid_row_fixed        no%,1        :' Anzahl fixierter Zeilen
grid_fixed_color      no%,255,0,0  :' Farbe der fixierten Spalten/Zeilen
grid_one_column_width no%,1,50    :' Erste Spalte mit xx Pixel
grid_one_row_height  no%,1,20    :' Erste Zeile mit xx Pixel
grid_column_sizing_off no%          :' Spalten sind mit der Maus nicht verschiebbar
grid_row_sizing_off no%            :' Zeilen sind mit der Maus nicht verschiebbar
' Beschriftung von Zeilen X und Spalten Y *******
show no%
For i% = 1 to Zeile%
Zeilennummer$ = "0000"
Zeilennummer$ = Zeilennummer$+STR$(i%)
Zeilennummer$ = Right$(Zeilennummer$,4)
Zeilennummer$ = "  " + Zeilennummer$
grid_write no%,i%+1,1,Zeilennummer$      :' schreiben ab 2. Zeile, 1. Spalte
next i%
' *** Beschriftung der 2. bis Y. Spalte ********
For i% = 1 to Spalte%
Spaltennummer$ = "0000"
Spaltennummer$ = Spaltennummer$+STR$(i%)
Spaltennummer$ = Right$(Spaltennummer$,4)
Spaltennummer$ = "  " + Spaltennummer$
grid_write no%,1,i%+1,Spaltennummer$      :' schreiben ab 2. Spalte, 1. Zeile
next i%
grid_write no%,1,1,"SEVERIN"                :' schreiben in Spalte 1, Zeile 1
gosub add_object
' *** Bar rechts auf Variabler Clientarena  ****
no% =      no% + 1
scroll_bar no%
scroll_bar%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
vertical  no%
top        no%,0
left      no%,SCREEN_X-30
height    no%,SCREEN_Y-195
min        no%,0
max        no%, max_height% - height(client_area%(n_client_area%))-20
on_change no%,scroll
' *** Bar unten auf Variabler Clientarena # 3 **********************************
no% =      no% + 1
scroll_bar no%
scroll_bar_horizontal%(n_client_area%) = no%
parent    no%,client_area%(n_client_area%)
horizontal no%
top        no%,SCREEN_Y-194
left      no%,0
width      no%,SCREEN_X-29
min        no%,0
max        no%, max_width% - width(client_area%(n_client_area%))-20
on_change  no%,scroll_horizontal
return

add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return
' ****************
add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return
' *****************
initialisations:
  for i%=1 to (max_client_area%)
    scroll_pos%(i%) = 0
  next i%
  for i%=1 to 50
    item_add no_memo%,"Line "+str$(i%)
  next i%
  return
' ******
scroll:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar%(x_client_area%))
  if x_client_area%<>1
'    caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  end_if
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if option_top_hide%=1
      if top(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return
' ************
scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
'
    if option_left_hide%=1
      if left(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return
' ************
area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
'  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return
' ***********
area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
' caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return
' ************
area3:
  hide client_area%(x_client_area%)
  x_client_area% = 3
  show client_area%(x_client_area%)
' caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return
' **********
main:
  x_client_area% = 1
  gosub area1
  return
' *** Objekt anhängen ********
OBJEKT_AN:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",PARENTNUMMER1%,PARENTNUMMER2%,1)
dll_off
RETURN
' *** Objekt abhängen *****
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
RETURN
' *** TEXT FÜR HAUPTMENÜ IN DATA ZELLEN ERSTELLEN **
DATA "DATEI"            ,"FILE"                ,"DOSSIER"
DATA "MENUE 02"          ,"MENU 02 "            ,"MENU 02"
DATA "MENUE 03"          ,"MENU 03 "            ,"MENU 03 "
DATA "MENUE 04"          ,"MENU 04 "            ,"MENU 04 "
DATA "MENUE 05"          ,"MENU 05 "            ,"MENU 05 "
DATA "MENUE 06"          ,"MENU 06 "            ,"MENU 06 "
DATA "MENUE 07"          ,"MENU 07 "            ,"MENU 07 "
DATA "MENUE 08"          ,"MENU 08 "            ,"MENU 08 "
DATA "MENUE 09"          ,"MENU 09 "            ,"MENU 09 "
DATA "MULTIMOMENTSTUDIE" ,"MULTI-DEGREE MOMENT " ,"PLUSIEURS DEGRÉS MOMENT "
DATA "MENUE 11"          ,"MENU 11 "            ,"MENU 11 "
DATA "FORMELBILDUNG"    ,"EDUCATION FORMULA "  ,"ÉDUCATION FORMULE "
DATA "MENUE 13"          ,"MENU 13 "            ,"MENU 13 "
DATA "MENUE 14"          ,"MENU 14 "            ,"MENU 14 "
DATA "MENUE 15"          ,"MENU 15 "            ,"MENU 15 "
DATA "Test-MENUE 16"    ,"Test-MENU 16 "        ,"Test-MENU 16 "
DATA "EINSTELLUNG"      ,"SETTING "            ," MISE EN "
DATA " "                ," "                    ," "
DATA "HILFE"            ,"HELP"                ,"AID"
DATA "INFO"              ,"INFO"                ,"INFO"
Hauptmenue:
FOR i% = 1 TO 20 :FOR j% = 1 TO 3
READ  TEXT_MENUE_00$(i%,j%)
NEXT j%  :NEXT i%
RETURN
DATA " Neu            "," New            "," Nouveau        "
DATA " Öffnen ...      "," Open ...        "," Ouvert ...      "
DATA " Speichern      "," Save            "," Sauver          "
DATA " Speichern unter "," Save under      "," Enregistrer sous"
DATA "====================","====================","===================="
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0107 "," SUB NENU  0107 "
DATA " UNTERMENUE 0108 "," SUB NENU  0108 "," SUB NENU  0108 "
DATA " UNTERMENUE 0109 "," SUB NENU  0109 "," SUB NENU  0109 "
DATA " UNTERMENUE 0110 "," SUB NENU  0110 "," SUB NENU  0110 "
DATA " UNTERMENUE 0111 "," SUB NENU  0111 "," SUB NENU  0111 "
DATA " UNTERMENUE 0112 "," SUB NENU  0112 "," SUB NENU  0112 "
DATA " UNTERMENUE 0113 "," SUB NENU  0113 "," SUB NENU  0113 "
DATA " UNTERMENUE 0114 "," SUB NENU  0114 "," SUB NENU  0114 "
DATA " UNTERMENUE 0115 "," SUB NENU  0115 "," SUB NENU  0115 "
DATA " UNTERMENUE 0116 "," SUB NENU  0116 "," SUB NENU  0116 "
DATA " UNTERMENUE 0117 "," SUB NENU  0117 "," SUB NENU  0117 "
DATA "====================","====================","===================="
DATA " QUIT            "," QUIT            "," QUIT            "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 " :' INAKTIV
' 02
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 " :' INAKTIV
' 03
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 04
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 " :' INAKTIV
' 05
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 06
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 " :' INAKTIV
' 07
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 08
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 09
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 10 MULTIMOMENTSTUDIE *********************************************************
DATA " MM -- 0101 "," MM --  0101 "," MM --  0101 "
DATA " MM -- 0102 "," MM --  0102 "," MM --  0102 "
DATA " MM -- 0103 "," MM --  0103 "," MM --  0103 "
DATA " MM -- 0104 "," MM --  0104 "," MM --  0104 "
DATA " MM -- 0105 "," MM --  0105 "," MM --  0105 "
DATA " MM -- 0106 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0107 "," MM --  0107 "," MM --  0107 "
DATA " MM -- 0108 "," MM --  0108 "," MM --  0108 "
DATA " MM -- 0109 "," MM --  0109 "," MM --  0109 "
DATA " MM -- 0110 "," MM --  0110 "," MM --  0110 "
DATA " MM -- 0111 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0112 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0113 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0114 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0115 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0116 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0117 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0118 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0119 "," MM --  0106 "," MM --  0106 "
DATA " MM -- 0120 "," MM --  0106 "," MM --  0106 "  :' INAKTIV
' 11
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 12
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 13
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 " :' INAKTIV
' 14
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' inaktiv
' 15
DATA " UNTERMENUE 0101 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0102 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0103 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0104 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0105 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0106 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0107 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0108 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0109 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0110 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0111 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0112 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0113 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0114 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0115 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0116 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0117 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0118 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0119 "," SUB NENU  0106 "," SUB NENU  0106 "
DATA " UNTERMENUE 0120 "," SUB NENU  0106 "," SUB NENU  0106 "  :' INAKTIV
' 16
DATA " TEST-U-Menü 1601 "," TEST-SUB MENU 1601 "," TEST-SUB MENU 1601 "
DATA " TEST-U-Menü 1602 "," TEST-SUB MENU 1602 "," TEST-SUB MENU 1602 "
DATA " TEST-U-Menü 1603 "," TEST-SUB MENU 1603 "," TEST-SUB MENU 1603 "
DATA " TEST-U-Menü 1604 "," TEST-SUB MENU 1604 "," TEST-SUB MENU 1604 "
DATA " TEST-U-Menü 1605 "," TEST-SUB MENU 1605 "," TEST-SUB MENU 1605 "
DATA " TEST-U-Menü 1606 "," TEST-SUB MENU 1606 "," TEST-SUB MENU 1606 "
DATA " TEST-U-Menü 1607 "," TEST-SUB MENU 1607 "," TEST-SUB MENU 1607 "
DATA " TEST-U-Menü 1608 "," TEST-SUB MENU 1608 "," TEST-SUB MENU 1608 "
DATA " TEST-U-Menü 1609 "," TEST-SUB MENU 1609 "," TEST-SUB MENU 1609 "
DATA " TEST-U-Menü 1610 "," TEST-SUB MENU 1610 "," TEST-SUB MENU 1610 "
DATA " TEST-U-Menü 1611 "," TEST-SUB MENU 1611 "," TEST-SUB MENU 1611 "
DATA " TEST-U-Menü 1612 "," TEST-SUB MENU 1612 "," TEST-SUB MENU 1612 "
DATA " TEST-U-Menü 1613 "," TEST-SUB MENU 1613 "," TEST-SUB MENU 1613 "
DATA " TEST-U-Menü 1614 "," TEST-SUB MENU 1614 "," TEST-SUB MENU 1614 "
DATA " TEST-U-Menü 1615 "," TEST-SUB MENU 1615 "," TEST-SUB MENU 1615 "
DATA " TEST-U-Menü 1616 "," TEST-SUB MENU 1616 "," TEST-SUB MENU 1616 "
DATA " TEST-U-Menü 1617 "," TEST-SUB MENU 1617 "," TEST-SUB MENU 1617 "
DATA " TEST-U-Menü 1618 "," TEST-SUB MENU 1618 "," TEST-SUB MENU 1618 "
DATA " TEST-U-Menü 1619 "," TEST-SUB MENU 1619 "," TEST-SUB MENU 1619 "
DATA " TEST-U-Menü 1620 "," TEST-SUB MENU 1620 "," TEST-SUB MENU 1620 ":' INAKTIV
' 17 EINSTELLUNGEN *************************************************************
DATA "Einstellungen"                    ," Settings                          "," Paramètres                                      "
DATA "Sprache einstellen"              ," Language set                      "," Langue fixé                                    "
DATA "Verzeichnis einstellen"          ,"directory Settings"                ,"les paramètres du répertoire                                    "
DATA "ACTIV 1704                      "," ACTIV  1704                      "," ACTIV  1704                                    "
DATA "ACTIV 1705                      "," ACTIV  1705                      "," ACTIV  1705                                    "
DATA "ACTIV 1706                      "," ACTIV  1706                      "," ACTIV  1706                                    "
DATA "ACTIV 1707                      "," ACTIV  1707                      "," ACTIV  1707                                    "
DATA "ACTIV 1708                      "," ACTIV  1708                      "," ACTIV  1708                                    "
DATA "ACTIV 1709                      "," ACTIV  1709                      "," ACTIV  1709                                    "
DATA "Daten aus Excel-Tabelle einlesen ","Reading data from Excel spreadsheet","La lecture des données de feuille de calcul Excel"
DATA "Daten als Excel-Tabelle speichern","Data as an Excel spreadsheet store ","Données d'un magasin feuille de calcul Excel    "
DATA "ACTIV 1712                      "," ACTIV  1712                      "," ACTIV  1712                                    "
DATA "ACTIV 1713                      "," ACTIV  1713                      "," ACTIV  1713                                    "
DATA "ACTIV 1714                      "," ACTIV  1714                      "," ACTIV  1714                                    "
DATA "ACTIV 1715                      "," ACTIV  1715                      "," ACTIV  1715                                    "
DATA "ACTIV 1716                      "," ACTIV  1716                      "," ACTIV  1716                                    "
DATA "ACTIV 1717                      "," ACTIV  1717                      "," ACTIV  1717                                    "
DATA "Programmierer INFO              ","Programmierer INFO                ","Programmierer INFO                              "
DATA "Menü ändern                      "," Menu change                      "," changement Menu                                "
DATA "INACTIV 1720"," INACTIV 1720 "," INACTIV 1720 "  :' INAKTIV
' 18
DATA " UNTERMENUE 1801 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1802 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1803 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1804 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1805 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1806 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1807 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1808 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1809 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1810 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1811 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1812 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1813 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1814 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1815 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1816 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1817 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1818 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1819 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
DATA " UNTERMENUE 1820 "," SUB NENU  1806 "," SUB NENU  1806 " :' INAKTIV
' 19  HILFE ********************************************************************
DATA "DATEI"                ,"FILE"                ,"DOSSIER"
DATA " HILFE 02 "          ," HELP 02 "            ," AID 02 "
DATA " HILFE 03 "          ," HELP 03 "            ," AID 03 "
DATA " HILFE 04 "          ," HELP 04 "            ," AID 04 "
DATA " HILFE 05 "          ," HELP 05 "            ," AID 05 "
DATA " HILFE 06 "          ," HELP 06 "            ," AID 06 "
DATA " HILFE 07 "          ," HELP 07 "            ," AID 07 "
DATA " HILFE 08 "          ," HELP 08 "            ," AID 08 "
DATA " HILFE 09 "          ," HELP 09 "            ," AID 09 "
DATA "zur Multimomentstudie","zur Multimomentstudie","zur Multimomentstudie"
DATA "HILFE 11"            ," HELP 11 "            ," AID 11 "
DATA "zur Formelbildung"    ,"zur Formelbildung"    ,"zur Formelbildung"
DATA " HILFE 13 "          ," HELP 13 "            ," AID 13 "
DATA " HILFE 14 "          ," HELP 14 "            ," AID 14 "
DATA " HILFE 15 "          ," HELP 15 "            ," AID 15 "
DATA " HILFE 16 "          ," HELP 16 "            ," AID 16 "
DATA "zu Einstellungen"    ,"zu Einstellungen"    ,"zu Einstellungen"
DATA " "," "," "  :' INAKTIV
DATA " "," "," "  :' INAKTIV
DATA " "," "," "  :' INAKTIV
' 20 INFORMATIONEN *************************************************************
DATA " über Programm  "," about Program  "," sur le Programme"
DATA " über Computer  "," about Computer  "," sur l'ordinateur"
DATA " über Netzwerk  "," about Network  "," sur le réseau  "
DATA " UNTERMENUE 2004 "," SUB NENU  2004 "," SUB NENU  2006 "
DATA " UNTERMENUE 2005 "," SUB NENU  2004 "," SUB NENU  2006 "
DATA " UNTERMENUE 2006 "," SUB NENU  2005 "," SUB NENU  2006 "
DATA " UNTERMENUE 2007 "," SUB NENU  2006 "," SUB NENU  2006 "
DATA " UNTERMENUE 2008 "," SUB NENU  2007 "," SUB NENU  2006 "
DATA " UNTERMENUE 2009 "," SUB NENU  2008 "," SUB NENU  2006 "
DATA " UNTERMENUE 2010 "," SUB NENU  2009 "," SUB NENU  2006 "
DATA " UNTERMENUE 2011 "," SUB NENU  2010 "," SUB NENU  2006 "
DATA " UNTERMENUE 2012 "," SUB NENU  2011 "," SUB NENU  2006 "
DATA " UNTERMENUE 2013 "," SUB NENU  2012 "," SUB NENU  2006 "
DATA " UNTERMENUE 2014 "," SUB NENU  2013 "," SUB NENU  2006 "
DATA " UNTERMENUE 2015 "," SUB NENU  2014 "," SUB NENU  2006 "
DATA " UNTERMENUE 2016 "," SUB NENU  2015 "," SUB NENU  2006 "
DATA " UNTERMENUE 2017 "," SUB NENU  2017 "," SUB NENU  2006 "
DATA " UNTERMENUE 2018 "," SUB NENU  2018 "," SUB NENU  2006 "
DATA " Kalender "      ," Calendar "      ," calendrier "
DATA " "," "," " :' INAKTIV
'
' *** UNTERMENÜ-TEXTE IN VARIABLEN EINLESEN ************************************
Untermenue:
FOR i% = 1 TO 400  :FOR j% = 1 TO 3
READ  TEXT_MENUE_01$(i%,j%)
NEXT j% :NEXT i%
Return
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptySam 26 Mai 2012 - 8:50

Nein, GRID ist nicht begrenzt. Ich habe Zeile 348 so abgeändert:
Non, Grid n'est pas limité. J'ai modifié la ligne 384 comme suit:
Code:
DIM Zeile%    :  Zeile% = 03000 : ' 01680
Das Grid zeigt 2999 Zeilen an.
Le grid montre 2999 lignes.

Du kannst auch 20000 eingeben, oder mehr...
Tu peux choisir aussi 20000, ou plus...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptySam 26 Mai 2012 - 13:58

@ Klaus

Das habe ich verstanden.
1. Test mit foldenden Einstellungen:

max_height% = 31300
Zeile% = 01548
height no%,31000 :' Tabellen Höhe

alles ok.

2. Test mit foldenden Einstellungen:

max_height% = 62300
Zeile% = 03000
height no%,61000 :' Tabellen Höhe

Hier stoppt die Tabelle bei 1666 Zeilen.
Wenn ich wieder hoch scrolle stimmt der Tabellenanfang nicht mehr.
Der Tabellenanfang ist ca. 1000 Pixel nach unten verschoben.
Speicherfehler ? aber keine Meldung
Panoramic ausgereizt ? Interner Speicher ?

Ich habe keine Idee, was da sein könnte.
Severin

Jack hatte die Begrenzung von 2000 Pixel aufgehoben.
Hat er eine grösser Grenze eingezogen ?
Ich hätte gern ca. 10000 Gridzeilen

@ Klaus

C'est ce que j'ai compris.
Première Essai avec les paramètres foldenden:

% max_height = 31300
% = 01 548 Row
tables à hauteur ': pas de% de la hauteur, 31000

ok tout.

Deuxième Essai avec les paramètres foldenden:

% max_height = 62300
% Row = 03 000
tables à hauteur ': pas de% de la hauteur, 61000

Voici le tableau s'arrête à 1666 lignes.
Quand je revenir en arrière jusqu'à la table ne démarre pas.
Le plateau est d'environ 1000 pixels vers le bas.
Erreur de mémoire? mais aucun message
Panoramique maxed? La mémoire interne?

Je n'ai aucune idée ce qui pourrait être là.
Severin

Jack avait ramassé la limite de 2000 pixels.
Il a attiré une plus grande frontière?
Je tiens à environ 10000 lignes de la grille
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyLun 28 Mai 2012 - 0:24

@ Klaus

Im Programm verstehe ich diese Zeilen nicht.

code:

constantes:
dim max_client_area% : max_client_area% = 2
dim max_height% : max_height% = 2000
dim max_width% : max_width% = 2000
' put 1 into following option to hide objects disappearing to the left
dim option_left_hide% : option_left_hide% = 0 Question
dim option_top_hide% : option_left_hide% = 0 Question
return

Danke für die Antwort
Severin
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin EmptyLun 28 Mai 2012 - 0:37

Citation :
dim option_left_hide% : option_left_hide% = 0
dim option_top_hide% : option_left_hide% = 0

Versuche mal, eine 1 anstelle des 0 zu verwenden ! Du wirsd sehen, dass die Objekte verschwinden, sowie sie beim vertikalen Scrollen am oberen Rand anstossen, oder beim horizontalen Scrollen am linken Rand.

Ich habe diese Optionen eingesetzt, weil Du sagtest, dass dir Objekte NICHT verschwinden sollten. Ich habe es also parametriert, da es für andere Anwendungen interessant ist, sie verschwinden zu lassen.

Essaie de mettre 1 à la place du 0 ! Tu verras que les objets disparaissent, dès qu'ils touchent le bord supérieur en scrolling vertical, ou le bord gauche en scrolling horizontal.

J'ai introduit ces options car tu disais que les objets de devaient PAS disparaître. Je l'ai donc rendu paramétrable, car pour d'autres applications, il peut être intéressant de les laisser disparaître.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Zone client selon l'idée de Severin Empty
MessageSujet: Client area   Zone client selon l'idée de Severin EmptyLun 28 Mai 2012 - 18:06

@ Klaus

Ich habe dein Programm zerstört.
Ich wollte folgendes hinzufügen:

' area #1 separator scroll verikal and scroll horizontal
' area #2 separator scroll verikal and scroll no horizontal
' area #3 separator scroll no verikal and scroll horizontal
' area #4 separator scroll no verikal and scroll no horizontal

Ich stelle mal den jetzigen Stand ein.
Habe den Überblick verloren.
Severin

Code:
' ******************************************************************************
' area #1 separator scroll verikal and scroll horizontal
' area #2 separator scroll verikal and scroll no horizontal
' area #3 separator scroll no verikal and scroll horizontal
' area #4 separator scroll no verikal and scroll no horizontal
' ******************************************************************************

label labels
gosub labels
gosub constantes
gosub variables
gosub form0
gosub GUI
' gosub initialisations
gosub main
end
'
labels:
  label constantes, variables, form0, GUI
'  label initialisations
  label main
  label add_object
  label scroll_vertical
  label scroll_horizontal
  label add_client_area
  label area1, area2, area3, area4
  return
'
constantes:
  dim max_client_area%  : max_client_area%  =    4
  dim max_height%
  dim max_width%
  ' put 1 into following option to hide objects disappearing to the left
  dim option_left_hide%
  dim option_top_hide%
  return
'
variables:
  dim no%, n_client_area%, client_area%(max_client_area%)
  dim scroll_bar_vertical%(max_client_area%)
  dim scroll_bar_horizontal%(max_client_area%)
  dim no_name%, no_memo%
  dim scroll_pos%(max_client_area%), scroll_pos_horizontal%(max_client_area%)
  dim n_obj%(max_client_area%), tab_obj%(200,max_client_area%)
  dim i%, n%, x_client_area%, separator%(max_client_area%)
  return
' ******************************************************************************
form0:
  width 0,808 : height 0,800
' ***
  no% = no% + 1 : button no% : top no%,10 : left no%,10  : width no%,100
    caption no%,"verti y / horiz y #1" : on_click no%,area1
' ***
  no% = no% + 1 : button no% : top no%,10 : left no%,120 : width no%,100
    caption no%,"verti y / horiz n #2" : on_click no%,area2
' ***
  no% = no% + 1 : button no% : top no%,10 : left no%,240 : width no%,100
    caption no%,"verti n / horiz y #3" : on_click no%,area3
' ***
  no% = no% + 1 : button no% : top no%,10 : left no%,360 : width no%,100
    caption no%,"verti n / horiz n #4" : on_click no%,area4
  return
' ******************************************************************************
GUI:
' variable for client area # 1
  max_height%      = 2000
  max_width%        = 2000
' put 1 into following option to hide objects disappearing to the left
  option_left_hide% =    0
  option_left_hide% =    0
' client area # 1 initialize
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 1"
    width no%,800 : height no%,600
' ******************************************************************************
' Programm auf client area #1
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,0 : width no%,width(client_area%(n_client_area%))-20
    top no%,580 : height no%,20 : caption no%,"Client area 1 Page 1"
    gosub add_object
' ******************************************************************************
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_vertical%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll_vertical
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
' ******************************************************************************
' client area # 2
' variable for client area # 2
  max_height%      = 3000
  max_width%        = 3000
  ' put 1 into following option to hide objects disappearing to the left
  option_left_hide% =    0
  option_left_hide% =    0
' client area # 2 initialize
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 2"
    width no%,800 : height no%,600
' ******************************************************************************
' Programm auf client area #2
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,1 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 2 Page 1"
    gosub add_object
' ******************************************************************************
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_vertical%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll_vertical
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return
' ******************************************************************************
' ******************************************************************************
' client area # 3
' variable for client area # 3
  max_height%      = 4000
  max_width%        = 4000
  ' put 1 into following option to hide objects disappearing to the left
  option_left_hide% =    0
  option_left_hide% =    0
' client area # 3 initialize
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 3"
    width no%,800 : height no%,600
' ******************************************************************************
' Programm auf client area #3
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,1 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 3 Page 1"
gosub add_object
' ******************************************************************************
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_vertical%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll_vertical
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
' ******************************************************************************
' ******************************************************************************
' client area # 4
' variable for client area # 4
  max_height%      = 5000
  max_width%        = 5000
  ' put 1 into following option to hide objects disappearing to the left
  option_left_hide% =    0
  option_left_hide% =    0
' client area # 4 initialize
  no% = no% + 1 : container no%  : hide no%
    gosub add_client_area
    top no%,100 : left no%,0 : caption no%,"Client area 4"
    width no%,800 : height no%,600
' ******************************************************************************
' Programm auf client area #4
  no% = no% + 1 : container no% : parent no%,client_area%(n_client_area%)
    separator%(n_client_area%) = no%
    left no%,1 : width no%,width(client_area%(n_client_area%))-20
    top no%,560 : height no%,20 : caption no%,"Client area 4 Page 1"
    gosub add_object
' ******************************************************************************
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_vertical%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    vertical no% : top no%,10 : left no%,780 : height no%,585
    min no%,0
    max no%, max_height% - height(client_area%(n_client_area%))-20
    on_change no%,scroll_vertical
' this objekt must be the LAST for the CONTAINER !
  no% = no% + 1 : scroll_bar no%
    scroll_bar_horizontal%(n_client_area%) = no%
    parent no%,client_area%(n_client_area%)
    horizontal no% : top no%,580 : left no%,10 : width no%,760
    min no%,0
    max no%, max_width% - width(client_area%(n_client_area%))-20
    on_change no%,scroll_horizontal
  return
' ******************************************************************************
add_object:
  n_obj%(n_client_area%) = n_obj%(n_client_area%) + 1
  tab_obj%(n_obj%(n_client_area%),n_client_area%) = no%
  return
' ******************************************************************************
add_client_area:
  n_client_area% = n_client_area% + 1
  client_area%(n_client_area%) = no%
  return
' ******************************************************************************
scroll_vertical:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_vertical%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_vertical%(x_client_area%)) - scroll_pos%(x_client_area%)
  scroll_pos%(x_client_area%) = position(scroll_bar_vertical%(x_client_area%))
  if x_client_area%<>1
    caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  end_if
  for i%=1 to n_obj%(x_client_area%)
    top tab_obj%(i%,x_client_area%),top(tab_obj%(i%,x_client_area%)) - n%
    if option_top_hide%=1
      if top(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return
' ******************************************************************************
scroll_horizontal:
  n% = number_change
  for i%=1 to n_client_area%
    if scroll_bar_horizontal%(i%)=n%
      x_client_area% = i%
      exit_for
    end_if
  next i%
  n% = position(scroll_bar_horizontal%(x_client_area%)) - scroll_pos_horizontal%(x_client_area%)
  scroll_pos_horizontal%(x_client_area%) = position(scroll_bar_horizontal%(x_client_area%))
  for i%=1 to n_obj%(x_client_area%)
    left tab_obj%(i%,x_client_area%),left(tab_obj%(i%,x_client_area%)) - n%
    if option_left_hide%=1
      if left(tab_obj%(i%,x_client_area%))<10
        hide tab_obj%(i%,x_client_area%)
      else
        show tab_obj%(i%,x_client_area%)
      end_if
    end_if
  next i%
  return
' ******************************************************************************
area1:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return
' ***
area2:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return
' ***
area3:
  hide client_area%(x_client_area%)
  x_client_area% = 1
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return
' ***
area4:
  hide client_area%(x_client_area%)
  x_client_area% = 2
  show client_area%(x_client_area%)
  caption separator%(x_client_area%),"Client area "+str$(x_client_area%)+" Page "+str$(int(scroll_pos%(x_client_area%)/560)+1)
  return
' ******************************************************************************
main:
  x_client_area% = 1
  gosub area1
  return
Revenir en haut Aller en bas
Contenu sponsorisé





Zone client selon l'idée de Severin Empty
MessageSujet: Re: Zone client selon l'idée de Severin   Zone client selon l'idée de Severin Empty

Revenir en haut Aller en bas
 
Zone client selon l'idée de Severin
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Programm Severin
» Programm2 Severin
» Bienvenue à Severin, 133° adhérant
» Créer un objet selon son type
» Zoom d'une zone de l'écran

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: