Okay, das kann sein, dass es so in Windows 8 ist.
Naja, ein Hide hilft hierbei, diesen unschönen Effekt
zu eliminieren.
PureBasic 5.20 beta 5 is out
Re: PureBasic 5.20 beta 5 is out
@Falko:
Ich habe hier momentan Windows 7 x64 zur Verfügung (mit PB 5.20 beta 5).
Hier wird Notepad schon aufgerufen, bevor ich "E" (oder sonst eine Taste) gedrückt habe.
Das heißt auch: Es wird dauernd immer wieder aufgerufen.
Ich glaube, Du verwendest GetAsyncKeyState_() nicht ganz richtig.
Folgendes funktioniert hier einwandfrei:
Ich habe hier momentan Windows 7 x64 zur Verfügung (mit PB 5.20 beta 5).
Hier wird Notepad schon aufgerufen, bevor ich "E" (oder sonst eine Taste) gedrückt habe.
Das heißt auch: Es wird dauernd immer wieder aufgerufen.
Ich glaube, Du verwendest GetAsyncKeyState_() nicht ganz richtig.
Folgendes funktioniert hier einwandfrei:
Code: Alles auswählen
Macro IsAsyncKeyDown (_VK_)
Bool((GetAsyncKeyState_(_VK_) & $8000) = $8000)
EndMacro
If OpenWindow(0, 0, 0, 300, 300, "2DDrawing Beispiel", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateImage(0, 300, 300) And StartDrawing(ImageOutput(0))
Box(0, 0, 300, 300, RGB(255, 255, 255))
Circle(150, 150, 125 ,$00FF00)
Circle(150, 150, 120 ,$FF0000)
LineXY(30, 150, 270, 150, $FFFFFF)
FillArea(150, 155, -1, $0000FF) ; Ersetze -1 durch $00FF00, und vergleiche das Ergebnis
StopDrawing()
ImageGadget(0, 0, 0, 300, 300, ImageID(0))
EndIf
Repeat
Event = WaitWindowEvent()
If IsAsyncKeyDown(#VK_E)
RunProgram("NotePad.exe","","",#PB_Program_Wait)
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
Re: PureBasic 5.20 beta 5 is out
Hallo Nino,
Du hast Recht, dass ich das nicht richtig angewendet habe. Aber ich habe
diesen Codeschnipsel nur als Beispiel hier zeigen wollen, das beim Aufruf
von Runprogramm mit diesem parameter in Win8 und Win98 Unterschiede
bezüglich des Repaint von Windows sind. In meinem eigenen Programm rufe ich das Runprogramm
per Menü und Mausklick auf, wollte aber hier nicht den großen Code reinstellen .
Trotzdem Danke für die Richtigstellung
Gruß,
Falko
Du hast Recht, dass ich das nicht richtig angewendet habe. Aber ich habe
diesen Codeschnipsel nur als Beispiel hier zeigen wollen, das beim Aufruf
von Runprogramm mit diesem parameter in Win8 und Win98 Unterschiede
bezüglich des Repaint von Windows sind. In meinem eigenen Programm rufe ich das Runprogramm
per Menü und Mausklick auf, wollte aber hier nicht den großen Code reinstellen .
Trotzdem Danke für die Richtigstellung
Gruß,
Falko