
28.12.2016, 02:59
|
|
Новичок
Регистрация: 05.12.2016
Сообщений: 2
С нами:
4966293
Репутация:
3
|
|
Есть диалог 2-ого стиля(LIST), нужно после его закрытия вывести номер последней выделенной строки. Но если диалог был закрыт с помощью ESC ничего не выводить.
C++:
Код:
if
(
SF
->
getGame
(
)
->
isKeyPressed
(
VK_NUMPAD0
)
)
{
char
buf2
[
128
]
;
char
buf1
[
]
=
"Test"
;
sprintf
(
buf2
,
"[%d]\n[%d]\n[%d]\n[%d]\n[%d]"
,
0
,
1
,
2
,
3
,
4
)
;
SF
->
getSAMP
(
)
->
getDialog
(
)
->
ShowDialog
(
1
,
2
,
buf1
,
buf2
,
"Enter"
,
""
)
;
dialogWasActive
=
1
;
}
if
(
SF
->
getGame
(
)
->
isKeyPressed
(
VK_ESCAPE
)
)
{
dialogWasActive
=
0
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"esc"
)
;
}
if
(
!
(
SF
->
getSAMP
(
)
->
getDialog
(
)
->
iIsActive
)
&
(
dialogWasActive
==
1
)
)
{
int
item
=
SF
->
getSAMP
(
)
->
getDialog
(
)
->
ListBoxGetIndex
(
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
0
,
0xAA
,
0
)
,
"item = %d"
,
item
)
;
dialogWasActive
=
0
;
}
Вроде всё правильно, но isKeyPressed(VK_ESCAPE) не работает в диалоге.
|
|
|