|
Registriert seit: 4. Mär 2016 17 Beiträge |
#17
Zunächst vielen Dank für die vielen Vorschläge, ich habe versucht, alles auszuprobieren (mit aktuellen Treibern) - leider ohne Erfolg. Zunächst nochmal das Problem in Videoform, vielleicht wird es dann deutlicher:
![]() Die Aufnahmen sind stark verlangsamt, um den Aufbau deutlich erkennen zu können. In Echtzeit ist es in dieser Testunit nur zu erkennen, wenn man drauf achtet, aber mit der eigentlichen Applikationslogik im Hintergrund und zusätzlichen Styles wird das Problem sehr deutlich sichtbar. Die Methoden scheinen sich nicht signifikant zu unterscheiden und der eigentliche Bildaufbau ist immer ein Vorgang, der sich sichtbar über den Bildschirm bewegt. Ist es überhaupt möglich, dies zu verhindern? Der Code(habe leider keine Spoilertags gefunden):
Delphi-Quellcode:
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.ExtCtrls; type TForm1 = class(TForm) BitBtn42: TBitBtn; Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; BitBtn5: TBitBtn; BitBtn6: TBitBtn; BitBtn7: TBitBtn; BitBtn8: TBitBtn; BitBtn9: TBitBtn; BitBtn10: TBitBtn; BitBtn11: TBitBtn; BitBtn12: TBitBtn; BitBtn13: TBitBtn; BitBtn14: TBitBtn; BitBtn15: TBitBtn; BitBtn16: TBitBtn; BitBtn17: TBitBtn; BitBtn18: TBitBtn; BitBtn19: TBitBtn; BitBtn20: TBitBtn; BitBtn21: TBitBtn; BitBtn22: TBitBtn; BitBtn23: TBitBtn; BitBtn24: TBitBtn; BitBtn25: TBitBtn; BitBtn26: TBitBtn; BitBtn27: TBitBtn; BitBtn28: TBitBtn; BitBtn29: TBitBtn; BitBtn30: TBitBtn; BitBtn31: TBitBtn; BitBtn32: TBitBtn; BitBtn33: TBitBtn; BitBtn34: TBitBtn; BitBtn35: TBitBtn; BitBtn36: TBitBtn; BitBtn37: TBitBtn; BitBtn38: TBitBtn; BitBtn39: TBitBtn; BitBtn40: TBitBtn; BitBtn41: TBitBtn; BitBtn43: TBitBtn; BitBtn44: TBitBtn; BitBtn45: TBitBtn; BitBtn46: TBitBtn; procedure BitBtn42Click(Sender: TObject); procedure BitBtn44Click(Sender: TObject); procedure BitBtn45Click(Sender: TObject); procedure BitBtn46Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BitBtn42Click(Sender: TObject); var I : Integer; handle : HWND; begin handle := BeginDeferWindowPos(1); DeferWindowPos(handle,Panel1.Handle,HWND_TOP,0,0,640,480,$0001); EndDeferWindowPos(handle); end; procedure TForm1.BitBtn44Click(Sender: TObject); begin Panel1.Left := 640; end; procedure TForm1.BitBtn45Click(Sender: TObject); begin Panel1.Left := 0; end; procedure TForm1.BitBtn46Click(Sender: TObject); begin SendMessage(Panel1.Handle, WM_SETREDRAW, 0, 0); try Panel1.Left:= Form1.Width + 1; // Sollte natürlich das Formular sein auf dem das Panel liegt. Panel1.Top:=0; Panel1.Visible:=True; Panel1.Left:= 0; finally SendMessage(Panel1.Handle, WM_SETREDRAW, 1, 0); RedrawWindow(Panel1.Handle, nil, 0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN); end; end; end.
Delphi-Quellcode:
object Form1: TForm1
Left = 0 Top = 0 BorderStyle = bsNone Caption = 'Form1' ClientHeight = 480 ClientWidth = 640 Color = clBtnFace DoubleBuffered = True Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Scaled = False PixelsPerInch = 96 TextHeight = 13 object BitBtn42: TBitBtn Left = 8 Top = 228 Width = 97 Height = 25 Caption = 'DeferWindowsPos' TabOrder = 0 OnClick = BitBtn42Click end object Panel1: TPanel Left = 640 Top = 0 Width = 640 Height = 480 Caption = 'Panel1' FullRepaint = False TabOrder = 1 object BitBtn1: TBitBtn Left = 16 Top = 16 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 0 end object BitBtn2: TBitBtn Left = 16 Top = 47 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 1 end object BitBtn3: TBitBtn Left = 16 Top = 78 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 2 end object BitBtn4: TBitBtn Left = 16 Top = 109 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 3 end object BitBtn5: TBitBtn Left = 16 Top = 140 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 4 end object BitBtn6: TBitBtn Left = 16 Top = 171 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 5 end object BitBtn7: TBitBtn Left = 16 Top = 202 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 6 end object BitBtn8: TBitBtn Left = 16 Top = 233 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 7 end object BitBtn9: TBitBtn Left = 16 Top = 264 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 8 end object BitBtn10: TBitBtn Left = 16 Top = 295 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 9 end object BitBtn11: TBitBtn Left = 16 Top = 326 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 10 end object BitBtn12: TBitBtn Left = 16 Top = 357 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 11 end object BitBtn13: TBitBtn Left = 16 Top = 388 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 12 end object BitBtn14: TBitBtn Left = 16 Top = 419 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 13 end object BitBtn15: TBitBtn Left = 224 Top = 16 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 14 end object BitBtn16: TBitBtn Left = 224 Top = 295 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 15 end object BitBtn17: TBitBtn Left = 224 Top = 326 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 16 end object BitBtn18: TBitBtn Left = 224 Top = 357 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 17 end object BitBtn19: TBitBtn Left = 224 Top = 388 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 18 end object BitBtn20: TBitBtn Left = 224 Top = 419 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 19 end object BitBtn21: TBitBtn Left = 224 Top = 47 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 20 end object BitBtn22: TBitBtn Left = 224 Top = 78 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 21 end object BitBtn23: TBitBtn Left = 224 Top = 109 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 22 end object BitBtn24: TBitBtn Left = 224 Top = 140 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 23 end object BitBtn25: TBitBtn Left = 224 Top = 171 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 24 end object BitBtn26: TBitBtn Left = 224 Top = 202 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 25 end object BitBtn27: TBitBtn Left = 224 Top = 233 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 26 end object BitBtn28: TBitBtn Left = 224 Top = 264 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 27 end object BitBtn29: TBitBtn Left = 440 Top = 16 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 28 end object BitBtn30: TBitBtn Left = 440 Top = 295 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 29 end object BitBtn31: TBitBtn Left = 440 Top = 326 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 30 end object BitBtn32: TBitBtn Left = 440 Top = 357 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 31 end object BitBtn33: TBitBtn Left = 440 Top = 388 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 32 end object BitBtn34: TBitBtn Left = 440 Top = 419 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 33 end object BitBtn35: TBitBtn Left = 440 Top = 47 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 34 end object BitBtn36: TBitBtn Left = 440 Top = 78 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 35 end object BitBtn37: TBitBtn Left = 440 Top = 109 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 36 end object BitBtn38: TBitBtn Left = 440 Top = 140 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 37 end object BitBtn39: TBitBtn Left = 440 Top = 171 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 38 end object BitBtn40: TBitBtn Left = 440 Top = 202 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 39 end object BitBtn41: TBitBtn Left = 440 Top = 233 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 40 end object BitBtn43: TBitBtn Left = 440 Top = 264 Width = 177 Height = 25 Caption = 'BitBtn1' TabOrder = 41 end object BitBtn44: TBitBtn Left = 224 Top = 450 Width = 177 Height = 25 Caption = 'Panel ausblenden' TabOrder = 42 OnClick = BitBtn44Click end end object BitBtn45: TBitBtn Left = 128 Top = 228 Width = 75 Height = 25 Caption = 'Left:=0' TabOrder = 2 OnClick = BitBtn45Click end object BitBtn46: TBitBtn Left = 232 Top = 228 Width = 75 Height = 25 Caption = 'SendMessage' TabOrder = 3 OnClick = BitBtn46Click end end |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |