ERLEDIGT: wie kann man den Tabular Rahmen setzen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

ERLEDIGT: wie kann man den Tabular Rahmen setzen?

Beitrag von silbersurfer »

Hallo Leute,
bin auf der suche nach einer möglichkeit den Tabulatortab-Rahmen im Vorfeld zu setzen,
wenn man z.B. mit der Tab-Taste durch die Gadgets wechselt wird ja immer das Gadget angezeigt welches gerade angewählt wird.
Habe leider in dieser Richtung nichts finden können, würde genau diesen Rahmen der angezeigt wird im Voraus sichtbar machen, wenn das überhaupt geht ?

Bin über jede Idee dankbar

Gruß Silbersurfer
Zuletzt geändert von silbersurfer am 17.01.2019 10:49, insgesamt 1-mal geändert.
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: wie kann man den Tabular Rahmen setzen?

Beitrag von STARGÅTE »

Das kannst du mit BildSetActiveGadget() machen:

Code: Alles auswählen

Enumeration
	#Window
	#Gadget1
	#Gadget2
	#Gadget3
EndEnumeration

OpenWindow(#Window, 0, 0, 800, 450, "Vector Canvas Gadget", #PB_Window_MaximizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
ButtonGadget(#Gadget1, 20, 20, 200, 30, "non-active Gadget")
ButtonGadget(#Gadget2, 20, 60, 200, 30, "active Gadget")
ButtonGadget(#Gadget3, 20, 100, 200, 30, "non-active Gadget")

SetActiveGadget(#Gadget2)

Repeat
	
	Select WaitWindowEvent()
		
		Case #PB_Event_CloseWindow
			Break
		
	EndSelect
	
ForEver

End
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

Re: wie kann man den Tabular Rahmen setzen?

Beitrag von silbersurfer »

Hallo STARGÅTE,
Das kannst du mit SetActiveGadget() machen:
das dachte ich mir auch, nur leider wird der Rahmen unter Windows 10 bei mir nicht angezeigt :cry:

Bild
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: wie kann man den Tabular Rahmen setzen?

Beitrag von ccode_new »

würde genau diesen Rahmen der angezeigt wird im Voraus sichtbar machen
Waaasssss ?

Du hast ja Wünsche. :mrgreen:

Dann zeichne dir doch auf das Fenster (oder dem darunterliegenden "Container") einen Rahmen um das jeweilige Gadget.

Oder hab ich jetzt etwas falsch verstanden ?

Wenn es im Vorfeld sein soll nützt dir "SetActiveGadget()" nicht direkt etwas.
Du musst genau die Reihenfolge kennen.

Dann kannst du ja schon im Vorfeld um das nächste Gadget einen Rahmen pinseln.

Oder bin ich jetzt verwirrt ?
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: wie kann man den Tabular Rahmen setzen?

Beitrag von STARGÅTE »

silbersurfer hat geschrieben:das dachte ich mir auch, nur leider wird der Rahmen unter Windows 10 bei mir nicht angezeigt.
Das passiert unter Windows 7 auch manchmal.
Scheinbar darf das Fenster seinen Fokus nicht verlieren, sonst ist der Rahmen nicht sichtbar.
Edit: Und die Maus darf beim Start nicht im fenster sein :?
Edit2: Wenn ich mit F5 kompiliere gehts.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

Re: wie kann man den Tabular Rahmen setzen?

Beitrag von silbersurfer »

Hallo ccode_new,
Oder bin ich jetzt verwirrt ?
ich denke ja :wink: , eigendlich sollte SetGadgetActive(Gadget) genau das machen, sobald ich Moderne Themen ausschalte funtz es auch wie gewollt.
gibt es vieleicht eine Api Altanative zu SetGadgetActive ?
in etwa wie dieser SendMessage_(GadgetID(#Gadget2), #BM_SETSTYLE, #BS_HOLLOW, #True)

Hallo STARGÅTE,
Edit2: Wenn ich mit F5 kompiliere gehts.
dann gehts bei mir auch, das ist ja was
leider gehts bei meinen laufenden Programm ebenso nicht
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: wie kann man den Tabular Rahmen setzen?

Beitrag von NicTheQuick »

Versuch mal vor das SetActiveGadgte() noch diese Zeile zu packen:

Code: Alles auswählen

While WindowEvent(): Wend
Ich habe kein Windows um das zu testen, aber vielleicht müssen erst alle Events verarbeitet werden, bevor man das Gadget aktiv setzen kann. Das ist zumindest meine Idee dahinter.
Bild
Benutzeravatar
silbersurfer
Beiträge: 174
Registriert: 06.07.2014 12:21

Re: wie kann man den Tabular Rahmen setzen?

Beitrag von silbersurfer »

Versuch mal vor das SetActiveGadgte() noch diese Zeile zu packen:
leider nicht NicTheQuick :cry:
Edit: was komisch ist sobald ich die Tabtaste benutze, kann man den Rahmen sehen
Edit: es geht hier um mein Error Request !
Bild

Edit: habe etwas gefunden, jetzt gehts danke Leute
viewtopic.php?f=6&t=16614&p=275248&hili ... us#p275248
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
Antworten