![]() |
Unschönes Perform (WM_NEXTDLGCTL,0,0) wenn edit dis-/enabled
Hallo,
in einem Formular befinden sich mehrere Edit's *1) bei denen mit Tab oder Enter zum nächsten Edit gesprungen werden soll. Abhängig von der EIngabe des aktiven Edit werden die Nachfolgenden enabled bzw disabled. Enable ich nun den Nachfolgenden und springe den mit Perform (WM_NEXTDLGCTL,0,0) an, verhält es sich genau umgekehrt er springt nicht zu dem Nachfolger sondern zu dem vorherigen Edit. Im Debugger werden die TabStop's und TabOrder korrekt angezeigt. Hat jemand eine Erklärung dafür oder gar eine Lösung? Vielen Dank fürs lesen *1) Tatsächlich handelt es sich um TCurrencyEdit aus der RxLib abgeleitet von TMAskEdit |
Re: Unschönes Perform (WM_NEXTDLGCTL,0,0) wenn edit dis-/ena
Ich benutze immer folgende Routine um Windows Kontrolls zu deaktivieren:
Delphi-Quellcode:
function EnableControl(hParent: THandle; ID: DWORD; Enable: Boolean): LongBool;
var hWnd : THandle; begin hWnd := GetFocus; // jump to next control if control to disable has the focus // otherwise we will get stuck and TAB won't work if hWnd = GetDlgItem(hParent, ID) then SendMessage(hParent, WM_NEXTDLGCTL, 0, 0); result := EnableWindow(GetDlgItem(hParent, ID), Enable); end; |
Re: Unschönes Perform (WM_NEXTDLGCTL,0,0) wenn edit dis-/ena
Hallo Luckie,
danke für den Tipp. Werde die funktion heute morgen mal einbauen und austesten. Zwar sehe ich auf anhieb keinen zusammenhang mit dem Problem aber man wiess ja nie ;-) Ich hatt vermutet das Windows bei einem disable die TabOrder ändert und bei einem enable diese falsch reproduziert. Mal sehen wie es sich hier verhält. Danke für deine mühe und viele grüsse vt Zitat:
|
Re: Unschönes Perform (WM_NEXTDLGCTL,0,0) wenn edit dis-/ena
Nochmal an Luckie
tatsächlich hat es daran gelegen. Wer hätte das gedacht. recht herzlichen dank vt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz