![]() |
Button mit speziellen Eigenschaften gesucht
Hi DP' ler,
ich suche einen Button, der a) ein BitButton ist(mit Canvas) b) nicht bloss OnClick, sondern auch OnKeyDown, OnKeypressed, OnExit kennt c) VK_Up und VK_Down im OnKeyDown Ereignis auswerten lässt. hat wer da einen Tipp? mfg BrunoT |
Re: Button mit speziellen Eigenschaften gesucht
Wenns was kosten darf:
![]() |
Re: Button mit speziellen Eigenschaften gesucht
Das ist doch eigentlich kein Problem, sowas selber zu schreiben.
Einfach die WindowMessages abfangen und für die gedrückten Tasten die Parameter anschauen ;) Ich setz mich mal ran, vielleicht bring ich was zusammen *gg* //edit: Ich seh grade, TBitBtn erfüllt doch alle Anforderungen? :-| Theoretisch müsste auch das mit VK_UP und so gehen, denn die anderen virtuellen Tastencodes funktionieren ja :-? |
Re: Button mit speziellen Eigenschaften gesucht
Hi,
danke für die schnellen Antworten, a) nein, kosten darf´s nichts. b) der BitBtn zeigt die Ereignisse VK_UP und VK_Down im OnKeypressed- Ereignis nicht an :wall: sondern springt gleich zum nächsten oder vorhergehenden Control. mfg BrunoT |
Re: Button mit speziellen Eigenschaften gesucht
So nun hab ich mich einmal daran gewagt, das in eine neue Komponente zu packen:
Delphi-Quellcode:
aber diese macht das auch nicht wie ich will(VK_UP,VK_DOWN) werden vorher abgefangen. :wall: :wall: :wall:
unit UExtraButton;
interface uses SysUtils, Classes, Controls, StdCtrls, Buttons, windows; type TExtraButton = class(TBitBtn) private { Private-Deklarationen } protected { Protected-Deklarationen } public procedure KeyDown(var Key: Word; Shift: TShiftState); override; constructor create(AOwner: TComponent); override; { Public-Deklarationen } published { Published-Deklarationen } end; procedure Register; implementation procedure TExtraButton.KeyDown(var Key: Word; Shift: TShiftState); begin if not (key in [Vk_UP,VK_Down]) then inherited KeyDown(key, Shift); end; constructor TExtraButton.create(AOwner: TComponent); begin inherited create(AOwner); end; procedure Register; begin RegisterComponents('Zusätzlich', [TExtraButton]); end; end. mfg BrunoT wer kann helfen? |
Re: Button mit speziellen Eigenschaften gesucht
Moin Holger,
schau Dir mal die Threads an in denen ![]() Du wirst dem Button "mitteilen" müssen, dass bestimmte Tasten verarbeitet werden sollen. |
Re: Button mit speziellen Eigenschaften gesucht
Danke Christian, ich wusste, dass ich mich auf die DP verlassen kann! :bouncing4: :bounce1: :bouncing4:
für alle, die das Problem auch haben:
Delphi-Quellcode:
mfg
unit UExtraButton;
interface uses SysUtils, Classes, Controls, StdCtrls, Buttons,Forms, windows,Messages; type TExtraButton = class(TButton) private procedure FWMGETDLGCODE(var Msg : TWMGetDlgCode); message wm_GetDlgCode; { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } published { Published-Deklarationen } end; procedure Register; implementation procedure TExtraButton.FWMGETDLGCODE(var Msg : TWMGetDlgCode); begin inherited; Msg.Result := Msg.Result or DLGC_WANTARROWS; end; procedure Register; begin RegisterComponents('Zusätzlich', [TExtraButton]); end; end. BrunoT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 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