![]() |
Problem mit Umlauten als Accelerator
Ich habe seit kurzen eine Anwendung auf Delphi7 (von D5) umgestellt und bekam jetzt von einem Anwender gesagt das gewisse Kurztasten nicht mehr funktionieren betroffen sind Buttons wo die Caption "&Ändern" oder "Übergabe" (&Ö ebenso) nicht funktioniert. Wie ich in CMDialogChar festgestellt habe wird ein falscher Charcode gesendet statt 142 228.
Ist das schon jemanden aufgefallen und ist es lösbar ? Mfg. Frank Klose |
Re: Problem mit Umlauten als Accelerator
Das mit dem Charcode habe ich falsch interpretiert da der Code noch wieder gewandelt wird ist diese Übergabe Ok das Problem taucht später auf in der Funktion IsAccel:
Delphi-Quellcode:
So funktioniert es wieder:
function IsAccel(VK: Word; const Str: string): Boolean;
begin Result := CompareText(Char(VK), GetHotKey(Str)) = 0; end;
Delphi-Quellcode:
Jetzt während ich das schreibe und versuche der Sache auf den Grund zu gehen durch diverse Test und Vergleiche habe ich des Rätsels Lösung.
function IsAccel(VK: Word; const Str: string): Boolean;
begin Result := CompareText(AnsiUpperCase(Char(VK)), AnsiUpperCase(GetHotKey(Str))) = 0; end; Ich Nase hat vor 2,5 Jahren bereits die Forms.Pas entsprechend gepatcht und daran hatte ich offensichtlich nicht mehr gedacht. Davon abgesehen verstehe ich die Beschreibung von CompareText nicht müsste Umlaute richtig erkannt werden oder nicht ? Grüße Frank Klose |
Re: Problem mit Umlauten als Accelerator
Nimm doch gleich AnsiCompareText. ist das gleiche!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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