إعداد إينو:التقاط أحداث التحكم في صفحة المعالج
-
02-07-2019 - |
سؤال
في صفحة المعالج التي يحددها المستخدم، هل هناك طريقة لالتقاط التغيير أو التركيز على أحداث عناصر التحكم؟أرغب في تقديم تعليقات فورية حول إدخال المستخدم في بعض القوائم المنسدلة (على سبيل المثال:صندوق الرسائل)
المحلول
استغرق الأمر مني بعض الوقت لحل هذه المشكلة، ولكن بعد توجيهي في الاتجاه الصحيح بواسطة Otherside، حصلت عليها أخيرًا (تعمل مع الإصدار 5.2):
[Code]
var
MyCustomPage : TWizardPage;
procedure MyEditField_OnChange(Sender: TObject);
begin
MsgBox('TEST', mbError, MB_OK);
end;
function MyCustomPage_Create(PreviousPageId: Integer): Integer;
var
MyEditField: TEdit;
begin
MyCustomPage := CreateCustomPage(PreviousPageId, 'Caption', 'Description');
MyEditField := TEdit.Create(MyCustomPage);
MyEditField.OnChange := @MyEditField_OnChange;
end;
نصائح أخرى
نظرًا لأن البرمجة النصية في innosetup تعتمد بشكل فضفاض على دلفي، فيجب أن تحتوي عناصر التحكم على بعض الأحداث مثل OnEnter
(= السيطرة حصلت على التركيز) و OnExit
(= فقدان السيطرة على التركيز).يمكنك تعيين إجراءات لهذه الأحداث، شيء من هذا القبيل:ComboBox.OnExit := ComboBoxExit;
procedure ComboBoxExit(Sender: TObject);
begin
end;
ليس لدي إمكانية الوصول إلى Innosetup في الوقت الحالي، لذا ستحتاج إلى البحث عن الأحداث والمعلمات المتاحة للإجراءات.