Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 22.10.2007, 13:24 Titel: ein windows aufmachen und darin ein freebasic-screen |
|
|
ein windows aufmachen und darin ein freebasic-screen unterbringen, worin man dann die freebasic-befehle :draw, line, put , circle usw benutzen kann.
kann da einer mal den grundriss zeigen.
danke.
mfg |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 22.10.2007, 14:00 Titel: |
|
|
Code: | screen 20
'hier malen |
_________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 22.10.2007, 14:19 Titel: |
|
|
@atari:
Das geht nicht.
Du müsstest dafür nämlich ZWEI FBGFX Screens aufmachen, und das geht einfach nicht.
Denn du brauchst die Adresse vom WndProc von einem fbGFX Screen, und müsstest dann mit SetClassLong() das WndProc setzten. _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Neo187

Anmeldungsdatum: 26.12.2005 Beiträge: 350 Wohnort: Oldenburg
|
Verfasst am: 22.10.2007, 14:24 Titel: |
|
|
csde_rats hat Folgendes geschrieben: | @atari:
Das geht nicht.
Du müsstest dafür nämlich ZWEI FBGFX Screens aufmachen, und das geht einfach nicht.
Denn du brauchst die Adresse vom WndProc von einem fbGFX Screen, und müsstest dann mit SetClassLong() das WndProc setzten. | moin,
was hat diese komplett überdrehte Erklärung damit zu tun, dass man einfach mit SCREEN x ein Windows-Fenster + eingebauten FB-Screen öffnen kann?
MfG,
Neo187 _________________
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 22.10.2007, 14:33 Titel: |
|
|
Neo187 hat Folgendes geschrieben: | csde_rats hat Folgendes geschrieben: | @atari:
Das geht nicht.
Du müsstest dafür nämlich ZWEI FBGFX Screens aufmachen, und das geht einfach nicht.
Denn du brauchst die Adresse vom WndProc von einem fbGFX Screen, und müsstest dann mit SetClassLong() das WndProc setzten. | moin,
was hat diese komplett überdrehte Erklärung damit zu tun, dass man einfach mit SCREEN x ein Windows-Fenster + eingebauten FB-Screen öffnen kann?
MfG,
Neo187 |
Ich habe ihn so verstanden, dass er per CreateWindow() ein Fenster erstellen möchte, und dieses Fenster dann "sozusagen" zu einem FB Screen machen möchte.
Ach, obwohl, eigentlich müsste das gehen:
- Screen initialisieren (z.B. Screen 1)
- Einen bestimmten Fenstertitel setzten (z.B. WindowTitle("1234567890"))
- Fenster Handle mittels FindWindow(NULL, StrPtr("1234567890")) besorgen
- Adresse vom WndProc mittels GetClassLong(hWin, GCL_WNDPROC) besorgen
- fbGFX Screen schließen (z.B. Screen 0 oder DestroyWindow(hWin))
- Mittels CreateWindow() und einer zuvor registrierten Default Window Class ein Fenster öffnen
- Unter WM_CREATE des Fensters per SetClassLong(hWnd, GCL_WNDPROC, WNDPROC_ADDRESSE) das fbGFX Wnd Proc einsetzten
- Hoffen das es funktioniert
(@Neo187: Was ist daran überdreht!?)
(Ich gehe mal davon aus, dass atari weiß, wie man einen Screen aufmacht ) _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 22.10.2007, 21:30 Titel: |
|
|
Zitat: |
Ich habe ihn so verstanden, dass er per CreateWindow() ein Fenster erstellen möchte, und dieses Fenster dann "sozusagen" zu einem FB Screen machen möchte.
|
so ist es.
ich möchte dann im fenster links einpaar buttons unterbringen und rechts soll sich der screen von freebasic befinden.
mfg |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 22.10.2007, 21:35 Titel: |
|
|
Hm.
Dann mach's wie oben, nur lasse dein eigenes WndProc drin, reagiere nur auf WM_CREATE und WM_COMMAND, und leite die auch noch (+alle anderen) an das fbGFX WndProc weiter.
Ansonsten könntest du auch ein Fenster aufmachen, dass sich selbst so an das fbGFX Fenster "anhaftet"
(GetWindowPos oder so ähnlich heißt da eine nütztliche Funktion, um eine Fensterpostiton zu ermitteln).
Nat. mit entsprechenden Flags, dass es so aussieht, als würde es "zum" fbGFX Fenster gehören.
Dann müsstest du noch per BitBlt die Titelleiste von dem fbGFX Fenster "verlängern",
und den Rahmen vom fbGFX Fenster auch per BitBlt entsprechend manipulieren.
Damit es auch gut aussieht, müsstest du dann noch die Hintergrundfarben angleichen.
Die Höhe vom "Nebenfenster" müsste dann mit der Höhe der Client-Area vom fbGFX Fenster übereinstimmen, es darf natürlich auch keine "eigene" Titelleiste haben, das musst du alles über die entsprechenden GDI-Funktionen nachbilden.
Das ganze ist also eine Menge Aufwand, allerdings ist dass dann natürlich auch ein sehr guter Effekt! _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 24.10.2007, 17:22 Titel: |
|
|
weiss einer eine lösung mit fbedit. dann kann man doch irgendwie windowsfenster erstellen , oder?
mfg |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 24.10.2007, 18:04 Titel: |
|
|
Nein, es gibt keine "mal eben machen"-Lösung fpr dieses Problem.
FBEdit hat einen integrierten Dialog-Editor, und ist eben kein "WAPI WYSWIG Alleskönner-allesmacher".
Wenns nur um "Tool" Buttons geht, mach ein Fenster auf, und pack da die Buttons rein.
Oder selbermalen. _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 26.10.2007, 11:47 Titel: |
|
|
was anderes :
wie kann man denn ein opeglfenster in einem freebsicscreen so unterbringen, das es evtl oben links 1/4 vom screen besetzt und der andere screen mit normalen basicbefehlen belegt werden kann?
mfg |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 26.10.2007, 12:03 Titel: |
|
|
hatten wir schonmal... das geht nicht (oder nur schwer), weil das ganz fenster ein handle besitzt... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 26.10.2007, 12:15 Titel: |
|
|
jup, danke.
mfg |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 26.10.2007, 13:18 Titel: |
|
|
Jojo hat Folgendes geschrieben: | hatten wir schonmal... das geht nicht (oder nur schwer), weil das ganz fenster ein handle besitzt... |
...und weil die GFXLib immer nur einen Screen zulässt.
Allerdings liegt in /examples/GL/fbgl was recht nütztliches zur Umstellung. _________________ If hilfreicher_Beitrag then klick(location.here)
Klick |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 26.10.2007, 14:14 Titel: |
|
|
wenn man nur ein fenster geöffnet hat, hat man auch nur einen screen oO _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 26.10.2007, 20:29 Titel: |
|
|
Zitat: |
Allerdings liegt in /examples/GL/fbgl was recht nütztliches zur Umstellung.
|
das ist eigentlich nur ein normales opengl-fenster , wo durch die openglbefehle linien usw erstellt werden.
mfg |
|
Nach oben |
|
 |
|