Ein Fenster 'locken'

Für allgemeine Fragen zur Programmierung mit PureBasic.
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Ein Fenster 'locken'

Beitrag von Leo »

Ich suche eine API Funktion, um ein Fenster zu 'locken' also ich will das Hauptfenster 'locken', während ich in einem 2. Fenster etwas mache
Benutzeravatar
FGK
Beiträge: 249
Registriert: 09.01.2005 14:02
Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit
Wohnort: Augsburg

Beitrag von FGK »

Hi Leo,

könntest du das "locken" etwas mehr beschreiben - was für ein verhalten sollte das andere Fenster dabei zeigen?
Ne genaue Beschreibung ist eigentlich immer das allerwichtigste um Missverständnisse auf ein erträgliches Maß zu reduzieren *ggg

Gruß

FGK
Benutzeravatar
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

Beitrag von ts-soft »

Um ein Fenster zu "locken" öffnet man das zweite Fenster Programm-Modal. Dies ist in PB bisher aber nicht vorgesehen, so das Du entweder per API ein modales Dialogfenster erstellst, was nicht ganz einfach ist, oder Du deaktivierst alle Gadgets deines Hauptfensters, was am einfachsten ist
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.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

LOKEN

Beitrag von Hroudtwolf »

Du musst nur das 2.Fenster als Procedure aufrufen.
Es sollte über eine eigene Ereignissschleife verfügen und es sollte per
activatewindow() obengeahlten werden.
Währenddessen kann man keine Eingaben oder Clicks im HF machen.
Benutzeravatar
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

Beitrag von ts-soft »

@Hroudtwolf
Und wie soll das Hauptfenster neugezeichnet werden ?
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.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Neuzeichnen

Beitrag von Hroudtwolf »

@TS-Soft



Man nehme an das Hauptfenster hat die Nummer 1.

Code: Alles auswählen

UpdateWindow_(Usewindow(1))
Benutzeravatar
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

Beitrag von ts-soft »

Dann darf er aber kein WaitWindowsEvent benutzen, sondern muß WindowsEvent benutzen, was ich bei Anwendungen vermeide!
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.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

@TS-Soft

Du meinst das bestimmt wegen den resourcen !?!?

Code: Alles auswählen

Repeat
eventid.l=windowevent()

select eventid
case #pb_event_closewindow
raus=1
endselect
updatewindow_(usewindow(1))
delay(10); Spart Prozessorarbeit
until raus=1
end 

Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Hab ich im Chat mal gefragt, ist, wenn ich dich richtig verstanden habe, genau das was du suchst:

Code: Alles auswählen

EnableWindow_(WindowID(window),0)
Probiers einfach mal aus!
Redraw u.s.w. funzt, nur user-eingaben werden nicht akzeptiert.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

Joa danke Bluejoke das ist was ich gesucht habe... :)
Antworten