Forum: Object-Pascal / Delphi-Language
Delphi
by PeterPanino,
9. Mär 2016
So funktioniert es jetzt perfekt:
object Form1: TForm1
Left = 1846
Top = 421
Caption = 'Form1'
ClientHeight = 681
ClientWidth = 656
Color = clBtnFace
DoubleBuffered = True
Font.Charset = DEFAULT_CHARSET
Forum: Object-Pascal / Delphi-Language
Delphi
by PeterPanino,
9. Mär 2016
Ich habe jetzt folgendes versucht, aber es funktioniert leider auch nicht:
procedure TForm1.Delay(Milliseconds: Integer);
var
Tick: DWORD;
Event: THandle;
WindRect, OldRect: TRect;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWORD(Milliseconds);
Forum: Object-Pascal / Delphi-Language
Delphi
by PeterPanino,
9. Mär 2016
IsWindowVisible(FAppWnd) geht leider nicht, da es gleich True zurückgibt, ohne dass es fertig eingebettet ist:
if ShellExecuteEx(@SEInfo) then // wenn Programm erfolgreich gestartet wurde
begin
RetryCount := 0;
repeat
FAppWnd := FindWindow(PChar('HH Parent'), nil);
Sleep(100);
Inc(RetryCount);
until (FAppWnd <> 0) or (RetryCount > 10);
Forum: Object-Pascal / Delphi-Language
Delphi
by PeterPanino,
9. Mär 2016
Danke, Benjamin. Das funktioniert!
Noch eleganter wäre es allerdings, wenn die Delay-Schleife sofort verlassen würde, sobald das HH-Fenster fertig eingebettet ist. Denn zur Zeit ist die Zeit nur eine VERMUTUNG:
1000 ms: Funktioniert, das eingebettete HH-Fenster wird angezeigt.
500 ms: Das eingebettete HH-Fenster wird nicht angezeigt.
Könnte aber auf anderen Computern anders sein.
Forum: Object-Pascal / Delphi-Language
Delphi
by PeterPanino,
9. Mär 2016
Hallo und schönen Abend!
Ich verwende diesen Code, um den Windows CHM-Viewer in mein Programm einzubetten und eine CHM-Datei darin anzuzeigen:
Formular-Definition:
object Form1: TForm1
Left = 1838
Top = 468
Caption = 'Form1'
ClientHeight = 681