![]() |
DXinput in neuer Form ansteuern
Hallo,
habe ein kleines programm aus (bis jetzt) drei formen (jeweils eigene units).ich wechsle von form 2 auf form 3
Delphi-Quellcode:
und versuche dann in form3 über dxinput die tastatur anzusteuern, um bilder auf dxdraw malen zu lassen. allerdings geht das nicht (die maus ansteuern geht schon). hab den code in einem programm mit nur einer form getestet und dort ging er! auch wenn ich beim wesel von form2 auf drei setfocus.form3 verwende funktioniert es nicht.
procedure TForm2.startClick(Sender: TObject);
begin Form3.ShowModal; Close; end;
Delphi-Quellcode:
eigenartig ist auch, dass trotz des close befehls fenster2 noch immer offen ist. vermue ja, dass er die tatsturbefehle dm vorherigen oder dem ersten fenster zurechnet, aber wie kann ich das verändern?
procedure TForm3.FormKeyPress(Sender: TObject; var Key: Char);
begin if Form3.DXInput2.Keyboard.Keys[Key_B]=true then begin Form3.DXImageList2.Items[0].Draw(DXdraw2.Surface,0,0,0); DXdraw2.Restore; end; if Form3.DXInput2.Keyboard.Keys[Key_N]=true then begin Form3.DXImageList2.Items[1].Draw(DXdraw2.Surface,0,0,0); DXdraw2.Restore; end; end; danke |
Re: DXinput in neuer Form ansteuern
habs schon selbst über den timer und dxinput1.update gelöst. den wechsel von Form 2 auf 3 mach ich nach wie vor mit showmodal
Delphi-Quellcode:
procedure TForm3.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin dxinput2.Keyboard.Update; if dxinput2.Keyboard.Keys[Key_B]=true then begin dximagelist2.Items[0].Draw(DXDraw2.Surface, 0, 0, 0); dxdraw2.Flip; end; if dxinput2.Keyboard.Keys[Key_N]=true then begin dximagelist2.Items[1].Draw(DXDraw2.Surface, 0, 0, 0); dxdraw2.Flip; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz