إعداد إينو:التقاط أحداث التحكم في صفحة المعالج

StackOverflow https://stackoverflow.com/questions/139358

  •  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 في الوقت الحالي، لذا ستحتاج إلى البحث عن الأحداث والمعلمات المتاحة للإجراءات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top