Что нового

как получить сообщение в виде элемента ToolTip если не выбрано значение из списка ComboBox?

gideon

Новичок
Сообщения
20
Репутация
0
Всем привет,можете подсказать как сделать подобную идею, за ранее благодарен!
если не выбрано значение combobox при нажатии кнопки то выпадало сообщение ToolTip(к примеру с сообщением "выберите значение из выпадающего списка" ) и на этом останавливалось выполнение скрипта пока не будет выбран элемент и что бы окно GUI не закрывалось

Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 189, 173, 939, 521)
$Combo1 = GUICtrlCreateCombo("", 16, 24, 145, 25)
$Button1 = GUICtrlCreateButton("Button1", 56, 104, 75, 25)

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $Button1
          GUICtrlSetData($Combo1, "1|2|3|4")
          MsgBox(0, '',GUICtrlRead($Combo1))
          Sleep(1500)
          Exit
    EndSwitch
WEnd
 

ra4o

AutoIT Гуру
Сообщения
1,164
Репутация
244
Так ?
Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 189, 173, 939, 521)
$Combo1 = GUICtrlCreateCombo("", 16, 24, 145, 25)
GUICtrlSetData($Combo1, "1|2|3|4")
$Button1 = GUICtrlCreateButton("Button1", 56, 104, 75, 25)

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            If GUICtrlRead($Combo1) Then
                ToolTip('')
                MsgBox(0, '', GUICtrlRead($Combo1))
                Sleep(1500)
                Exit
            Else
               $aPos=WinGetPos($Form1)
               ToolTip('выберите значение из выпадающего списка',$aPos[0]+16,$aPos[1]+25)            
            EndIf

    EndSwitch
WEnd
 
Последнее редактирование:
Автор
G

gideon

Новичок
Сообщения
20
Репутация
0
Так ?
Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 189, 173, 939, 521)
$Combo1 = GUICtrlCreateCombo("", 16, 24, 145, 25)
GUICtrlSetData($Combo1, "1|2|3|4")
$Button1 = GUICtrlCreateButton("Button1", 56, 104, 75, 25)

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            If GUICtrlRead($Combo1) Then
                ToolTip('')
                MsgBox(0, '', GUICtrlRead($Combo1))
                Sleep(1500)
                Exit
            Else
                ToolTip('выберите значение из выпадающего списка')
            EndIf

    EndSwitch
WEnd
да,почти то что я и представлял),только что бы ToolTip выпадал на combobox не на кнопке
 

ra4o

AutoIT Гуру
Сообщения
1,164
Репутация
244
Может так ?
Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiComboBox.au3>

$Form1 = GUICreate("Form1", 189, 173, 939, 521)
$Combo1 = GUICtrlCreateCombo("", 16, 24, 145, 25)
GUICtrlSetData($Combo1, "1|2|3|4")
$Button1 = GUICtrlCreateButton("Button1", 56, 104, 75, 25)

GUISetState(@SW_SHOW)

$aPos=WinGetPos($Form1)
$TextCombo=''
ToolTip('выберите значение из выпадающего списка',$aPos[0]+16,$aPos[1]+25)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            If _GUICtrlComboBox_GetEditText($Combo1) Then
                MsgBox(0, '', GUICtrlRead($Combo1))
                Sleep(1500)
                Exit
            EndIf
    EndSwitch

    if  _GUICtrlComboBox_GetEditText($Combo1)<> $TextCombo Then
        $TextCombo=_GUICtrlComboBox_GetEditText($Combo1)
        $aPos=WinGetPos($Form1)
        If $TextCombo Then
            ToolTip('')
        Else
            ToolTip('выберите значение из выпадающего списка',$aPos[0]+16,$aPos[1]+25)
        EndIf
    EndIf

WEnd

Или , Вы имели в виду так, как в первом ответе, только координаты ToolTip изменить ? Тогда поправил выше.
 
Последнее редактирование:
Автор
G

gideon

Новичок
Сообщения
20
Репутация
0
Может так ?
Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiComboBox.au3>

$Form1 = GUICreate("Form1", 189, 173, 939, 521)
$Combo1 = GUICtrlCreateCombo("", 16, 24, 145, 25)
GUICtrlSetData($Combo1, "1|2|3|4")
$Button1 = GUICtrlCreateButton("Button1", 56, 104, 75, 25)

GUISetState(@SW_SHOW)

$aPos=WinGetPos($Form1)
$TextCombo=''
ToolTip('выберите значение из выпадающего списка',$aPos[0]+16,$aPos[1]+25)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            If _GUICtrlComboBox_GetEditText($Combo1) Then
                MsgBox(0, '', GUICtrlRead($Combo1))
                Sleep(1500)
                Exit
            EndIf
    EndSwitch

    if  _GUICtrlComboBox_GetEditText($Combo1)<> $TextCombo Then
        $TextCombo=_GUICtrlComboBox_GetEditText($Combo1)
        $aPos=WinGetPos($Form1)
        If $TextCombo Then
            ToolTip('')
        Else
            ToolTip('выберите значение из выпадающего списка',$aPos[0]+16,$aPos[1]+25)
        EndIf
    EndIf

WEnd

Или , Вы имели в виду так, как в первом ответе, только координаты ToolTip изменить ? Тогда поправил выше.
да то что нужно спасибо)
 
Верх