![]() |
brauche hilfe mit CMDialogChar
Liste der Anhänge anzeigen (Anzahl: 1)
habe mal wieder ein kleines problem, ich arbeite an einer Checkbox(CustomControl)
und ich komme an IsAccel in CMDialogChar nicht vorbei und ich weiß nicht woran es liegen kann. wenn ich die funktion IsAccel() wechlasse funktioniert alles zumindest wenn ich den fokus mit der maus setze:wink:
Delphi-Quellcode:
procedure TjbAdvCheckBox.CMDialogChar(var Message: TCMDialogChar);
begin if Focused then SetChecked(not FChecked); end; die untere variable funktioniert nicht, und ich habe die selbe funktion bei der TMS Instrumentation Workshop und VrBitmapCheckBox getestet mit dem selben ergebnis. während bei der standard TCheckBox oder TRzCheckBox alles korrekt funktioniert.
Delphi-Quellcode:
procedure TjbAdvCheckBox.MouseDown(Button : TMouseButton; Shift : TShiftState; X, Y : Integer);
begin if Button <> mbLeft then exit else begin if not Enabled then exit; SetFocus; FFocus := True; if (Button = mbLeft) and PtInRect(FBoxRec, Point(X, Y)) then begin FMouseState:= msMouseDown; end; end; Invalidate; end; procedure TjbAdvCheckBox.MouseUp(Button : TMouseButton; Shift : TShiftState; X, Y : Integer); begin if (Button = mbLeft) and PtInRect(FBoxRec, Point(X, Y)) then begin SetChecked(not FChecked); FMouseState := msMouseUp; end; end; procedure TjbAdvCheckBox.MouseMove(Shift : TShiftState; X, Y : Integer); begin if PtInRect(FBoxRec, Point(X, Y)) then begin FMouseMoving:= True; FMousePos:= mpMouseIn; Invalidate; end else begin FMouseMoving:= False; FMousePos:= mpMouseOut; Invalidate; end; end; // procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR; procedure TjbAdvCheckBox.CMDialogChar(var Message: TCMDialogChar); begin with Message do if IsAccel(CharCode, Caption) then begin SetFocus; if Focused then SetChecked(not FChecked); Result := 1; end else inherited; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 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