Hallo zusammen!
Ich bin hier einigermassen ratlos:
Ich möchte bei einer Änderung des mit TUpDown verbundenen Wertes eine Abfrage starten. Dazu habe ich einen MessageDlg in das Ereignis OnChangingEx gesteckt. Der wird auch ordnungsgemäß aufgerufen. Sobald das passiert ist, fängt der UpDown die Maus, es wird immer einer der beiden Buttons betätigt und es bleibt einem nur noch der Taskmanager zum töten des ganzen.
Warum passiert das? Und wie kann man das unterbinden? Mit SetCaptureControl kann man jedenfalls nichts ausrichten. Interessant ist auch, das GetCaptureControl eine Zugriffsverleztung nach sich zieht.
Noch ein wenig code dabei:
<PRE>
type
TForm1 = class(TForm)
m_Test: TEdit;
m_UpDown: TUpDown;
procedure m_UpDownChangingEx(Sender: TObject; var AllowChange: Boolean;
NewValue: Smallint; Direction: TUpDownDirection);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.m_UpDownChangingEx(Sender: TObject;
var AllowChange: Boolean; NewValue: Smallint;
Direction: TUpDownDirection);
begin
MessageDlg('Die Maus gehört mir!', mtconfirmation, [mbyes, mbno], 0);
end;
</PRE>
Irgendwelche Ideen?
Grüße
Julia
Ich bin hier einigermassen ratlos:
Ich möchte bei einer Änderung des mit TUpDown verbundenen Wertes eine Abfrage starten. Dazu habe ich einen MessageDlg in das Ereignis OnChangingEx gesteckt. Der wird auch ordnungsgemäß aufgerufen. Sobald das passiert ist, fängt der UpDown die Maus, es wird immer einer der beiden Buttons betätigt und es bleibt einem nur noch der Taskmanager zum töten des ganzen.
Warum passiert das? Und wie kann man das unterbinden? Mit SetCaptureControl kann man jedenfalls nichts ausrichten. Interessant ist auch, das GetCaptureControl eine Zugriffsverleztung nach sich zieht.
Noch ein wenig code dabei:
<PRE>
type
TForm1 = class(TForm)
m_Test: TEdit;
m_UpDown: TUpDown;
procedure m_UpDownChangingEx(Sender: TObject; var AllowChange: Boolean;
NewValue: Smallint; Direction: TUpDownDirection);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.m_UpDownChangingEx(Sender: TObject;
var AllowChange: Boolean; NewValue: Smallint;
Direction: TUpDownDirection);
begin
MessageDlg('Die Maus gehört mir!', mtconfirmation, [mbyes, mbno], 0);
end;
</PRE>
Irgendwelche Ideen?
Grüße
Julia
Comment