AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Event für Hilfe-Button im TPrintDialog?

Ein Thema von PeterPanino · begonnen am 31. Aug 2007 · letzter Beitrag vom 31. Aug 2007
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#1

Event für Hilfe-Button im TPrintDialog?

  Alt 31. Aug 2007, 00:16
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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

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

  Alt 31. Aug 2007, 05:37
Aber du kannst einen Hilfekontext setzen?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#3

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

  Alt 31. Aug 2007, 07:56
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.
Angehängte Dateien
Dateityp: zip tprintdialog_185.zip (5,6 KB, 2x aufgerufen)
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#4

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

  Alt 31. Aug 2007, 08:57
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.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#5

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

  Alt 31. Aug 2007, 09:23
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?
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

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

  Alt 31. Aug 2007, 14:02
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.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es 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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz