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.
Donner une couleur à un objet container - Page 2 Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Donner une couleur à un objet container - Page 2 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Donner une couleur à un objet container - Page 2 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Donner une couleur à un objet container - Page 2 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Donner une couleur à un objet container - Page 2 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Donner une couleur à un objet container - Page 2 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Donner une couleur à un objet container - Page 2 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Donner une couleur à un objet container - Page 2 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Donner une couleur à un objet container - Page 2 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Donner une couleur à un objet container - Page 2 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Donner une couleur à un objet container - Page 2 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Donner une couleur à un objet container - Page 2 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Donner une couleur à un objet container - Page 2 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Donner une couleur à un objet container - Page 2 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Donner une couleur à un objet container - Page 2 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 : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

 

 Donner une couleur à un objet container

Aller en bas 
+4
JL35
Klaus
Jack
exdragon
8 participants
Aller à la page : Précédent  1, 2
AuteurMessage
Klaus

Klaus


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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 0:06

Traduction:
A tous les Panoramiciens,

Je sollicite la discussion.
Le groupe a plus de connaissances qu'une seule personne.

Severin

En ce moment, je suis en déplacement professionnel. Pendant le week-end, je posterai un programme concernant la logique.
Mais je pense que Klaus est meilleur et plus rapide.

Severin

Note du traducteur:
Ce n'est pas une compétition, ni en vitesse, ni en performances.
Es ist kein Wettbewerb, weder nach Schnelligkeit noch nach Leistung.
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 0:15

@ Klaus

Das ist klar. Aber ohne deine Hilfe bei meinen ersten Programmierversuchen wäre ich nicht mehr hier im Forum.
Du bist für mich der lehrer, und ich lebe von deinen Programmen.
Leider habe ich wenig Zeit um diese zu analysieren.
Aber ich glaube da ist potential drin.

Severin
Revenir en haut Aller en bas
Severin




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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 19:00

So alle panoramic's

hier ist eine Ansicht, kein Programm, meiner Idee.
Ich hatte heute etwas Zeit, in der Mittagspause.

Wenn Jack mit macht, haben wir ein perfektes Layout.

Ich bin auf eure Kommentare und Kritiken gespannt.

Severin


Toutes les panoramic's
c'est un point de vue, n'est pas un programme, à mon idée.
J'ai eu aujourd'hui un peu de temps, à l'heure de déjeuner.
Si Jack qui ont le pouvoir, nous avons une parfaite présentation.
Je suis sur vos commentaires et les critiques avec impatience.
Severin

Code:
' ******************************************************************************
' ***  SEVERIN'S ---> Clientarea  29.03.2012  Vorschlag zur Diskusion  *********
' ******************************************************************************
'
rem create to CONTAINER
'
DIM TABTEXT$(100)
'
DIM TEXT_AUF_HAUPTFORM$(10)
'
DIM Zeilennummer$
Zeilennummer$ = "0000"
'
DIM Spaltennummer$
Spaltennummer$ = "0000"
'
'
DIM i%
DIM Spalte%    :  Spalte% = 10
DIM Zeile%    :  Zeile%  = 10
DIM TABWERTE%(Zeile%,Spalte%)
DIM TABTEXTE$(Zeile%,Spalte%)
DIM a
DIM b
'
' ******************************************************************************
' *** Form 0
top    0,1
left  0,1
'
WIDTH  0, SCREEN_X
HEIGHT 0, SCREEN_Y
'
COLOR  0,000,255,000
'
caption 0," SEVERIN'S ---> Clientarea "

' ******************************************************************************
' *** Container 1 * Bearbeitungsleiste * Treatment strip * Plinthe de travail **
' *** container 1
container_option 100
'
top    100,1
left  100,1
'
WIDTH  100, SCREEN_X-11
HEIGHT 100, 50
'
' COLOR  1,255,000,000 ---> next Version von Jack
'
rem fill it with
'
'
'
' spin    102    ' <---  Fehler ???
' icon    102    ' <---  Neu    ???
' check  102    ' <---  Fehler ???
' picture 102    ' <---  Fehler ???
' List    102    ' <---  Fehler ???
' Memo    102    ' <---  Fehler ???
' edit    102    ' <---  Fehler ???
' combo  102    ' <---  Fehler ???
' button  102    ' <---  Fehler ???
' alpha  102    ' <---  Fehler ???
'
'
option  102
parent  102,100
top    102,15
left    102,10
' WIDTH  102, SCREEN_X-11
' HEIGHT 102, 50

caption 102,"option 1"
'
option  103
parent  103,100
top    103,15
left    103,110
caption 103,"option 2"
'
option  104
parent  104,100
top    104,15
left    104,210
caption 104,"option 3"
'
option  105
parent  105,100
top    105,15
left    105,310
caption 105,"option 4"
'
option  106
parent  106,100
top    106,15
left    106,410
caption 106,"option 5"
'
option  107
parent  107,100
top    107,15
left    107,510
caption 107,"option 6"
'
option  108
parent  108,100
top    108,15
left    108,610
caption 108,"option 7"
'
option  109
parent  109,100
top    109,15
left    109,710
caption 109,"option 8"
'
'
' ******************************************************************************
' *** Container 2 * "Clientarena " *Work surface ** Surface de travail ***********************
' ***
' ******************************************************************************
'
' Clientarea = Anwenderbereich *************************************************



grid 200
hide 200
'
top                  200, 55            :' Anzahl Pixel von oben
left                  200,  2            :' Anzahl der Pixel von links
width                200,SCREEN_X-12    :' Fensterbreite Tabellen Breite
height                200,SCREEN_Y-176    :' fensterhöhe  Tabellen Höhe
grid_column          200,Spalte%        :' Anzahl Spalten
grid_row              200,Zeile%          :' Anzahl Zeilen
grid_column_width    200,SCREEN_X        :' Breite Spalten
grid_row_height      200,SCREEN_Y        :' Höhe Spalten
'
' grid_column_fixed    200,1        :' Anzahl fixierter Spalten
' grid_row_fixed        200,1        :' Anzahl fixierter Zeilen
'
' grid_fixed_color      200,255,0,0  :' Farbe der fixierten Spalten/Zeilen
' grid_one_column_width 200,1,50    :' Erste Spalte mit xx Pixel
' grid_one_row_height  200,1,25    :' Erste Zeile mit xx Pixel
'
' grid_column_sizing_on 1        :' Spalten sind mit der Maus verschiebbar
' grid_column_sizing_off 200    :' Spalten sind mit der Maus nicht verschiebbar
'
' grid_row_sizing_on 1          :' Zeilen sind mit der Maus verschiebbar
' grid_row_sizing_off 200            :' Zeilen sind mit der Maus nicht verschiebbar
'
' print grid_read$(1,2,3)        :' lesen aus 2. Zeile, 3. Spalte
' print grid_write$(1,2,3)      :' schreiben in 2. Zeile, 3. Spalte
'
' grid_x_to_colum 1,1
' grid_y_to_row(1,1)
'
' ******************************************************************************
' *** Beschriftung von Zeilen X und Spalten Y **********************************
' *** Beschriftung der 2. bis X. Zeile  ****************************************
'
show 200
'
For i% = 1 to Zeile%
'
Zeilennummer$ = "0000"
Zeilennummer$ = Zeilennummer$+STR$(i%)
Zeilennummer$ = Right$(Zeilennummer$,4)
Zeilennummer$ = "  " + Zeilennummer$
'
grid_write 200,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 200,1,i%+1,Spaltennummer$      :' schreiben ab 2. Spalte, 1. Zeile
'
next i%
'
' ******************************************************************************
'
grid_write 200,1,1,"SEVERIN'S ---> Clientarea ":' schreiben in Spalte 1, Zeile 1
'
'
' ******************************************************************************
' *** Container 3+4+5 *** Statuszeile *** Status line *** Ligne d'état *********
container_option 300
'
top    300,SCREEN_Y-120
left  300,1
'
WIDTH  300, (SCREEN_X-10)/2
HEIGHT 300, 50
'
' COLOR  300,000,000,255 ---> next Version von Jack
'
container_option 400
'
top    400,SCREEN_Y-120
left  400,(SCREEN_X-10)/2
'
WIDTH  400, (SCREEN_X-10)/4
HEIGHT 400, 50
'
' COLOR  300,000,000,255 ---> next Version von Jack
'
container_option 500
'
top    500,SCREEN_Y-120
left  500,(SCREEN_X-10)/2 + (SCREEN_X-10)/4
'
WIDTH  500, (SCREEN_X-10)/4
HEIGHT 500, 50
'
' COLOR  300,000,000,255 ---> next Version von Jack
'
rem fill it with
'
option  302
parent  302,300
top    302,15
left    302,10
caption 302,"option 11"
'
option  303
parent  303,300
top    303,15
left    303,110
caption 303,"option 12"
'
option  304
parent  304,300
top    304,15
left    304,210
caption 304,"option 13"
'
option  305
parent  305,300
top    305,15
left    305,310
caption 305,"option 14"
'
option  306
parent  306,300
top    306,15
left    306,410
caption 306,"option 15"
'
option  307
parent  307,300
top    307,15
left    307,510
caption 307,"option 16"
'
option  308
parent  308,300
top    308,15
left    308,610
caption 308,"option 17"
'
option  309
parent  309,300
top    309,15
left    309,710
caption 309,"option 18"
'
rem fill it with
'
option  402
parent  402,400
top    402,15
left    402,10
caption 402,"option 20"
'
option  403
parent  403,400
top    403,15
left    403,110
caption 403,"option 21"
'
rem fill it with
'
option  502
parent  502,500
top    502,15
left    502,10
WIDTH  502, 70
HEIGHT  502, 25
COLOR  502,255,097,000
caption 502,"option 30"
'
option  503
parent  503,500
top    503,15
left    503,110
WIDTH  503, 70
HEIGHT  503, 25
COLOR  503,000,150,255
caption 503,"option 31"
Revenir en haut Aller en bas
Invité
Invité




Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 19:38

Bonsoir,
Si vous regardez le poste que j'ai mis le 27 mars, vous verrez que j'ai eu le même problème. Donc finalement la piste envisagée dans les explications était la bonne.

Je n'avais pas fait la demande en pensant être le seul dans ce cas. Et effectivement, ce serait judicieux d'avoir les barres de défilement dans un container.
Cela viendra un jour peut-être.
Revenir en haut Aller en bas
Severin




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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 19:52


So wie ich es verstanden habe, ist nur Option möglich.
Besser wäre wenn auch alle anderen Objekte möglich wären.
Severin

Si je comprends bien, seule option possible.
Il serait préférable si tous les autres objets seraient possibles.
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 22:36

Je reviens après quelques heures d'absence, et je vois que cette discussion a sensiblement évolué. Je ne vais pas tout retraduire, mais je vais en faire une synthèse selon ce que j'ai compris, pour reformuler la demande d'une façon qui me semble correspondre à la philosophie de Panoramic. Et pour faire honneur à l'initiateur de cette demande, je vais commencer en allemand en m'adressant à Severin - la version française pour une fois viendra après.

@Severin auf Deutsch:

Ich habe Dein Beispielprogramm angesehen und muss sagen, dass es Deinen Wunsch vollkommen klar und deutlich dokumentiert. Kurz gefasst, möchtest Du eine Form erstellen können, die vertikal in 3 Zonen eingeteilt ist:
- eine Kommando-Leiste, die immer fest am oberen Rand klebt und in der man beliebige Panoramic-Objecte unterbringen kann
- eine Informations-Leiste, die immer fest am unteren Rand klebt und in der man beliebige Panoramic-Objecte unterbringen kann
- einen mittleren Bereich, der den ganzen restlichen Raum des Form einnimmt und der horizontale und vertikale Scroll-bars enthalten kann, um den Inhalt unter dem Schirmfenster vorbeigleiten lassen zu können, ohne dass die beiden anderen Bereiche sich verschieben.

Dies ist ein sehr interressanter Vorschlag. Ich sehe 3 Möglichkeiten, dies in Panoramic zu verwirklichen. Alle sind allerdings nur durch eine Erweiterung von Panoramic zu erreichen, also nur durch einen Eingriff von Jack:
1. Implementierung eines neuen Kommandos, dans auf das Form-Objekt einwirkt:
CLIENT_AREA N,S,H
N=Objekt-Nummer des Form-Objektes S=vertikale Start-Koordinate H=Höhe der Zone
Diese Client-Area hätte automatisch horizontale und/oder verticale Scroll-Leisten, sobald es durch die Dimensionen der dort eingelagerten Objekte notwendig wird
2. Automatisch horizontale und/oder vertikale Scroll-Bars an das CONTAINER-Objet hinzufügen. Man kann dann das CONTAINER-Objetkt genau dort plazieren, wo es des Client-Area entspricht
3. Es dem PARENT-Kommando ermöglichen, eine Form an eine andere als "Kind" anzuhängen. In Delphi kann man das ganz einfach machen, und ich mache das in einer meiner DLL's. Vorteil: eine Form hat automatisch die horizontalen und/oder vertikalen Scroll-Bars, je nach Bedarf; man kann sie genau positionnieren; man kann mit BORDER_HIDE dans Problem des veränderlichen Rahmens lösen, usw. Es sähe dann so aus:
FORM 10 : PARENT,10,0 : TOP 10,60 : LEFT 10,0 : WIDTH 10,WIDTH(0) : HEIGHT 10,HEIGHT(0)-150

Jetzt kann man nur noch darauf warten dass Jack seine Meinung dazu giebt.

@tous les Panoramiciens en Français:

D'abord toutes mes félicitations: vous avez tenu bon jusqu'ici, malgré mon charabia dont j'ai bien conscience que cela doit agacer plus d'un. Avec toutes mes excuses, et voici le texte français:

J'ai regardé ton programme exemple, et je dois dire qu'il documente ton souhait de façon claire et précise. Pour résumer, tu souhaites pouvoir créer une form qui est verticalement divisée en 3 zones:
- une barre d'outils qui est toujours collée au bord supérieur et dans laquelle on peut placer des objets Panoramic quelconques
- une barre d'information qui est toujours collée au bord inférieur et dans laquelle on peut placer des objets Panoramic quelconques
- une zone au milieu qui occupe le reste de l'espace de la form, et qui peut contenir des glissières horizontales et verticales, afin de laisser défiler le contenu sous la fenêtre de l'écran, sans que les deux autres zones se déplacent.

C'est une proposition très intéressante. Je vois 3 manières de réaliser cela en Panoramic. Cependant, toutes ne sont réalisables qu'à travers une extension de Panoramic, donc uniquement par une intervention de Jack:

1. Implémentation d'une nouvelle commande agissant sur l'objet form:
CLIENT_AREA N,S,H
N=numéro d'objet de la form ciblée S=coordonnée verticale de départ H=hauteur de la zone
Cette zone client aurait automatiquement des glissières horizontales et/ou verticales, dès que les dimensions des objets de cette zone l'exigent
2. ajouter automatiquement des glissières horizontales et/ou verticales à l'objet CONTAINER. On peut alors placer l'objet container exactement là où cela correspond à la zone client
3. Permettre à la commande PARENT d'attacher une FORM à une autre FORM en tant qu'"enfant". En Delphi, ceci est facile à faire, et je le fais dans une de mes DLL. Avantage: Une form a automatiquement les glissières horizontales et/ou verticales, selon besoin; on peut la positionner exactement; avec BORDER_HIDE, on peut résoudre le problème des bordures variables, etc. Cela prendrait l'aspect suivant:
FORM 10 : PARENT,10,0 : TOP 10,60 : LEFT 10,0 : WIDTH 10,WIDTH(0) : HEIGHT 10,HEIGHT(0)-150

Maintenant, il n'y a plus qu'à attendre que Jack se prononce à ce sujet.

Avec cette fonction, on peut attacher n'importe quel objet à n'importe quel autre, pourvu qu'on puisse obtenir les handle de ces objets. Voici un exemple qui place un bouton DANS un scene2d:
Mit dieser Funkton kann man jedes Objekt in jedes andere plazieren, vorausgesetzt man kann die handle dieser Objekte erhalten. Hier ein Beispiel, in dem ein button in ein scene2d paziert wird:

Code:
dim hnd10%, hnd20%, res%

scene2d 10 : top 10,20 : left 10,20
hnd10% = handle(10)

button 20 : top 20,10 : left 20,10
hnd20% = handle(20)


dll_on "LoadProgram.dll"
res% = dll_call3("SetFormParent",hnd20%,hnd10%,0)
dll_off
end

Simple, non ?
Einfach, oder ?


Dernière édition par Klaus le Ven 30 Mar 2012 - 10:30, é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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 23:03

@ Klaus

Danke für den guten Kommentar.
Meine Idee der CLIENT_AREA ist eine Variante von Grid.
Ohne Zellen und Linien. Das sollte möglich sein.
Die Erweiterung von Container um weitere Befehle mit Container_Option sollte auch möglich sein.
Die weitern Eigenschaften von Form sollen erhalten bleiben.
Aber ohne Menübefehle.
Für oben und unten reicht Container.
Aber warten wir auf Jack.
Ich habe ein Ostergeschenk für Jack.

Severin

@ Klaus
Cela devrait être possible.
L'élargissement des conteneurs à d'autres commandes avec container_option devrait également être possible.
Les propriétés de forme nous seront conservées.
Mais sans menübefehle.
Par-dessus et ci-dessous ne suffit conteneurs.
Mais nous attendons Jack.
J'ai un ostergeschenk de Jack.

Severin
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyJeu 29 Mar 2012 - 23:10

Perso, j'aime bien l'idée de pouvoir faire une fenêtre fille.
Après, il serait peut-être sympa d'avoir un paramètre, je ne sais pas un truc du genre TYPE=normal ou Scroll (les 2 barres) ou H_Scroll, V_Scroll par exemple
Revenir en haut Aller en bas
Klaus

Klaus


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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyVen 30 Mar 2012 - 10:20

J'ai fait une petite maquette à l'aide de ma DLL LoadProgram.dll. Je lui ai ajouté une nouvelle fonction:
res% = DLL_CALL3("SetWindowParent",h_child%,h_parent%,flag%)
h_child% est le handle de la fenêtre enfant (la client area)
h_parent% est le handle de la fenêtre parent (la form 0)
flag% est un indicateur de fonctionnement
si sa valeur est 0 ==> rien de particulier n'est fait
si sa valeur est 1 ==> la fenêtre h_child ne pourra pas être déplacée ni redimensionnée ni fermée par la croix

Comme d'habitude, la DLL est accessible dans le répertoire DLLs:
Site: http://www.mydrive.ch/
Identifiant: panoramic@klausgunther
Mot de passe: panoramic123

et voici un petit programme de démo. J'ai démarré arbitrairement la client area en position verticale 70.
Code:
dim hnd10%, hnd0%, res%

hnd0% = handle(0)

' créer la form "Client area"
form 10 : border_small 10
top 10,70 : width 10,width(0)-10
color 10,200,200,255
hnd10% = handle(10)

' un EDIT dépassant la client area à droite
edit 20 : parent 20,10 : top 20,10
  left 20,300 : width 20,500
' une list dépassant la client area en bas
list 30 : parent 30,10 : top 30,60 : left 30,10
  height 30,200

' fixer la client area dans la form 0
dll_on "LoadProgram.dll"
res% = dll_call3("SetFormParent",hnd10%,hnd0%,1)
dll_off
end

Auf Deutsch:
Mit Hilfe meiner DLL LoadProgram.dll habe ich ein kleines Modell gemacht. Ich habe des DLL eine neue Funktion gegeben:
res% = DLL_CALL3("SetWindowParent",h_child%,h_parent%,flag%)
h_child% ist das handle des child-Fensters (die client area)
h_parent% ist das handle des parent-Fensters (die form 0)
flag% ist ein Modifikator:
wenn sein Wert 0 ist ==> nichts besonderes geschieht
wenn sein Wert 1 ist ==> ldas fenster h_child kann weder bewegt noch verändert noch geschlossen werden

Wie üblich ist dir DLL errerichbar in dem DLLs Ordner:
Site: http://www.mydrive.ch/
Identifiant: panoramic@klausgunther
Passwort: panoramic123

und oben ein kleines Demo-Programm. Ich habe willkürlich die client area in position 70 starten lassen.

Le code Delphi est très simple:
Der Delphi-Kode ist sehr einfach:
Code:
function SetFormParent(child,parent: HWND; flag: integer): integer; stdcall; export;
var
  hnd: HWND;
  dwStyle : LongWord;
begin
  hnd := SetParent(child,parent);

  if flag=1 then begin
    dwStyle := GetWindowLong( child, GWL_STYLE ); //GetWindowStyle( h_Wnd );
    dwStyle := dwStyle and not (WS_SIZEBOX or WS_CAPTION);
    SetWindowLong( child, GWL_STYLE, dwStyle );
  end;

  result := 0;
end;

Avec cette fonction, on peut attacher n'importe quel objet à n'importe quel autre, pourvu qu'on puisse obtenir les handle. Voici un exemple plaçant un bouton DANS un scene2d:
Mit dieser Funktion kann man jedes Objet in jedes andere plazieren, vorausgesetzt ma kann die handles erhalten. Hier ein Beispiel, das einen button in ein scene2d plaziert:
Code:
dim hnd10%, hnd20%, res%

scene2d 10 : top 10,20 : left 10,20
hnd10% = handle(10)

button 20 : top 20,10 : left 20,10
hnd20% = handle(20)


dll_on "LoadProgram.dll"
res% = dll_call3("SetFormParent",hnd20%,hnd10%,0)
dll_off
end

Simple, non ?
Einfach, oder ?
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyVen 30 Mar 2012 - 11:17

J'ai encore du mal à imaginer toute les possibilité offerte ... Il faut que je vois comment cohabitent les sprites dans un SCENED dans lequel on aurait attachait une PICTURE. Potentiellement, ça pertmettrait bien des choses. Je en peux pas tester ici au boulot, mais ça permettrait peut être de faire des choses que j'ai dans la tête depuis un moment que je trouvais trop complexe à mettre en oeuvre par l'intermédiaire des mécanismes simples des sprites du fait que l'on ne puisse pas utiliser les fonctions applicables aux pictures.

Bien spur ce n'est qu'une des nombreuses applications possibles, mais il faudrait capitaliser sur les comportement que cela peut avoir de faire cohabiter ces objets de cette façon, certains auront sans doute une comportement anormal par effet de bord.

Il faudrait lister les tests effectués et le résultat / ok ou bugs constatés
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyVen 30 Mar 2012 - 15:48

Je viens de tester, c'est très intéreessant

Le bouton dans le Scène2d montre bien l'intérêt du truc...

A+
Revenir en haut Aller en bas
Severin




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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyVen 30 Mar 2012 - 18:14

Code:
' 30.3.2012
'
Nochmal zur Klarstellung:
'
Der Obere Teil "Bearbeitungsleiste" soll eine Container_Option bleiben.
Die Container_Option sollte um folgendes erweitert werden:
'
Analog zu Form, mit Button, Edit, Combo ect.
'
Das gleiche gilt auch für den unteren Teil der "Statusleiste.
'
*******************************************************************
'
Nur der mittlere Teil sollte neu werden.
Analog zu Grind. Bei Grind wird der sichtbare Teil mit
'
top                  200,  0            :' Anzahl Pixel von oben
left                  200,  0            :' Anzahl der Pixel von links
width                200,100            :' Fensterbreite Tabellen Breite
height                200,100            :' Fensterhöhe  Tabellen Höhe
'
definiert.
'
Zusätzlich wird die gesamte nicht sichtbare Fläche über die
Anzahl Spalten und Anzahl Zeilen definiert:
'
grid_column          200,100        :' Anzahl Spalten
grid_row              200,100        :' Anzahl Zeilen
grid_column_width    200,100        :' Breite Spalten
grid_row_height      200,100        :' Höhe Spalten
'
Also:
'
Spalte% * SCREEN_X  =
100 * 100 = 10000 Pixel gesamt Breite, davon 100 Pixel sichtbar   
'
Zeile% * SCREEN_y  =
100 * 100 = 10000 Pixel gesamt Breite, davon 100 Pixel sichtbar
'
'
Nicht sichtbare Fläche 10000 x 10000 Pixel
sichtbare Fläche 100 x 100 Pixel
'
Damit würde ein Client_area so definiert:
-----------------------------------------
'
Client_area 200
'
top                  200, 55            :' Anzahl der Pixel von oben
left                  200,  2            :' Anzahl der Pixel von links
width                200,100            :' Fenster Breite in pixel
height                200,100            :' Fenster Höhe in Pixel
'
Client_area_width    200,10000          :' Breite Client_area in Pixel
Client_area_height    200,10000          :' Höhe  Client_area in Pixel
'
BORDER_Line          200                :' Rahmen wie Container
'
COMMAND_Target_is 200
'
Hier werden dann die Button, Combo usw. festgelegt, zum Beispiel:
'
Button  202
top    202,1500
left    202,1000
caption 202,"Press 1"
'
Anmerkung:
Wenn die nicht sichbare Fläche kleiner als sichtbare Fläche, dann Fehler.
Wenn die nicht sichbare Fläche grösser als sichtbare Fläche, dann SCROLL_BAR.
Wenn die nicht sichbare Fläche gleich der sichtbare Fläche, dann ohne SCROLL_BAR.
'
'
Dank für eure Zeit, dieses zu lesen.
'
Severin
'
PS. 10000 Pixel ist gigantisch, aber ein Beispiel !




Code:
'30 / 03/2012
»
Encore une fois, des précisions:
»
La partie supérieure de la "barre de formule" tient à garder un Container_Option.
Le Container_Option devrait être élargi pour inclure ce qui suit:
»
Analogue à la forme, etc avec le bouton, éditer, combo.
»
La même chose s'applique également à la partie inférieure de la barre d'état ".
»
************************************************** *****************
»
Seule la section du milieu doit être utilisé.
Analogue à moudre. En Grind est la partie visible de
»
top 200, 0, 'Nombre de pixels du haut
gauche 200, 0, 'nombre de pixels de la gauche
200.100 largeur: «largeur de la table fenêtre largeur
hauteur 200,100: «tableaux hauteur de la fenêtre en hauteur
»
défini.
»
En outre, l'ensemble de surface non visible sur l'
Nombre de colonnes, le nombre de lignes définies par:
»
grid_column 200,100: «Nombre de colonnes
grid_row 200,100: «Nombre de lignes
Largeur de colonne ": 200.100 grid_column_width
Colonnes Hauteur »: grid_row_height 200,100
»
Donc:
»
La colonne% * = screen_x
100 * 100 = 10000 pixels largeur totale, 100 pixels visibles
»
Ligne% * = screen_y
100 * 100 = 10000 pixels largeur totale, 100 pixels visibles
»
»
Non-visibles de la zone 10000 x 10000 pixels
zone visible de 100 x 100 pixels
»
Pour qu'un Client_area serait défini comme suit:
-----------------------------------------
»
Client_area 200
»
top 200, 55: «Nombre de pixels à partir du haut
gauche 200, 2: «Nombre de pixels à partir de la gauche
Largeur de la fenêtre "en pixels: 200,100 largeur
Hauteur de la fenêtre "en pixels: 200.100 en hauteur
»
Client_area_width 200,10000: «la largeur en pixels Client_area
Client_area_height 200,10000: «la taille en pixels Client_area
»
BORDER_Line 200: cadre du conteneur », comme
»
COMMAND_Target_is 200
»
Voici donc la liste déroulante bouton pour être mis, etc, par exemple:
»
Bouton 202
top 202.1500
laissé 202.1000
Légende 202, «Appuyez sur 1"
»
Note:
Si non, le montre la zone visible est plus petite que la zone visible, puis d'erreur.
Si non, le montre la surface visible est supérieur à la zone visible, puis SCROLL_BAR.
Si non, la zone visible montre égale à la surface visible, puis, sans SCROLL_BAR.
»
»
Merci pour votre temps de lire ceci.
»
Severin
»
HP. 10000 pixels est énorme, mais un exemple!
Revenir en haut Aller en bas
Klaus

Klaus


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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyVen 30 Mar 2012 - 19:44

@Severin:
Im Interesse des allgemeinen Nutzbarkeit einer solchen wichtigen Änderung des Verhaltens einer Form sollte es so gemacht werden, dass jeder beliebig die 3 Zonen mit Panoramic-Objekten belegen kann, und es nicht au OPTION oder Ähnliches zu beschränken. Die Grundidee ist dir Aufteilung in 2 Zonen, wobei jede beliebig dimensioniert und mit Objekten bestückt werden kann. Die mittlere Zone sollte automatische Scroll-Bars erhalten.

Dans l'intérêt d'une utilisation par tous d'une telle modification importante du comportement d'une form, cela devrait être fait de sorte à permettre à chacun de peupler librement les zones avec les objets de leur choix, sans le limiter aux OPTION ou similaire. L'idée principale est la division en 3 zones, chacune pouvant être dimensionnée et peuplée librement avec des objets Panoramic. La zone centrale devrait avoir des ascenseurs automatiques.
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptySam 31 Mar 2012 - 18:41

Nouvelle version de ma DLL LoadProgram.dll:
La fonction SetWindowParent retourne maintenant le handle de l'ancien parent de la fenêtre "enfant". Si l'on mémorise cette valeur, on peut revenir en arrière sur l'attachement d'un objet à un autre. Le principe est le suivant:
Citation :

dim ancien%
...
' attacher enfant à parent
ancien% = DLL_CALL3("SetWindowParent",h_enfant%,h_parent%,flag%)
...
' revenir en arrière:
ancien% = DLL_CALL3("SetWindowParent",h_enfant%,ancien%,flag%)

Et voici un exemple avec le bouton dans le scene2d:
Code:
label attacher, detacher

dim hnd10%, hnd20%, ancien%

scene2d 10 : top 10,20 : left 10,20
hnd10% = handle(10)

button 20 : top 20,10 : left 20,10 : caption 20,"Bouton"
hnd20% = handle(20)

button 1 : top 1,240 : left 1,10 : caption 1,"Attacher"
  on_click 1,attacher

button 2 : top 2,240 : left 2,150 : caption 2,"Détacher"
  on_click 2,detacher : inactive 2

end

attacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,hnd10%,0)
dll_off
inactive 1 : active 2
return

detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
active 1 : inactive 2
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptyDim 1 Avr 2012 - 14:45

Genial, genau das ist ist es !!!!!!!!!!!!!!!!!!!! affraid
Danke Klaus
Severin

Grande, c'est exactement ça!!!!!!!!!!!!!!!!! affraid
Merci Klaus
Severin

bounce bounce bounce bounce bounce bounce bounce bounce bounce bounce

Code:
' *** Eltern kind mit DLL nach klaus *******************************************
'
'
label attacher  :' Objekt anhängen
label detacher  :' Objekt abhängen
'
dim hnd10%
dim hnd20%
dim ancien%
'
' *** Form 0000 ****************************************************************
Full_space 0000


' *** Container erstellen oberer Bereich ***************************************
container 10
top      10,0
left      10,10
height    10,80
width    10,screen_x-30
'
hnd10% = handle(10)
'
' *** Button auf Container fixieren ********************************************
button  20
hide    20
top    20,15
left    20,10
height  20,30
width  20,90
'
caption 20,"Bouton01"
hnd20% = handle(20)
'
gosub attacher
show    20
'
button  21
hide    21
top    21,15
left    21,110
height  21,30
width  21,90
'
caption 21,"Bouton02"
hnd20% = handle(21)
'
gosub attacher
show    21
'
button  22
hide    22
top    22,15
left    22,210
height  22,30
width  22,90
'
caption 22,"Bouton03"
hnd20% = handle(22)
'
gosub attacher
show    22
'
end
'
'
' *** Objekt anhängen **********************************************************
attacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,hnd10%,0)
dll_off
' inactive 1 : active 2
return
'
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
active 1 : inactive 2
return
'


Dernière édition par Severin le Sam 28 Avr 2012 - 14:49, édité 1 fois
Revenir en haut Aller en bas
Severin




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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptySam 28 Avr 2012 - 14:49

Hallo panoramics

ich versuche Formen auf Form0 zubefestigen.
Dazu nehme ich eine DLL von Klaus.
Ich habe einen Fehler, aber ich kann den Fehler nicht finden.
Wer kann helfen ?

Severin



Hello Panoramics

I try to attach forms to Form0.
I take a DLL from Klaus.
I made a mistake, but I can not find the error.
Who can help?

Severin


Bonjour Panoramiques

J'essaie de joindre les formulaires à Form0.
Je prends une DLL à partir de Klaus.
J'ai fait une erreur, mais je ne peux pas trouver l'erreur.
Qui peut vous aider?

Severin




Code:
' *** Eltern kind mit DLL nach klaus *******************************************
' *** MIT DLL LoadProgram ******************************************************
'
label attacher  :' Objekt anhängen
label detacher  :' Objekt abhängen
'
dim hnd0000%
dim hnd0100%
dim hnd0200%
dim ancien%
'
'
' *** LABEL FÜR FORMEN ERSTELLEN ***********************************************
LABEL ZAHL0000
LABEL ZAHL0100
LABEL ZAHL0200
'
'
' *** FORM 0000 ERSTELLEN IN ROT ***********************************************
ZAHL0000:
'
' FORM 0000
TOP          0000,0
LEFT          0000,0
WIDTH        0000,SCREEN_X
HEIGHT        0000,SCREEN_Y-44
COLOR        0000,255,000,000
CAPTION      0000," Form 0000 "
' HINT          0000
' HINT_HIDE    0000
' BORDER_HIDE  0000
BORDER_SMALL  0000
' BORDER_NORMAL 0000
' FULL_SPACE    0000
'
hnd0000% = handle(0000)
'
Gosub Zahl0100
Gosub Zahl0200
'
end
'
' *** FORM 0100 ERSTELLEN IN BLAU ---> Schaltflächenleiste *********************
ZAHL0100:
'
COMMAND_TARGET_IS 0000
'
FORM          0100
TOP          0100,23
LEFT          0100,0
WIDTH        0100,SCREEN_X
HEIGHT        0100,124
COLOR        0100,000,000,255
CAPTION      0100," Form 0100 "
' HINT        0100
' HINT_HIDE  0100
' BORDER_HIDE 0100
BORDER_SMALL  0100
' BORDER_NORMAL 0100
' FULL_SPACE    0100
'
hnd0100% = handle(0100)
'
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0100%,hnd0000%,1)
dll_off
'
' end
Return
'
' *** FORM 0200 ERSTELLEN IN GRÜN ---> Bearbeitungsfläche **********************
ZAHL0200:
'
' COMMAND_TARGET_IS 0000
'
FORM          0200
TOP          0200,146
LEFT          0200,0
WIDTH        0200,SCREEN_X
HEIGHT        0200,SCREEN_Y-23-146
COLOR        0200,000,255,000
CAPTION      0200," Form 0200 "
' HINT          0200
' HINT_HIDE    0200
' BORDER_HIDE  0200
BORDER_SMALL  0200
' BORDER_NORMAL 0200
' FULL_SPACE    0200
'
hnd0200% = handle(0200)
'
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0200%,hnd0000%,1)
dll_off
'
return
'
' COMMAND_TARGET_IS 0100
'
' ******************************************************************************
' *** Hauptmenü erstellen ******************************************************
main_menu 001
' ******************************************************************************
' *** ERSTELLEN DES HAUPTMENÜ 1000 bis 9000 ************************************
sub_menu 1000:CAPTION 1000,"FORM_TEXT$(1000)"                    :parent 1000,001
' sub_menu 2000:CAPTION 2000,FORM_TEXT$(2000)                    :parent 2000,001
' sub_menu 3000:CAPTION 3000,FORM_TEXT$(3000)                    :parent 3000,001
' sub_menu 4000:CAPTION 4000,FORM_TEXT$(4000)                    :parent 4000,001
' sub_menu 5000:CAPTION 5000,FORM_TEXT$(5000)                    :parent 5000,001
' sub_menu 6000:CAPTION 6000,FORM_TEXT$(6000)                    :parent 6000,001
' sub_menu 7000:CAPTION 7000,FORM_TEXT$(7000)                    :parent 7000,001
' sub_menu 8000:CAPTION 8000,FORM_TEXT$(8000)                    :parent 8000,001
' sub_menu 9000:CAPTION 9000,FORM_TEXT$(9000)                    :parent 9000,001
' ******************************************************************************
' *** ERSTELLEN UNTERMENÜ  1100 bis 1900 ***************************************
' sub_menu 1100:CAPTION 1100,FORM_TEXT$(1100)                    :parent 1100,1000
' sub_menu 1200:CAPTION 1200,FORM_TEXT$(1200)                    :parent 1200,1000
' sub_menu 1300:CAPTION 1300,FORM_TEXT$(1300)                    :parent 1300,1000
' sub_menu 1400:CAPTION 1400,FORM_TEXT$(1400)                    :parent 1400,1000
' sub_menu 1500:CAPTION 1500,FORM_TEXT$(1500)                    :parent 1500,1000
' sub_menu 1600:CAPTION 1600,FORM_TEXT$(1600)                    :parent 1600,1000
' sub_menu 1700:CAPTION 1700,FORM_TEXT$(1700)                    :parent 1700,1000
' sub_menu 1800:CAPTION 1800,FORM_TEXT$(1800)                    :parent 1800,1000
' sub_menu 1900:CAPTION 1900,FORM_TEXT$(1900)                    :parent 1900,1000
' ******************************************************************************
Return
'
end
'
' ******************************************************************************
'
'
'
' *** Objekt anhängen **********************************************************
attacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0100%,hnd0100%,1)
dll_off
' inactive 1 : active 2
return
'
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
' active 1 : inactive 2
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptySam 28 Avr 2012 - 17:53

Du hast die DLL-Funktion nicht ganz verstanden.

Zum Beispiel, für Dein Form 100, finde ich:
Code:
ancien% = dll_call3("SetFormParent",hnd0100%,hnd0000%,0)

Die Funktion hat 3 Parameter:
1. das Handle des Kind-Fensters
2. das Handle des gewünschten Eltern-Fensters
3. eine Einstellung des Fenster_Modus: 0=normal 1=OHNE TITELZEILE !

Deshalb siehst Du Deine Titel nicht, wenn Du auch BORDER_SMALL aktiviert hast !
Versuche es mit ...,0) - Du wirst Deine Fenster normal sehen, sie sind allerdings mobil im Rahmen des Form 0.

Wenn ich recht verstehe, versuchst Du, virtuell eine FORM mit 3 getrennten Zonen zu schaffen. In diesem Fall ist Deine Lösung gut, aber Du musst den Titel getrennt in ein ALPHA schreiben.

Aber ACHTUNG: die Funktion liefert als Wert das handle des ursprunglichen Eltern-Fensters (ancien% auf Französisch bedeutet "ehemalig", "alt", vorig", ...). Diese Variable ist eigentlich dazu gedacht, beim "Abhängen" wieder das ursprüngliche Elternfenster einzusetzen. Es ist NICHT der dritte Parameter mit 0/1 der dies tut ! Es sollte eine spezifische Speichervariable für das ursprüngliche Elternhandle geben für JEDES Fenster !

Tu n'as pas tout à fait compris la fonction DLL.

Par exemple, pour ta Form 100, je trouve:
Code:
ancien% = dll_call3("SetFormParent",hnd0100%,hnd0000%,0)

La fonction a 3 paramètres:
1. le handle de la fenêtre fille
2. le handle de la fenêtre parent choisie
3. un paramétrage du mode de la fenêtre: 0=normal 1=SANS BARRE DE TITRE !
C'est pourquoi tu ne vois pas ton titre, même en activant BORDER_SMALL !
Essaie avec ...,0) - tu verras tes fenêtres normalement, mais elles sont mobiles à l'intérieur de la form 0.

Si je comprends bien ce que tu veux, tu cherches à construire une form virtuellement séparée en 3 zones. Dans ce cas, ta solution est la bonne, mais il faut écrire le titre séparément, dans un ALPHA.

Mais ATTENTION: la fonction retourne le handle de la fenêtre parent d'origine (ancien% en français signifie "ancien'... désolé, la traduction devait être complète...). En réalité, cette variable est prévu pour le détachement de la fenêtre, afin de lui redonner son parent d'origine. Ce n'est PAS le troisième paramètre avec 0/1 qui fait cela ! Il devrait y avoir une variable pour le handle d'origine, spécifique pour CHAQUE fenê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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptySam 28 Avr 2012 - 21:41

Hier die neuste Version, mit Hilfe von Klaus.
Severin
Verbesserungen erwünscht.

Here is the latest version, with the help of Klaus.
Severin
Improvements desired.

Voici la dernière version, avec l'aide de Klaus.
Severin
Améliorations souhaitées.


Code:
' *** Eltern kind mit DLL nach klaus *******************************************
' *** MIT DLL LoadProgram ******************************************************
'
label attacher  :' Objekt anhängen
label detacher  :' Objekt abhängen
'
dim hnd0000%
dim hnd0100%
dim hnd0200%
dim hnd0300%
dim ancien%
'
'
' *** LABEL FÜR FORMEN ERSTELLEN ***********************************************
LABEL ZAHL0000
LABEL ZAHL0100
LABEL ZAHL0200
LABEL ZAHL0300
'
'
' *** FORM 0000 ERSTELLEN IN SCHWARZ *******************************************
ZAHL0000:
'
' FORM 0000
TOP          0000,0
LEFT          0000,0
WIDTH        0000,SCREEN_X
HEIGHT        0000,SCREEN_Y-44
COLOR        0000,000,000,000
CAPTION      0000," Form 0000 "
' HINT          0000
' HINT_HIDE    0000
' BORDER_HIDE  0000
' BORDER_SMALL  0000
' BORDER_NORMAL 0000
' FULL_SPACE    0000
'
hnd0000% = handle(0000)
'
Gosub Zahl0100
Gosub Zahl0200
Gosub Zahl0300
'
end
'
' *** FORM 0100 ERSTELLEN IN SCWARZ ---> Schaltflächenleiste *******************
ZAHL0100:
'
COMMAND_TARGET_IS 0000
'
FORM          0100
TOP          0100,2
LEFT          0100,2
WIDTH        0100,SCREEN_X-12
HEIGHT        0100,70
' COLOR        0100,255,255,000
' CAPTION    0100," Form 0100 "
' HINT        0100
' HINT_HIDE  0100
BORDER_HIDE 0100
' BORDER_SMALL  0100
' BORDER_NORMAL 0100
' FULL_SPACE    0100
'
hnd0100% = handle(0100)
'
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0100%,hnd0000%,0)
dll_off
'
' COMMAND_TARGET_IS 0100
' 2d_target_is 0100
' 2d_pen_color 255,255,0
' 2d_line 10,00,110,00


' end
Return
'
' *** FORM 0200 ERSTELLEN IN GRÜN ---> Bearbeitungsfläche **********************
ZAHL0200:
'
COMMAND_TARGET_IS 0000
'
FORM          0200
TOP          0200,74
LEFT          0200,2
WIDTH        0200,SCREEN_X-12
HEIGHT        0200,SCREEN_Y-177
' COLOR        0200,000,255,000
' CAPTION      0200," Form 0200 "
' HINT          0200
' HINT_HIDE    0200
BORDER_HIDE  0200
' BORDER_SMALL  0200
' BORDER_NORMAL 0200
' FULL_SPACE    0200
'
hnd0200% = handle(0200)
'
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0200%,hnd0000%,0)
dll_off
'
return
'
' *** FORM 0300 ERSTELLEN IN BLAU ---> FUSSLEISTE ******************************
ZAHL0300:
'
COMMAND_TARGET_IS 0000
'
FORM          0300
TOP          0300,SCREEN_Y-101
LEFT          0300,2
WIDTH        0300,SCREEN_X-12
HEIGHT        0300,28
' COLOR        0300,000,000,255
' CAPTION      0300," Form 0300 "
' HINT          0300
' HINT_HIDE    0300
BORDER_HIDE  0300
' BORDER_SMALL  0300
' BORDER_NORMAL 0300
' FULL_SPACE    0300
'
hnd0300% = handle(0300)
'
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0300%,hnd0000%,0)
dll_off
'
return
'







' COMMAND_TARGET_IS 0100
'
' ******************************************************************************
' *** Hauptmenü erstellen ******************************************************
main_menu 001
' ******************************************************************************
' *** ERSTELLEN DES HAUPTMENÜ 1000 bis 9000 ************************************
sub_menu 1000:CAPTION 1000,"FORM_TEXT$(1000)"                    :parent 1000,001
' sub_menu 2000:CAPTION 2000,FORM_TEXT$(2000)                    :parent 2000,001
' sub_menu 3000:CAPTION 3000,FORM_TEXT$(3000)                    :parent 3000,001
' sub_menu 4000:CAPTION 4000,FORM_TEXT$(4000)                    :parent 4000,001
' sub_menu 5000:CAPTION 5000,FORM_TEXT$(5000)                    :parent 5000,001
' sub_menu 6000:CAPTION 6000,FORM_TEXT$(6000)                    :parent 6000,001
' sub_menu 7000:CAPTION 7000,FORM_TEXT$(7000)                    :parent 7000,001
' sub_menu 8000:CAPTION 8000,FORM_TEXT$(8000)                    :parent 8000,001
' sub_menu 9000:CAPTION 9000,FORM_TEXT$(9000)                    :parent 9000,001
' ******************************************************************************
' *** ERSTELLEN UNTERMENÜ  1100 bis 1900 ***************************************
' sub_menu 1100:CAPTION 1100,FORM_TEXT$(1100)                    :parent 1100,1000
' sub_menu 1200:CAPTION 1200,FORM_TEXT$(1200)                    :parent 1200,1000
' sub_menu 1300:CAPTION 1300,FORM_TEXT$(1300)                    :parent 1300,1000
' sub_menu 1400:CAPTION 1400,FORM_TEXT$(1400)                    :parent 1400,1000
' sub_menu 1500:CAPTION 1500,FORM_TEXT$(1500)                    :parent 1500,1000
' sub_menu 1600:CAPTION 1600,FORM_TEXT$(1600)                    :parent 1600,1000
' sub_menu 1700:CAPTION 1700,FORM_TEXT$(1700)                    :parent 1700,1000
' sub_menu 1800:CAPTION 1800,FORM_TEXT$(1800)                    :parent 1800,1000
' sub_menu 1900:CAPTION 1900,FORM_TEXT$(1900)                    :parent 1900,1000
' ******************************************************************************
Return
'
end
'
' ******************************************************************************
'
'
'
' *** Objekt anhängen **********************************************************
attacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0100%,hnd0100%,1)
dll_off
' inactive 1 : active 2
return
'
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
' active 1 : inactive 2
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

Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 EmptySam 28 Avr 2012 - 23:08

Was willst Du verbessern ? Ich habe lediglich die ancien% Variablen "gesaübert:
Code:
' *** Eltern kind mit DLL nach klaus *******************************************
' *** MIT DLL LoadProgram ******************************************************
'
label attacher  :' Objekt anhängen
label detacher  :' Objekt abhängen
'
dim hnd0000%
dim hnd0100%
dim hnd0200%
dim hnd0300%
dim ancien0100%, ancien0200%, ancien0300%
'
'
' *** LABEL FÜR FORMEN ERSTELLEN ***********************************************
LABEL ZAHL0000
LABEL ZAHL0100
LABEL ZAHL0200
LABEL ZAHL0300
'
'
' *** FORM 0000 ERSTELLEN IN SCHWARZ *******************************************
ZAHL0000:
'
' FORM 0000
TOP          0000,0
LEFT          0000,0
WIDTH        0000,SCREEN_X
HEIGHT        0000,SCREEN_Y-44
COLOR        0000,000,000,000
CAPTION      0000," Form 0000 "
' HINT          0000
' HINT_HIDE    0000
' BORDER_HIDE  0000
' BORDER_SMALL  0000
' BORDER_NORMAL 0000
' FULL_SPACE    0000
'
hnd0000% = handle(0000)
'
Gosub Zahl0100
Gosub Zahl0200
Gosub Zahl0300
'
end
'
' *** FORM 0100 ERSTELLEN IN SCWARZ ---> Schaltflächenleiste *******************
ZAHL0100:
'
COMMAND_TARGET_IS 0000
'
FORM          0100
TOP          0100,2
LEFT          0100,2
WIDTH        0100,SCREEN_X-12
HEIGHT        0100,70
' COLOR        0100,255,255,000
' CAPTION    0100," Form 0100 "
' HINT        0100
' HINT_HIDE  0100
BORDER_HIDE 0100
' BORDER_SMALL  0100
' BORDER_NORMAL 0100
' FULL_SPACE    0100
'
hnd0100% = handle(0100)
'
dll_on "LoadProgram.dll"
ancien0100% = dll_call3("SetFormParent",hnd0100%,hnd0000%,0)
dll_off
'
' COMMAND_TARGET_IS 0100
' 2d_target_is 0100
' 2d_pen_color 255,255,0
' 2d_line 10,00,110,00


' end
Return
'
' *** FORM 0200 ERSTELLEN IN GRÜN ---> Bearbeitungsfläche **********************
ZAHL0200:
'
COMMAND_TARGET_IS 0000
'
FORM          0200
TOP          0200,74
LEFT          0200,2
WIDTH        0200,SCREEN_X-12
HEIGHT        0200,SCREEN_Y-177
' COLOR        0200,000,255,000
' CAPTION      0200," Form 0200 "
' HINT          0200
' HINT_HIDE    0200
BORDER_HIDE  0200
' BORDER_SMALL  0200
' BORDER_NORMAL 0200
' FULL_SPACE    0200
'
hnd0200% = handle(0200)
'
dll_on "LoadProgram.dll"
ancien0200% = dll_call3("SetFormParent",hnd0200%,hnd0000%,0)
dll_off
'
return
'
' *** FORM 0300 ERSTELLEN IN BLAU ---> FUSSLEISTE ******************************
ZAHL0300:
'
COMMAND_TARGET_IS 0000
'
FORM          0300
TOP          0300,SCREEN_Y-101
LEFT          0300,2
WIDTH        0300,SCREEN_X-12
HEIGHT        0300,28
' COLOR        0300,000,000,255
' CAPTION      0300," Form 0300 "
' HINT          0300
' HINT_HIDE    0300
BORDER_HIDE  0300
' BORDER_SMALL  0300
' BORDER_NORMAL 0300
' FULL_SPACE    0300
'
hnd0300% = handle(0300)
'
dll_on "LoadProgram.dll"
ancien0300% = dll_call3("SetFormParent",hnd0300%,hnd0000%,0)
dll_off
'
return
'







' COMMAND_TARGET_IS 0100
'
' ******************************************************************************
' *** Hauptmenü erstellen ******************************************************
main_menu 001
' ******************************************************************************
' *** ERSTELLEN DES HAUPTMENÜ 1000 bis 9000 ************************************
sub_menu 1000:CAPTION 1000,"FORM_TEXT$(1000)"                    :parent 1000,001
' sub_menu 2000:CAPTION 2000,FORM_TEXT$(2000)                    :parent 2000,001
' sub_menu 3000:CAPTION 3000,FORM_TEXT$(3000)                    :parent 3000,001
' sub_menu 4000:CAPTION 4000,FORM_TEXT$(4000)                    :parent 4000,001
' sub_menu 5000:CAPTION 5000,FORM_TEXT$(5000)                    :parent 5000,001
' sub_menu 6000:CAPTION 6000,FORM_TEXT$(6000)                    :parent 6000,001
' sub_menu 7000:CAPTION 7000,FORM_TEXT$(7000)                    :parent 7000,001
' sub_menu 8000:CAPTION 8000,FORM_TEXT$(8000)                    :parent 8000,001
' sub_menu 9000:CAPTION 9000,FORM_TEXT$(9000)                    :parent 9000,001
' ******************************************************************************
' *** ERSTELLEN UNTERMENÜ  1100 bis 1900 ***************************************
' sub_menu 1100:CAPTION 1100,FORM_TEXT$(1100)                    :parent 1100,1000
' sub_menu 1200:CAPTION 1200,FORM_TEXT$(1200)                    :parent 1200,1000
' sub_menu 1300:CAPTION 1300,FORM_TEXT$(1300)                    :parent 1300,1000
' sub_menu 1400:CAPTION 1400,FORM_TEXT$(1400)                    :parent 1400,1000
' sub_menu 1500:CAPTION 1500,FORM_TEXT$(1500)                    :parent 1500,1000
' sub_menu 1600:CAPTION 1600,FORM_TEXT$(1600)                    :parent 1600,1000
' sub_menu 1700:CAPTION 1700,FORM_TEXT$(1700)                    :parent 1700,1000
' sub_menu 1800:CAPTION 1800,FORM_TEXT$(1800)                    :parent 1800,1000
' sub_menu 1900:CAPTION 1900,FORM_TEXT$(1900)                    :parent 1900,1000
' ******************************************************************************
Return
'
end
'
' ******************************************************************************
'
'
'
' *** Objekt anhängen **********************************************************
attacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd0100%,hnd0100%,1)
dll_off
' inactive 1 : active 2
return
'
' *** Objekt abhängen **********************************************************
detacher:
dll_on "LoadProgram.dll"
ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0)
dll_off
' active 1 : inactive 2
return
'
' ******************************************************************************

Que veux-tu améliorer ? J'ai juste "nettoyé" les variables ancien%.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Donner une couleur à un objet container - Page 2 Empty
MessageSujet: Re: Donner une couleur à un objet container   Donner une couleur à un objet container - Page 2 Empty

Revenir en haut Aller en bas
 
Donner une couleur à un objet container
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Couleur et objet TAB
» SCENE3D et CONTAINER
» Donner un nom aux objets, c'est possible ;)
» Container
» Au sujet de CONTAINER...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: