Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Donner une couleur à un objet container | |
| | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Donner une couleur à un objet container Jeu 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.
| |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Jeu 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
| |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Jeu 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" | |
| | | Invité Invité
| Sujet: Re: Donner une couleur à un objet container Jeu 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. |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Jeu 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
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Donner une couleur à un objet container Jeu 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,HN=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)-150Jetzt 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,HN=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)-150Maintenant, 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 | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Jeu 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 | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Donner une couleur à un objet container Jeu 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 | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Donner une couleur à un objet container Ven 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 ? | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Donner une couleur à un objet container Ven 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 | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Donner une couleur à un objet container Ven 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+ | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Ven 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! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Donner une couleur à un objet container Ven 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. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Donner une couleur à un objet container Sam 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
| |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Dim 1 Avr 2012 - 14:45 | |
| Genial, genau das ist ist es !!!!!!!!!!!!!!!!!!!! Danke Klaus Severin Grande, c'est exactement ça!!!!!!!!!!!!!!!!! Merci Klaus Severin - 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 | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Sam 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 ' ' ****************************************************************************** | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Donner une couleur à un objet container Sam 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 ! | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: Donner une couleur à un objet container Sam 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 ' ' ****************************************************************************** | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Donner une couleur à un objet container Sam 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%. | |
| | | Contenu sponsorisé
| Sujet: Re: Donner une couleur à un objet container | |
| |
| | | | Donner une couleur à un objet container | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |