كيفية الحصول على النصوص في ListBox باستخدام Autoit

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

  •  02-10-2019
  •  | 
  •  

سؤال

انا استخدم تلقائي لإنشاء تطبيق التثبيت التلقائي. يوجد مربع حوار يحتوي على عنصر تحكم في قائمة القائمة ، وفي صندوق القائمة هناك بعض الخيارات للمستخدم (يعتمد الخيارات التفصيلية على جهاز المستخدم. بالنسبة لبعض المستخدمين ، ربما يكون هناك خيار واحد فقط ، لبعض المستخدمين قد يكون هناك ثلاثة خيارات ، إلخ) ، لذلك أريد الحصول على النصوص في صندوق القائمة لاتخاذ القرار. لقد جربت الرمز التالي ، لكنه لم ينجح.

; 2223 is the ID of listbox

$txt = ControlGetText("Select Web Site", "", "[ID:2223]")
Msgbox(0, "", $txt)

بعد التنفيذ $txt باطل.

إذن ما الذي يجب علي فعله للحصول على النصوص في Listbox؟

فيما يلي سمة قائمة المراقبة بواسطة معلومات نافذة V3 Autoit V3:

Class: WindowsForms10.Listbox.app.0.33c0d9d
هل كانت مفيدة؟

المحلول 4

ما أريد القيام به هو تحديد أحد العناصر المسمى "موقع الويب الافتراضي" في القائمة ، ولكن يبدو أنه لا يمكن الحصول على محتوى القائمة ، لذلك جربت أخيرًا طريقة أخرى:

في البداية ، أجعل قائمة القائمة مركزة ، ثم اخترت العنصر "موقع الويب الافتراضي" عن طريق إرسال "def":

ControlFocus($Title, "", "[NAME:lbWebSites]")
; Select the option "Default Web Site", so press "def" to set the desired item.
Send("Def")

نصائح أخرى

لقد وجدت أمر "إرسال" غير موثوق به في بعض الأحيان ، خاصةً إذا كان الكمبيوتر قفلًا.

لقد عملت "Controlsend" دائمًا على الحصول على ضغطات المفاتيح حيث أريدها.

كتبت اختبارًا للتحقق لمعرفة ما إذا كان عنصر ما في مربع التحرير والسرد. قد تكون هناك وظائف مماثلة لصناديق القائمة باستخدام guicombobox.au3.

Func DoesItemExistInComboBox($windowtitle, $windowtext, $comboboxcontrol, $itemtocheck)
    $returnvalue = 0
    $ComboBoxHandle = ControlGetHandle($windowtitle, $windowtext, $comboboxcontrol)
    $ComboBoxArray = _GUICtrlComboBox_GetListArray($ComboBoxHandle)
    For $i = 0 TO UBound($ComboBoxArray)-1
        If $ComboBoxArray[$i] = $itemtocheck Then
           $returnvalue = 1
        EndIf
    Next
    return $returnvalue
EndFunc

ماذا عن:

ControlCommand("My GUI", "", "[CLASS:ListBox; INSTANCE:1]", "SelectString", "item2")
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top