vom DOS-Fenerst ins Windows Fenster + Logging
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Sieh Dir in der Hilfe mal das RunProgram-Beispiel an.
Erstellste ein Fenster mit EditorGadget, sowie Start- und Stop-Button
Bei start, startest die console, sichtbar oder auch nicht, bei stop machste sie
zu
Mit ReadProgramString() liest Du die Ausgaben der Console (egal ob
sichtbar oder nicht) und schreibste ins EditorGadget.
Gruß
Thomas
Erstellste ein Fenster mit EditorGadget, sowie Start- und Stop-Button
Bei start, startest die console, sichtbar oder auch nicht, bei stop machste sie
zu

Mit ReadProgramString() liest Du die Ausgaben der Console (egal ob
sichtbar oder nicht) und schreibste ins EditorGadget.
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Danke,
das sieht schonmal so aus.

So sieht mein Code aus:
[/img]
1. Wie kann ich das Fenster in das fenster im Hintergrund einbetten?
2. Beim "eingebetteten" Fenster soll das X (Schließen) entfernt werden - es soll nur im Menü (über starten und beenden) geöffnet bzw geschlossen werden..
Vielen Dank schonmal für eure Hilfe...
das sieht schonmal so aus.

So sieht mein Code aus:
[/img]
Code: Alles auswählen
WinMain_ID = OpenWindow(#PB_Any, #Null_X, #Null_Y, #WindowWidth, #WindowHeight, #Program_Title, #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
If WinMain_ID
If CreateMenu(0, WindowID(WinMain_ID))
MenuTitle("Datei")
MenuItem( 1, "&Schnittstelle starten")
MenuItem( 2, "Schnittstelle beenden")
MenuBar()
MenuItem( 9, "&Beenden")
MenuTitle("Optionen")
MenuItem( 3, "INI-Datei bearbeiten")
MenuBar()
MenuItem(7, "Log-Datei öffnen")
MenuTitle("?")
MenuItem(11, "About")
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenu() ; To see which menu has been selected
Case 11 ; About
MessageRequester("Version", "Version 0.1", 0)
Case 9 ; Beenden
Quit = 1
Case 1 ; Schnittstelle starten
If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
EditorGadget(0, 8, 8, 306, 133)
AddGadgetItem(0, a, "Hallo Welt!")
EndIf
Case 3 ; Ini Datei öffnen
RunProgram(#Ini_Datei)
Case 7 ; Log Datei öffnen
RunProgram(#Log_Datei)
Default
MessageRequester("Info", "MenuItem: "+Str(EventMenu()), 0)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
1. Wie kann ich das Fenster in das fenster im Hintergrund einbetten?
2. Beim "eingebetteten" Fenster soll das X (Schließen) entfernt werden - es soll nur im Menü (über starten und beenden) geöffnet bzw geschlossen werden..
Vielen Dank schonmal für eure Hilfe...
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Wie meinst du das???Kaeru Gaman hat geschrieben:also, ich würde da nicht noch ein fenster öffnen, wenn du keins haben willst...
wieso machst du das EditorGadget nicht von Anfang an auf?
und im Hauptfenster ganz normal?
Soll ich dies hier:
Code: Alles auswählen
WinMain_ID = OpenWindow(#PB_Any, #Null_X, #Null_Y, #WindowWidth, #WindowHeight, #Program_Title, #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
K, das mein'ich:
Code: Alles auswählen
WinMain_ID = OpenWindow(#PB_Any, 0,#PB_Ignore, 600, 400, "BlaTest")
If WinMain_ID
If CreateMenu(0, WindowID(WinMain_ID))
MenuTitle("Datei")
MenuItem( 1, "&Schnittstelle starten")
MenuItem( 2, "Schnittstelle beenden")
MenuBar()
MenuItem( 9, "&Beenden")
MenuTitle("Optionen")
MenuItem( 3, "INI-Datei bearbeiten")
MenuBar()
MenuItem(7, "Log-Datei öffnen")
MenuTitle("?")
MenuItem(11, "About")
;*********************************************
;** Gadget ins Hauptfenster
EditorGadget(0, 24, 24, 306, 133)
;*********************************************
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenu() ; To see which menu has been selected
Case 11 ; About
MessageRequester("Version", "Version 0.1", 0)
Case 9 ; Beenden
Quit = 1
Case 1 ; Schnittstelle starten
;*********************************************
;** Hier nur Ausgabe
AddGadgetItem(0, a, "Hallo Welt!")
;*********************************************
Case 3 ; Ini Datei öffnen
Debug "RunProgram(#Ini_Datei)"
Case 7 ; Log Datei öffnen
Debug "RunProgram(#Log_Datei)"
Default
MessageRequester("Info", "MenuItem: "+Str(EventMenu()), 0)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
Und noch nen Tipp! Du möchtest nicht alles in nen Procedure-Aufruf ersetzen? Und jederzeit schnell switchen können zwischen Console und Fenster? Ersetze einfach temporär die PB-Funktionen durch deine eigenen mit Makros...
Sollte alles erklären...
Gruss
PMTheQuick
Code: Alles auswählen
#Windowed = #True
CompilerIf #Windowed = #True
Macro OpenConsole
OpenConsoleNew
EndMacro
Macro PrintN
PrintNNew
EndMacro
Macro Input
InputNew
EndMacro
Macro CloseConsole
CloseConsoleNew
EndMacro
Procedure OpenConsoleNew()
Debug "Hier kannst du ein Konsolenfenster öffnen oder initalisieren. (Editor-Gadget erstellen oder was weiss ich..."
EndProcedure
Procedure PrintNNew(String$)
Debug "Hier den Code zur Ausgabe ins Edit-Gadget eintippen"
EndProcedure
Procedure inputnew()
Debug "Hier den Code für die Input-Funktion"
EndProcedure
Procedure CloseConsoleNew()
Debug "Hier den Code fürs schliessen der Konsole"
EndProcedure
CompilerEndIf
OpenConsole() ; Ruft OpenConsoleNew() auf
PrintN("Hallo") ; Ruft PrintNNew("Hallo") auf
Input()
; ...
Gruss
PMTheQuick

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
> "ERROR There is no current Gadget List"
Woher sollen wir Wissen, das ein neuer eine alte Version nutzt und wieso
macht er das?
PureBasic Updaten, wir schreiben die Phase 4.30, und dann noch mal testen.
Woher sollen wir Wissen, das ein neuer eine alte Version nutzt und wieso
macht er das?
PureBasic Updaten, wir schreiben die Phase 4.30, und dann noch mal testen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
