Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Event für Hilfe-Button im TPrintDialog? (https://www.delphipraxis.net/98710-event-fuer-hilfe-button-im-tprintdialog.html)

PeterPanino 31. Aug 2007 00:16


Event für Hilfe-Button im TPrintDialog?
 
Hallo, ich habe jetzt lange gesucht, aber keine Lösung für dieses Problem gefunden:

TPrintDialog bietet mit der Eigenschaft Options->poHelp die Möglichkeit, einen Hilfe-Button im PrintDialog anzuzeigen. Leider gibt es in TPrintDialog aber offensichtlich kein Event, mit dem man den Klick auf diesen Hilfe-Button abfragen kann.

Wer weiß eine Lösung?

mkinzler 31. Aug 2007 05:37

Re: Event für Hilfe-Button im TPrintDialog?
 
Aber du kannst einen Hilfekontext setzen?

bitsetter 31. Aug 2007 07:56

Re: Event für Hilfe-Button im TPrintDialog?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

eine Möglichkeit wäre mittels Subclassing den Klick auf den Hilfe- Button abzufangen. Ob das mit jeder Window- Version funktioniert kann ich allerdings auch nicht sagen. Die angehängte Demo wurde getestet unter Windows XP.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TPrintDialog = class(Dialogs.TPrintDialog)
  protected
    procedure WndProc(var Message: TMessage); override;
  end;

type
  TForm1 = class(TForm)
    PrintDialog1: TPrintDialog;
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
  PrintDialog1.Execute
end;

procedure TPrintDialog.WndProc(var Message: TMessage);
begin
  with Message do
    if (Msg = WM_Command) and (WParamHi = BN_CLICKED) and (WParamLo = 1038) then
      Showmessage('Klick');

  inherited WndProc(Message);
end;

end.

PeterPanino 31. Aug 2007 08:57

Re: Event für Hilfe-Button im TPrintDialog?
 
Zitat:

Zitat von mkinzler
Aber du kannst einen Hilfekontext setzen?

Ja, schon, aber das funktioniert dann nur mit der F1-Taste, nicht bei Klick auf den Hilfe-Button.

PeterPanino 31. Aug 2007 09:23

Re: Event für Hilfe-Button im TPrintDialog?
 
Zitat:

Zitat von bitsetter
Hallo,

eine Möglichkeit wäre mittels Subclassing den Klick auf den Hilfe- Button abzufangen. Ob das mit jeder Window- Version funktioniert kann ich allerdings auch nicht sagen. Die angehängte Demo wurde getestet unter Windows XP.

Vielen Dank, das funktioniert (auch in Windows Vista)!!!

Gibt es eigentlich irgendwo ein systematisches und ausführliches Tutorial über die Windowsnachrichten-Verarbeitung, mit der Auflistung aller Nachrichten, und vielen Tricks, wie man die abfängt oder mit ihnen arbeitet?

bitsetter 31. Aug 2007 14:02

Re: Event für Hilfe-Button im TPrintDialog?
 
Zitat:

Zitat von PeterPanino

Gibt es eigentlich irgendwo ein systematisches und ausführliches Tutorial über die Windowsnachrichten-Verarbeitung, mit der Auflistung aller Nachrichten, und vielen Tricks, wie man die abfängt oder mit ihnen arbeitet?

Dazu hatte ich mal kurz in Luckie seine Win32API_Tutorials reingeschaut.

Der Code funktioniert auch unter Windows 98, ich hatte zum Testen gerade einen Drucker installiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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